aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/test
AgeCommit message (Collapse)Author
2017-02-27Merge branch 'maint'Rickard Green
* maint: Ensure prim_eval:'receive' wont clobber def_arg_reg[0] Conflicts: erts/preloaded/ebin/prim_eval.beam
2017-02-27Merge branch 'rickard/prim_eval_receive' into maintRickard Green
OTP-14241 * rickard/prim_eval_receive: Ensure prim_eval:'receive' wont clobber def_arg_reg[0]
2017-02-27Merge branch 'egil/pretty-print-maps-smaller/OTP-14239'Björn-Egil Dahlberg
* egil/pretty-print-maps-smaller/OTP-14239: stdlib: Use erts_internal:maps_to_list/2 in io_lib_pretty Update preloaded erts_internal.beam erts: Test erts_internal:maps_to_list/2 erts: Introduce erts_internal:maps_to_list/2
2017-02-23erts: Test erts_internal:maps_to_list/2Björn-Egil Dahlberg
2017-02-22Fix nif_SUITE:select for old linuxSverker Eriksson
with pipe capacity equal to PIPE_BUF meaning pipe must be empty to be writable.
2017-02-20Fix ErlNifMonitor handlingSverker Eriksson
2017-02-20erts: Skip nif_SUITE:select on windowsSverker Eriksson
for now...
2017-02-20Fix whitebox monitor testsSverker Eriksson
2017-02-20Expand nif_SUITE:monitor_frenzy to verify dtor callsSverker Eriksson
2017-02-20Expand nif_SUITE:monitor_frenzy with binary_to_termSverker Eriksson
to provoke resource revival race.
2017-02-20Merge branch 'master' into sverker/enif_selectSverker Eriksson
Conflicts: erts/emulator/beam/erl_binary.h erts/emulator/beam/erl_monitors.c erts/emulator/beam/erl_nif.c erts/emulator/beam/global.h erts/emulator/test/nif_SUITE_data/nif_SUITE.c
2017-02-20erts: Add enif_compare_monitorsSverker Eriksson
# Conflicts: # erts/emulator/test/nif_SUITE_data/nif_SUITE.c
2017-02-20Ensure prim_eval:'receive' wont clobber def_arg_reg[0]Rickard Green
def_arg_reg[0] is used for storage of timeout instruction when a 'receive after' is executed. When a process was scheduled out inside prim_eval:'receive'/0 due to a function call, def_arg_reg[0] was overwritten due to storage of live registers. prim_eval:'receive'/2 now calls arg_reg_alloc/0 which bumps all reductions and then calls arg_reg_alloc/7 which will cause an allocation of a new arg_reg array since def_arg_reg only can hold 6 values. This ensures that the timeout instruction in def_arg_reg[0] used for the timeout wont be overwritten.
2017-02-16Merge branch 'maint' into 'master'Sverker Eriksson
2017-02-16Merge branch 'sverker/round-bug/OTP-14227' into maintSverker Eriksson
* sverker/round-bug/OTP-14227: erts: Fix round/1 for large floats
2017-02-14erts: Fix round/1 for large floatsSverker Eriksson
1> round(6209607916799025.0). 6209607916799026 Problem: Adding/subtracting 0.5 and large double floats between (1 bsl 52) and (1 bsl 53) does not give reliable results. Solution: Use round() function in math.h.
2017-02-14Fixed typos in ertsAndrew Dryga
2017-02-09erts: Change return value for enif_selectSverker Eriksson
to negative int as error and positive as success.
2017-02-09erts: Add pid argument to enif_selectSverker Eriksson
2017-02-09erts: Add enif_monitor_process and enif_demonitor_processSverker Eriksson
2017-02-06Use magic refs for NIF resourcesRickard Green
2017-02-06Implement magic referencesRickard Green
Magic references are *intentionally* indistinguishable from ordinary references for the Erlang software. Magic references do not change the language, and are intended as a pure runtime internal optimization. An ordinary reference is typically used as a key in some table. A magic reference has a direct pointer to a reference counted magic binary. This makes it possible to implement various things without having to do lookups in a table, but instead access the data directly. Besides very fast lookups this can also improve scalability by removing a potentially contended table. A couple of examples of planned future usage of magic references are ETS table identifiers, and BIF timer identifiers. Besides future optimizations using magic references it should also be possible to replace the exposed magic binary cludge with magic references. That is, magic binaries that are exposed as empty binaries to the Erlang software.
2017-02-03Merge branch 'master' into sverker/enif_selectSverker Eriksson
2017-02-03Merge branch 'egil/20/erts/signal-service/OTP-14186'Björn-Egil Dahlberg
* egil/20/erts/signal-service/OTP-14186: kernel: Document signal server erts: Use os module instead of erts_internal for set_signal/2 erts: Do not handle SIGILL erts: Fix thread suspend in crashdump erts: Do not enable SIGINT erts: Use generic signal handler erts: Add OS signal tests erts: Handle SIGUSR1 via signal service instead erts: Handle SIGTERM via signal service instead kernel: Add gen_event signal server and default handler erts: Add SIGHUP signal handler erts: Remove whitespace errors Conflicts: erts/emulator/beam/bif.tab
2017-02-02erts: Use os module instead of erts_internal for set_signal/2Björn-Egil Dahlberg
* Add specs * Change return signature to 'ok' instead of 'true'
2017-02-02erts: Do not handle SIGILLBjörn-Egil Dahlberg
* Remove SIGILL from signal whitelist
2017-02-02erts: Add OS signal testsBjörn-Egil Dahlberg
2017-02-01Merge branch 'josevalim/atu8-chunk/PR-1078/OTP-14178'Björn Gustavsson
* josevalim/atu8-chunk/PR-1078/OTP-14178: Add new AtU8 beam chunk
2017-01-30Add new AtU8 beam chunkJosé Valim
The new chunk stores atoms encoded in UTF-8. beam_lib has also been modified to handle the new 'utf8_atoms' attribute while the 'atoms' attribute may be a missing chunk from now on. The binary_to_atom/2 BIF can now encode any utf8 binary with up to 255 characters. The list_to_atom/1 BIF can now accept codepoints higher than 255 with up to 255 characters (thanks to Björn Gustavsson).
2017-01-25Update test cases for erlang:hash/2 removalBjörn-Egil Dahlberg
2017-01-23Merge branch 'maint'Sverker Eriksson
2017-01-23Merge branch 'sverker/cuddle-port_trace_SUITE' into maintSverker Eriksson
* sverker/cuddle-port_trace_SUITE: erts: Fix port_trace_SUITE to join threads
2017-01-23Merge branch 'sverker/ASSERT_IN_ENV'Sverker Eriksson
* sverker/ASSERT_IN_ENV: erts: Add macro ERTS_PROC_LOCKS_HIGHER_THAN erts: Cleanup and extra assertions in nif_SUITE.c erts: Cleanup enif_make_reverse_list erts: Add assertions for correct ErlNifEnv erts: Make erts_dbg_within_proc available # Conflicts: # erts/emulator/beam/erl_gc.h
2017-01-17Scheduler wall time support for dirty schedulersRickard Green
2017-01-17Always return info from system_info(dirty_[cpu|io]_schedulers*)Rickard Green
2017-01-16erts: Fix port_trace_SUITE to join threadsSverker Eriksson
when port is closed before driver may be unloaded.
2017-01-12erts: Cleanup and extra assertions in nif_SUITE.cSverker Eriksson
2017-01-12Support for dirty BIFsRickard Green
2017-01-12Reduction counting on non-tail returnRickard Green
2017-01-11Merge branch 'maint'Rickard Green
* maint: Fix processes() BIF test cases
2017-01-11Merge branch 'rickard/test-fix' into maintRickard Green
* rickard/test-fix: Fix processes() BIF test cases
2017-01-10Fix processes() BIF test casesRickard Green
2017-01-09nif_SUITE: Send message from stop callbackSverker Eriksson
2017-01-09erts: Cleanup and extra assertions in nif_SUITE.cSverker Eriksson
2017-01-03Merge branch 'maint'Sverker Eriksson
2017-01-03Merge branch 'sverker/cuddle-port_SUITE' again into maintSverker Eriksson
* sverker/cuddle-port_SUITE: erts: Fix some compile warnings for port_SUITE erts: Add missing make rules for port_SUITE
2016-12-20Merge branch 'maint'Sverker Eriksson
2016-12-20Merge pull request #1263 from hawk/hm/stacktrace-depth/OTP-14119Sverker Eriksson
Make depth of current_stacktrace configurable
2016-12-20Merge branch 'sverker/misc-master'Sverker Eriksson
2016-12-20erts: Fix some compile warnings for port_SUITESverker Eriksson