aboutsummaryrefslogtreecommitdiffstats
path: root/erts
AgeCommit message (Collapse)Author
2012-08-27make_preload: Don't fail if Perl's default file encoding is UTF-8Björn Gustavsson
Setting Perl's default encoding for files to UTF-8, for example like this: PERL_UNICODE=DS make would crash the build with a message similar to: form size 1413 greater than size 1237 of module at utils/make_preload line 175, <FILE> chunk 1. Tell Perl to interpret the data in BEAM files as binary by using the binmode() function. The binmode() function existed before Unicode support was added to Perl, which means that make_preload should work even in old versions of Perl. Noticed-by: Aaron Harnly
2012-08-20Merge branch 'pan/unicode_home/OTP-10160' into maintPatrik Nyblom
* pan/unicode_home/OTP-10160: Teach release_handler_SUITE about file:native_name_encoding/0 Add documetation about Unicode in environment Make get/putenv and erlexec understand Unicode
2012-08-20Merge branch 'pan/werl_caret/OTP-10181' into maintPatrik Nyblom
* pan/werl_caret/OTP-10181: Teach caret to appear correctly after focus loss
2012-08-20Merge branch 'slf/slf-relocate-dtrace-N-probes/OTP-10189' into maintFredrik Gustafsson
* slf/slf-relocate-dtrace-N-probes/OTP-10189: Relocate bodies of DTrace probes to the statically-linked VM.
2012-08-20Merge branch 'psi/fix-clever-mktime/OTP-10187' into maintFredrik Gustafsson
* psi/fix-clever-mktime/OTP-10187: Fix use of "clever" mktime
2012-08-20Merge branch 'pan/heart_and_times/OTP-10111' into maintPatrik Nyblom
* pan/heart_and_times/OTP-10111: Make heart use clock_gettime when available
2012-08-17Relocate bodies of DTrace probes to the statically-linked VM.Scott Lystig Fritchie
Due to various operating systems (in both the DTrace and SystemTap worlds) not fully supporting DTrace probes (or SystemTap-compatibility mode probes) in shared libraries, we relocate those probes to the statically-linked virtual machine. This could be seen as pollution of the pristine VM by a (yet) experimental feature. However: 1. This code can be eliminated completely by the C preprocessor. 2. Leaving the probes in the dyntrace NIF shared library simply does not work correctly on too many platforms. *Many* thanks to Macneil Shonle at Basho for assisting when my RSI-injured fingers gave out. Tested on: * CentOS 5, SystemTap 1.3 * Solaris 10 (note) * Solaris 11 * OpenIndiana 151 * SmartOS 20120809T221258Z * FreeBSD 9.0-RELEASE (note) I had hoped to be able to test CentOS 6 + SystemTap 1.7, but the details of dealing with all dependencies for a 2.6.32-279.5.1.el6.x86_64 kernel are too time consuming right now. (note: Solaris 10 and FreeBSD 9.0-RELEASE can take a long time to compile)
2012-08-15Merge branch 'sverk/ets-compressed-binary-bug/OTP-10182' into maintSverker Eriksson
* sverk/ets-compressed-binary-bug/OTP-10182: Fix corrupted binaries in compressed ETS tables Make ETS compile with #define DEBUG_CLONE
2012-08-14Teach caret to appear correctly after focus lossPatrik Nyblom
Incorrect window was used to calculate x position.
2012-08-14Add documetation about Unicode in environmentPatrik Nyblom
2012-08-14Make get/putenv and erlexec understand UnicodePatrik Nyblom
Putenv and getenv needs to convert to the proper environment strings in Unicode depending on platform and user settings for filename encoding. Also erlexec needs to pass environment strings in an appropriate way for kernel to pick up. All environment strings on the command line, as well as home directory, is now passed in UTF8 on windows and in whatever encoding you have on Unix, kernel tries to convert all parameters and environments from UTF8 before making strings.
2012-08-14Fix corrupted binaries in compressed ETS tablesSverker Eriksson
2012-08-14Make ETS compile with #define DEBUG_CLONESverker Eriksson
2012-08-13Merge branch 'mh/doc-now-vs-timestamp/OTP-10180' into maintFredrik Gustafsson
* mh/doc-now-vs-timestamp/OTP-10180: Doc fix: link from erlang:now/0 to os:timestamp/0
2012-08-07Update preloadedSiri Hansen
erl_prim_loader.beam
2012-08-07Fix flattening of paths in erl_prim_loaderSiri Hansen
When correcting OTP-10071, a new error was introduced in erl_prim_loader. In order to improve ability to detect if a file was inside the primary archive, all paths were flattened - i.e. "." and ".." were removed. This implementation had some faults, and it did not take symlinks into account. This has been corrected.
2012-08-01Fix use of "clever" mktimePiotr Sikora
Commit 1eef765 introduced regression (conditional _always_ evaluates to true) in which erlang:localtime_to_universaltime/2 stopped working on systems configured with timezone without DST (i.e. UTC) on *BSD platforms: 1> erlang:localtime_to_universaltime({{2012,1,1},{0,0,0}}, true). ** exception error: bad argument Signed-off-by: Piotr Sikora <[email protected]>
2012-07-31Merge branch 'rickard/cerl-emacs-gdb' into maintRickard Green
* rickard/cerl-emacs-gdb: Use annotate level 1 for 'gdb' with 'emacs' in 'cerl'
2012-07-31Merge branch 'rickard/proc-lock-queues/OTP-10163' into maintRickard Green
* rickard/proc-lock-queues/OTP-10163: Use static allocation of process lock queues
2012-07-31Merge branch 'rickard/dealloc/OTP-10162' into maintRickard Green
* rickard/dealloc/OTP-10162: Improve the enqueue operation of delayed dealloc Implement delayed aux work wake up
2012-07-31Use static allocation of process lock queuesRickard Green
By using statically allocated lock queues there is no longer any need for locking corresponding pix lock when process locks have been transferred after a wait. This costs us 3 words extra in process structure, but improves performance during contention.
2012-07-31Improve the enqueue operation of delayed deallocRickard Green
The enqueue operation have been re-written to behave better during heavy contention by spreading writes over multiple locations. This enqueue operation also take advantage of the delayed aux work wake up functionality and can by this omit one memory barrier.
2012-07-31Implement delayed aux work wake upRickard Green
By using a delayed aux work wake up approach, a memory barrier can be omitted in the delayed dealloc enqueue operation. The amount of operations, on the potentially contended, wake up structure is also reduced.
2012-07-27Use annotate level 1 for 'gdb' with 'emacs' in 'cerl'Rickard Green
2012-07-25Doc fix: link from erlang:now/0 to os:timestamp/0Magnus Henoch
Sometimes os:timestamp/0 is more appropriate than erlang:now/0. The documentation for the former has a link to the latter; this patch adds a link in the other direction to make os:timestamp/0 more visible.
2012-07-18Update preloadedHenrik Nord
2012-07-18Merge branch 'ta/prim_archive-reloading' into maintHenrik Nord
* ta/prim_archive-reloading: escript_SUITE: remove gratuitous space [erts,kernel,stdlib] fix escript/primary archive reloading Conflicts: erts/preloaded/src/erl_prim_loader.erl OTP-10151
2012-07-18Merge branch 'ms/correct-formating-in-exit' into maintHenrik Nord
* ms/correct-formating-in-exit: Correct formating in exit error messages OTP-10148
2012-07-16Merge branch 'hb/erl_docgen/cref_spaces/OTP-10138' into maintHans Bolinder
* hb/erl_docgen/cref_spaces/OTP-10138: erts: add space before '*' in some function prototypes ic: add space before '*' in some function prototypes Fix a bug regarding spaces in C function prototypes
2012-07-11erts: add space before '*' in some function prototypesHans Bolinder
2012-07-10Update preloadedSiri Hansen
erl_prim_loader.beam
2012-07-09Add comments to make erl_prim_loader primary archive handling more readableSiri Hansen
This commit introduces no functional change. It only adds comments and changes some function/variable names.
2012-07-09Fix erl_prim_loader errors in handling of primary archiveSiri Hansen
The following errors have been corrected: * If primary archive was named "xxx", then a file in the same directory named "xxxyyy" would be interpreted as a file named yyy inside the archive. * erl_prim_loader did not correctly create and normalize absolute paths for primary archive and files inside it, so unless given with exact same path files inside the archive would not be found. E.g. if escript was started as /full/path/to/xxx then "./xxx/file" would not be found since erl_prim_loader would try to match /full/path/to/xxx with /full/path/to/./xxx. Same problem with ../. * Depending on how the primary archive was built, erl_prim_loader:list_dir/1 would sometimes return an empty string inside the file list. This was a virtual element representing the top directory of the archive. This has been removed. Thanks to Tuncer Ayaz and Shunichi Shinohara for reporting and co-authoring corrections.
2012-07-06[erts,kernel,stdlib] fix escript/primary archive reloadingTuncer Ayaz
If the mtime of an escript/primary archive file changes after being added to the code path, correctly reload the archive and update the cache. The existing code didn't consider that it might be a zip archive and failed: =ERROR REPORT==== 3-Aug-2011::09:21:21 === File operation error: bad_central_directory. Target: /escript_archive/module.beam. Function: get_file. Process: code_server. Thanks David Reid and Hakan Mattson.
2012-07-06Merge branch 'sz/dtrace-message-send-fix' into maintHenrik Nord
* sz/dtrace-message-send-fix: DTrace bug in message-send OTP-10142
2012-07-04Merge branch 'sverk/hipe-arm-fix' into maintSverker Eriksson
* sverk/hipe-arm-fix: hipe_arm.c: remove dead code Workaround gcc bug affecting ARM debug build Fix compile error of HIPE enabled DEBUG emulator for ARM Fix hipe bif calling bug on ARM Add armv7l and armv5tejl as a recognized ARM architectures OTP-10137
2012-06-25hipe_arm.c: remove dead codeMikael Pettersson
erts/emulator/hipe/hipe_arm.c started out as a clone of hipe_ppc.c, with #ifdefs to select ARM-specific code. Somehow those #ifdefs never got cleaned out, resulting in fairly ugly-looking code. This eliminates the #ifdefs, deletes dead PowerPC-specific code, and keeps only the ARM-specific code. I've verified that the exact same assembly code is generated for hipe_arm.c before and after this patch (if you compile without -g, with -g there are unavoidable changes to the debug data). Signed-off-by: Mikael Pettersson <[email protected]>
2012-06-25Workaround gcc bug affecting ARM debug buildSverker Eriksson
2012-06-25Fix compile error of HIPE enabled DEBUG emulator for ARMSverker Eriksson
2012-06-25Fix hipe bif calling bug on ARMSverker Eriksson
Bug introduced in R15.
2012-06-25Add armv7l and armv5tejl as a recognized ARM architecturesSverker Eriksson
2012-06-20Merge branch 'rickard/thr-prgr-use/OTP-10116' into maintRickard Green
* rickard/thr-prgr-use/OTP-10116: Fix faulty use of thread progress in handle_aux_work()
2012-06-18Fix faulty use of thread progress in handle_aux_work()Rickard Green
As an optimization old thread progress data was kept and used in handle_aux_work() in erl_process.c. This could cause memory to be deallocated at a later time than intended, which is quite harmless. This has, however, now been fixed.
2012-06-13Make heart use clock_gettime when availablePatrik Nyblom
2012-06-08Merge branch 'lukas/otp/install_with_whitespace/OTP-10107' into maintLukas Larsson
* lukas/otp/install_with_whitespace/OTP-10107: Update to work with space in include path Update to work with whitespace in exec path
2012-06-05Update to work with whitespace in exec pathLukas Larsson
OTP-10106 OTP-10107
2012-06-04Merge branch 'bjorn/remove-hybrid-heap/OTP-10105' into maintLukas Larsson
* bjorn/remove-hybrid-heap/OTP-10105: Remove stale code for hybrid heap and incremental GC Remove the hipe_bifs:show_message_area/0 BIF Remove support for erlang:system_info(global_heaps_size) Remove the erlang:garbage_collect_message_area/0 BIF Remove workarounds for hybrid and shared heaps in test suites
2012-06-01Merge branch 'raimo/erts/win-install-redist-mixup/OTP-10096' into maintRaimo Niskanen
* raimo/erts/win-install-redist-mixup/OTP-10096: erts: Make 64-bit installer look for MS Redistributable in the right places
2012-06-01Merge branch 'lukas/test-cases' into maintLukas Larsson
* lukas/test-cases: Ignore calls to wx* modules if it is undefined Fix erl_interface testcases Update gccifier to respect -link option Extand timetrap for escript tests Fix compilation issues on windows and Ubuntu 12.04 Ignore common_test bootstrap
2012-06-01Ignore calls to wx* modules if it is undefinedLukas Larsson