aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator
AgeCommit message (Collapse)Author
2015-06-01Merge branch 'vinoski/enif-raise-exception/OTP-12770'Sverker Eriksson
* vinoski/enif-raise-exception/OTP-12770: Add enif_raise_exception Enhance enif_has_pending_exception Fix for enif_schedule_nif and exceptions Conflicts: erts/doc/src/erl_nif.xml
2015-06-01Merge branch 'sverk/nif-map-docs'Sverker Eriksson
* sverk/nif-map-docs: erts: Cleanup fsummary lines in erl_nif docs erts: Fix alphabetic order in erl_nif doc erts: Add docs for map functions in nif API erts: Rename ErlNifMapIteratorEntry enums
2015-05-29Merge branch 'legoscia/dialyzer/cache-hipe-binaries/OTP-12779'Björn Gustavsson
* legoscia/dialyzer/cache-hipe-binaries/OTP-12779: Dialyzer to cache results of HiPE compilation Change hipe_bifs:system_crc/1 to hipe_bifs:system_crc/0
2015-05-28Merge branch 'richcarl/warnings-by-default/OTP-12781'Björn-Egil Dahlberg
* richcarl/warnings-by-default/OTP-12781: stdlib: Use warning channel in test qlc_SUITE:otp_6964/1 stdlib: Fix testcase for qlc_SUITE kernel: Fix code_SUITE with respect to new logger default Map error logger warnings to warning messages by default
2015-05-27Change hipe_bifs:system_crc/1 to hipe_bifs:system_crc/0Magnus Henoch
The macro HIPE_SYSTEM_CRC used to contain a hidden cookie from the VM that generated hipe_literals.hrl. This means that BEAM files containing that macro would be tied to a particular version of the VM. Change hipe_bifs:system_crc such that it doesn't require a hidden cookie to return the desired value.
2015-05-27erts: Rename ErlNifMapIteratorEntry enumsSverker Eriksson
To differentiate between first/last map entry and head/tail which is before/after first/last map entry.
2015-05-26Add enif_raise_exceptionSteve Vinoski
Add enif_raise_exception function to allow NIFs to raise error exceptions holding any Erlang terms. This does not replace or deprecate the enif_make_badarg function, though, because raising badarg errors is so idiomatic in NIFs. Reimplement enif_make_badarg on top of enif_raise_exception. Add new tests for enif_raise_exception for both normal and dirty NIFs. Add documentation for enif_raise_exception.
2015-05-26Enhance enif_has_pending_exceptionSteve Vinoski
Sverker Eriksson came up with the following idea: to handle a future ability for NIFs to raise more than just badarg exceptions, modify the recently-added enif_has_pending_exception function to take a second argument: a pointer to ERL_NIF_TERM. If this argument is a null pointer, ignore it. Otherwise, if the first argument, an ErlNifEnv*, has an associated exception, set the pointed-to ERL_NIF_TERM of the second argument to the value of the exception term. Add new tests and documentation for this modification.
2015-05-26Fix for enif_schedule_nif and exceptionsSteve Vinoski
Fix a place where part of the implementation of enif_schedule_nif was not using the ErlNifEnv exception_thrown field when it should have been. Also make the result of enif_schedule_nif return false when passed to enif_is_exception, and add an assertion for this to the nif_SUITE.c tests.
2015-05-26Merge branch 'egil/cuddle-tests'Björn-Egil Dahlberg
* egil/cuddle-tests: erts: Relax monitor_SUITE:mixer/1 erts: Refactor monitor_SUITE:mixer/1 stdlib: Minor change of unicode_SUITE stdlib: Relax iterations in binary_module_SUITE:random_ref_sr_comp/1 Remove ?line macro in binary_module_SUITE:random_ref_sr_comp/1 stdlib: Relax iterations in binary_module_SUITE:random_ref_comp/1 stdlib: Remove ?line macro in binary_module_SUITE:random_ref_comp/1 stdlib: Relax filesize of io_proto_SUITE:unicode_options_gen/1 stdlib: Relax rand_SUITE timeout debugger: Relax test map_SUITE:t_guard_receive_large/1 tools: Relax lcnt test time stdlib: ets_SUITE cuddling
2015-05-26Merge branch 'jlouis/cocci-noderef-fixes'Henrik Nord
* jlouis/cocci-noderef-fixes: Correct usage of sizeof() for pointer types OTP-12771
2015-05-25erts: Relax monitor_SUITE:mixer/1Björn-Egil Dahlberg
2015-05-25erts: Refactor monitor_SUITE:mixer/1Björn-Egil Dahlberg
Remove ?line macro.
2015-05-25Merge branch 'vinoski/ds-timer-wheel-fix'Rickard Green
* vinoski/ds-timer-wheel-fix: Avoid timer wheel work in dirty schedulers
2015-05-25Merge branch 'rickard/timer-improvement/OTP-12650'Rickard Green
* rickard/timer-improvement/OTP-12650: Fix bug causing timeout to overwrite exit instruction Doc fixes
2015-05-25Merge branch 'rickard/fix_alloc_stat_fix/OTP-12766'Rickard Green
* rickard/fix_alloc_stat_fix/OTP-12766: Fix statistics reported about fix alloc types
2015-05-25Fix bug causing timeout to overwrite exit instructionRickard Green
2015-05-25Fix statistics reported about fix alloc typesRickard Green
2015-05-22Map error logger warnings to warning messages by defaultRichard Carlsson
Also fix and document the broken +We option.
2015-05-20Revert "Map error logger warnings to warning messages by default"Zandra Hird
This reverts commit 4c4d7fa40e5fb59854724ce74b8aa3546525cb90. This pr is causing some test failures that were missed at first.
2015-05-20Merge branch 'richcarl/warnings-by-default'Zandra Hird
* richcarl/warnings-by-default: Map error logger warnings to warning messages by default OTP-12755
2015-05-20Merge branch 'mikpe/erl_child_setup-android-breakage'Henrik Nord
* mikpe/erl_child_setup-android-breakage: erl_child_setup.c: fix Android breakage OTP-12751
2015-05-18Avoid timer wheel work in dirty schedulersSteve Vinoski
Dirty schedulers are limited in the type of work they can perform. Make sure they do not participate in any work or make any function calls related to timer wheels.
2015-05-18Map error logger warnings to warning messages by defaultRichard Carlsson
Also fix and document the broken +We option.
2015-05-12Correct usage of sizeof() for pointer typesJesper Louis Andersen
Given some pointer *x, calling sizeof(x) will give us the size of the pointer (4/8 bytes) not the size fo the underlying dereferenced structure. Use coccinelle to search for these occurrences in the source code, and correct them one by one. In the case of erl_node_tables.c, the erts_snprintf() calls used a much too small buffer. - run_erl.c: Use the size of the signal type, not its pointer. - erl_node_tables.c: Use the size of the _BUFFER in erts_snprintf() to make sure we can use the full space.
2015-05-12Merge branch 'rickard/timer-optimization/OTP-12650'Rickard Green
* rickard/timer-optimization/OTP-12650: Timer fixes, documentation, and test cases Conflicts: erts/emulator/beam/erl_hl_timer.c
2015-05-12Timer fixes, documentation, and test casesRickard Green
2015-05-12Merge branch 'jv/18/emulator-send-to-error_logger/OTP-12735'Björn-Egil Dahlberg
* jv/18/emulator-send-to-error_logger/OTP-12735: erts: Fix erts_send_error_term_to_logger memory leak Send format and args on process exit to error_logger Add erts_send_error_term_to_logger
2015-05-12erts: Fix erts_send_error_term_to_logger memory leakBjörn-Egil Dahlberg
2015-05-11Merge branch 'egil/erts/high_accuracy_sleep/OTP-12236'Björn-Egil Dahlberg
* egil/erts/high_accuracy_sleep/OTP-12236: erts: Add high accuracy poll timeouts
2015-05-11Send format and args on process exit to error_loggerJosé Valim
Previously, the emulator would generate a whole string with values and call the error_logger passing "~s~n". This commit changes it to a format string containing ~p with the respective values as arguments.
2015-05-11Add erts_send_error_term_to_loggerJosé Valim
This function allows us to send format and args to the logger which can then be formatted and customized from Erlang land.
2015-05-11Merge branch 'egil/fix-maps-copy-shallow'Björn-Egil Dahlberg
* egil/fix-maps-copy-shallow: erts: Make hashmap_get halfword safe erts: Fix ETS db_has_variable check for large Maps stdlib: Strengthen ETS Maps tests erts: Fix copy shallow for large Maps stdlib: Strengthen ETS Maps tests erts: ETS ordered_set cannot use it's optimization with Maps stdlib: Strengthen ETS Maps tests stdlib: Refactor away ?line macro
2015-05-11Merge branch 'egil/fix-maps-erts_debug-size'Björn-Egil Dahlberg
* egil/fix-maps-erts_debug-size: erts: Fix erts_debug:size/1 for large Maps erts: Simple test of erts_debug:size/1 of Maps
2015-05-08Merge branch 'sg2342/fix_freebsd_sendfile/OTP-12720'Sverker Eriksson
* sg2342/fix_freebsd_sendfile/OTP-12720: Fix FreeBSD sendfile
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-08erts: Fix erts_debug:size/1 for large MapsBjörn-Egil Dahlberg
2015-05-08erts: Simple test of erts_debug:size/1 of MapsBjörn-Egil Dahlberg
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-08erts: Make hashmap_get halfword safeBjörn-Egil Dahlberg
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-07erts: Fix ETS db_has_variable check for large MapsBjörn-Egil Dahlberg
2015-05-07erts: Fix copy shallow for large MapsBjörn-Egil Dahlberg
There is no need to take special care of Maps at all since header_arity(hdr) will take care of the normal case via its Map handling.
2015-05-07erts: ETS ordered_set cannot use it's optimization with MapsBjörn-Egil Dahlberg
The optimization cannot be used due to that the pattern cannot be ordered.