aboutsummaryrefslogtreecommitdiffstats
path: root/erts
AgeCommit message (Collapse)Author
2015-05-08Merge branch 'sverk/erts-fp-exception-fixes/OTP-12717'Sverker Eriksson
* sverk/erts-fp-exception-fixes/OTP-12717: erts: Disable float exceptions for clang/llvm erts: Increase buffer in erts_fp_check_init_error
2015-05-08Merge branch 'rickard/timer-optimization/OTP-12650'Rickard Green
* rickard/timer-optimization/OTP-12650: Optimized timer implementation Reusable red-black tree implementation Conflicts: erts/emulator/beam/erl_bif_timer.c
2015-05-08Merge branch 'rickard/time-improvement/OTP-11997'Rickard Green
* rickard/time-improvement/OTP-11997: Allow execution of estone suite on pre OTP-18 systems Add parallel time monotonicity test-case Replace usage of erlang:now() in line-tracing Replace erlang:now() usage in emulator suite Replace erlang:now() usage in system suite Misc time improvements
2015-05-08Optimized timer implementationRickard Green
2015-05-08Merge branch 'richcarl/md5-fixes'Björn Gustavsson
* richcarl/md5-fixes: Set module_info md5 for native modules properly Add module_info entry for native code Gracefully handle empty md5 field in module_info Remove 'imports' key from spec of get_module_info()
2015-05-07Merge branch 'egil/fix-pos-zero-opt'Björn-Egil Dahlberg
* egil/fix-pos-zero-opt: erts: Don't let the compiler optimize pos. zero fix
2015-05-07Set module_info md5 for native modules properlyRichard Carlsson
Use the md5 of the native code chunk instead of the Beam code md5.
2015-05-07Add module_info entry for native codeRichard Carlsson
2015-05-07Gracefully handle empty md5 field in module_infoRichard Carlsson
2015-05-07Remove 'imports' key from spec of get_module_info()Richard Carlsson
2015-05-07Merge branch 'henrik/update-javaversion'Henrik Nord
* henrik/update-javaversion: update java version OTP-12715
2015-05-06Reusable red-black tree implementationRickard Green
2015-05-06Allow execution of estone suite on pre OTP-18 systemsRickard Green
2015-05-06Add parallel time monotonicity test-caseRickard Green
2015-05-06Replace erlang:now() usage in emulator suiteRickard Green
2015-05-06Replace erlang:now() usage in system suiteRickard Green
2015-05-06Misc time improvementsRickard Green
- Possibility to chose different clock sources - Improved mach clock usage - Improved linux clock_gettime() usage - ...
2015-05-06erts: Disable float exceptions for clang/llvmMikael Pettersson
Change erts/configure.in to force-disable FP exceptions if the VM is compiled by clang/llvm. clang/llvm generates FP code which does not work with FP exceptions (whether unmasked as used in the Erlang VM, or masked followed by tests of which are signalled). This is a known long-standing problem.
2015-05-06erts: Increase buffer in erts_fp_check_init_errorMikael Pettersson
The current size is too small for 64-bit machines, causing messages to be truncated and making debugging more difficult.
2015-05-06erts: Don't let the compiler optimize pos. zero fixBjörn-Egil Dahlberg
2015-05-06Merge branch 'sverk/hipe_match_wbin/OTP-12667'Sverker Eriksson
* sverk/hipe_match_wbin/OTP-12667: erts: Add debug assertions for match state sanity hipe: Add test for matching of writable binary erts,hipe: Optimize away calls to emasculate_binary erts,hipe: Fix bug in binary matching of writable binary Conflicts: erts/emulator/hipe/hipe_bif0.c
2015-05-06Merge branch 'maint'Zandra Hird
Conflicts: OTP_VERSION erts/vsn.mk lib/test_server/src/erl2html2.erl
2015-05-06Prepare releaseErlang/OTP
2015-05-05Merge branch 'egil/fix-tmp-alloc-fd-async/OTP-12710'Björn-Egil Dahlberg
* egil/fix-tmp-alloc-fd-async/OTP-12710: erts: Use a lockable allocator on 'sys_write_buf'
2015-05-05Merge branch 'joudinet/fix-ac-egrep-cpp-usage'Zandra Hird
* joudinet/fix-ac-egrep-cpp-usage: erts: Fix incorrect use of AC_EGREP_CPP OTP-12706
2015-05-04erts: Use a lockable allocator on 'sys_write_buf'Björn-Egil Dahlberg
sys_write_buf allocator type is used from async-threads and needs to be lockable. In the SMP case the temporary allocator is lockable but not in the Non-SMP case. To remedy this the binary-allocator is used for the Non-SMP case, which is lockable.
2015-05-04erts: Add debug assertions for match state sanitySverker Eriksson
2015-05-04Get the VTS mode working with private CT version of webtoolPeter Andersson
OTP-12704
2015-04-30emulator: Use module erl_annoHans Bolinder
2015-04-29erts: Fix incorrect use of AC_EGREP_CPPJohan Oudinet
Using 'AC_EGREP_CPP(yes' without restraining the pattern always return true if it runs from a path containing the string 'yes'.
2015-04-29Merge branch 'JeromeDeBretagne/fix_android_build'Zandra Hird
OTP-12693
2015-04-29Merge branch 'mikpe/hipe-unbreak-arity-4-bifs'Zandra Hird
* mikpe/hipe-unbreak-arity-4-bifs: erts/hipe: unbreak arity 4 BIFs
2015-04-28Merge branch 'egil/opt-instructions/OTP-12690'Björn-Egil Dahlberg
* egil/opt-instructions/OTP-12690: erts: Specialize minus and plus instruction erts: Add move2 specialization for common move patterns erts: Specialize rem instruction for common case erts: Specialize band instruction for common case erts: Batch loads and stores for move_window erts: Fix loader increment from minus instruction erts: Add move window instruction erts: Add instruction move3 for xy and xx erts: Specialize compare instructions kernel: Add instruction_count helper to erts_debug
2015-04-27Fix cross compilation for AndroidJérôme de Bretagne
2015-04-27Merge branch 'sverk/maximmai-pr640-autoconf/OTP-12646'Sverker Eriksson
* sverk/maximmai-pr640-autoconf/OTP-12646: Update config.guess and config.sub to latest versions
2015-04-27Merge branch 'vinoski/dirty-sched-wakeup'Zandra Hird
OTP-12685
2015-04-27erts: Specialize minus and plus instructionBjörn-Egil Dahlberg
Seen on SSL application where substraction with x registers were prevalent: * i_minus specialization on x registers * i_plus specialization on x registers
2015-04-27erts: Add move2 specialization for common move patternsBjörn-Egil Dahlberg
Common pattern seen in SSL: move y x | move r x -> move2 move r x | move y x -> move2 Common pattern seen in SSL and Compiler: move x r | move x x -> move2
2015-04-24Merge branch 'egil/core-on-heart-tmo/OTP-12613'Björn-Egil Dahlberg
* egil/core-on-heart-tmo/OTP-12613: kernel: Document heart environment HEART_KILL_SIGNAL erts: Enable different abort signal from heart
2015-04-24Merge branch 'egil/opt-float-cmp'Björn-Egil Dahlberg
* egil/opt-float-cmp: erts: Brute force float comparisons as well
2015-04-24erts: Specialize rem instruction for common caseBjörn-Egil Dahlberg
* i_rem specialization on x registers
2015-04-24erts: Specialize band instruction for common caseBjörn-Egil Dahlberg
* i_band specialization on x registers and constants
2015-04-23erts: Batch loads and stores for move_windowBjörn-Egil Dahlberg
May lessen load/store latency.
2015-04-23erts: Fix loader increment from minus instructionBjörn-Egil Dahlberg
A type error caused the optimization to never kick in.
2015-04-23erts: Add move window instructionBjörn-Egil Dahlberg
Move an entire region of x registers to the stack. This reduces the dispatch pressure of move instructions. Also introduce a move2 specialization for some common move patterns: move r y | move x y -> move2 : As above, moving regions to the stack move x r | move x y -> move2 : A seemingly common pattern
2015-04-23erts: Add instruction move3 for xy and xxBjörn-Egil Dahlberg
2015-04-23erts: Specialize compare instructionsBjörn-Egil Dahlberg
* i_is_lt for r, x registers and constants * i_is_ge for x registers and constants * i_is_exact_eq for r and x registers
2015-04-22erts/hipe: unbreak arity 4 BIFsMikael Pettersson
This fixes arity 4 BIF support in HiPE, following its introduction on master (OTP 18) via the nox/ets-update_counter-4 merge. - define standard_bif_interface_4, nbif_4_gc_after_bif, and nbif_4_simple_exception on ARM: unbreaks the build on ARM - remove bogus stack re-alignment from standard_bif_interface_4 on AMD64: for 4-arg BIFs the stack is already aligned, and the code would misalign the C stack which violates the ABI and may cause alignment faults in vectorized code - the nbif_4_simple_exception OPD name on PPC64 was incorrectly using the nbif_3_simple_exception OPD name: this would have caused a multiple definition error in the assembler or linker In addition there are a few cleanups: - fix standard_bif_interface_N comment on x86 - fix standard_bif_interface_4 comment on SPARC - separate nbif_N_simple_exception blocks by empty lines on PPC, like on ARM, to clearly show which things belong together - fix standard_bif_interface_N comment on ARM - fix standard_bif_interface_4 on AMD64 to match the indentation and spacing conventions of the rest of that file
2015-04-22Merge branch 'sverk/pr632/prevent-illegal-nif-terms/OTP-12655'Sverker Eriksson
* sverk/pr632/prevent-illegal-nif-terms/OTP-12655: erts: Reject non-finite float terms in erl_drv_output_term erts: Remove old docs about experimental NIF versions. erts: Add enif_has_pending_exception erts: Clearify erl_nif documentation about badarg exception erts: Fix compile warning in enif_make_double erts: Fix divide by zero compile error in nif_SUITE.c erts: Fix isfinite for windows Ensure NIF term creation disallows illegal values
2015-04-22erts: Brute force float comparisons as wellBjörn-Egil Dahlberg
Increases float comparison speed by ~120%