aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam
AgeCommit message (Collapse)Author
2015-11-04Merge branch 'sverk/binary_split_bif'Sverker Eriksson
OTP-13082 * sverk/binary_split_bif: erts: Minor refactor for binary find BIF backend erts: Refactor BIF for binary:match,matches,split erts: Refactor backend of binary:split erts: Replace 0 with THE_NON_VALUE stdlib: Add BIF option 'trim_all' to binary:split/3 stdlib: Add BIF binary:split/2 and binary:split/3 Conflicts: bootstrap/lib/stdlib/ebin/binary.beam
2015-11-04erts: Minor refactor for binary find BIF backendAndrew Bennett
* Use NULL instead of THE_NON_VALUE for non-Eterm variable. * Add BinaryFindState_bignum struct to avoid unnecessary type casting.
2015-11-04erts: Refactor BIF for binary:match,matches,splitAndrew Bennett
with an common do_binary_find() used by match, matches and split.
2015-11-04erts: Refactor backend of binary:splitSverker Eriksson
to reduce code volume.
2015-11-04erts: Replace 0 with THE_NON_VALUESverker Eriksson
2015-11-04stdlib: Add BIF option 'trim_all' to binary:split/3Andrew Bennett
2015-11-04stdlib: Add BIF binary:split/2 and binary:split/3Andrew Bennett
2015-11-02Merge branch 'maint'Lukas Larsson
2015-11-02Merge branch 'lukas/erts/win32_bool_fix/OTP-13079' into maintLukas Larsson
* lukas/erts/win32_bool_fix/OTP-13079: erts: bool is a reserved word, use boolean instead
2015-10-27Merge branch 'maint'Henrik Nord
2015-10-27Merge branch 'lrascao/fix/build_fail_on_enabled_dist_debug' into maintHenrik Nord
* lrascao/fix/build_fail_on_enabled_dist_debug: Fix build fail when enabling distribution debug messages
2015-10-26erts: Add {line_delimiter, byte()} option to inet:setopts/2Serge Aleynikov
A new {line_delimiter, byte()} option allows line-oriented TCP-based protocols to use a custom line delimiting character. It is to be used in conjunction with {packet, line}. This option also works with erlang:decode_packet/3 when its first argument is 'line'.
2015-10-26Update primary bootstrapIngela Anderton Andin
2015-10-26erts: Add {line_delimiter, byte()} option to inet:setopts/2Serge Aleynikov
A new {line_delimiter, byte()} option allows line-oriented TCP-based protocols to use a custom line delimiting character. It is to be used in conjunction with {packet, line}. This option also works with erlang:decode_packet/3 when its first argument is 'line'.
2015-10-12Merge branch 'bjorn/erts/builtin/OTP-13034'Björn Gustavsson
* bjorn/erts/builtin/OTP-13034: Teach erlang:is_builtin/3 that erlang:apply/3 is built-in
2015-10-09erts: Remove vheap mature from process control blockBjörn-Egil Dahlberg
Binary vheap mature is not necessary for binary gc.
2015-10-09Teach erlang:is_builtin/3 that erlang:apply/3 is built-inBjörn Gustavsson
erlang:is_builtin(erlang, apply, 3) returns 'false'. That seems to be an oversight in the implementation of erlang:is_builtin/3 rather than a conscious design decision. Part of apply/3 is implemented in C (as a special instruction), and part of it in Erlang (only used if apply/3 is used recursively). That makes apply/3 special compared to all other BIFs. From the viewpoint of the user, apply/3 is a built-in function, since it cannot possibly be implemented in pure Erlang. Noticed-by: Stavros Aronis
2015-10-05Merge branch 'maint'Lukas Larsson
2015-10-05Fix build fail when enabling distribution debug messagesLuis Rascao
2015-09-28erts: Remove assertion that ptab is emptyLukas Larsson
Another process may already have been placed in this slot since the free och the process struct can be scheduled for later.
2015-09-17Merge branch 'maint'Henrik Nord
2015-09-17Merge branch 'goertzenator/enif_make_pid-unused_param' into maintHenrik Nord
* goertzenator/enif_make_pid-unused_param: fix unused parameter warning in enif_make_pid OTP-12989
2015-09-17Merge branch 'mikpe/erts-binary_to_integer-fix' into maintHenrik Nord
* mikpe/erts-binary_to_integer-fix: erts: fix binary_to_integer boundary case OTP-12988
2015-09-09Merge branch 'maint'Rickard Green
* maint: Add configure switch --disable-saved-compile-time Fix ethread events with timeout Improve choice of clock sources at build time
2015-09-09Merge branch 'rickard/disable-saved-compile-time/OTP-12971' into maintRickard Green
* rickard/disable-saved-compile-time/OTP-12971: Add configure switch --disable-saved-compile-time Conflicts: HOWTO/INSTALL.md
2015-09-09Merge branch 'rickard/event-tmo/OTP-12954' into maintRickard Green
* rickard/event-tmo/OTP-12954: Fix ethread events with timeout
2015-09-09Add configure switch --disable-saved-compile-timeRickard Green
2015-09-07Merge branch 'maint'Sverker Eriksson
2015-09-02Merge branch 'maint' into sverk/trace-process_dump-matchstateSverker Eriksson
Conflicts: erts/emulator/beam/erl_printf_term.c erts/emulator/beam/erl_term.c erts/emulator/beam/utils.c
2015-09-01erts: Fix bug when tracing with 'process_dump'Sverker Eriksson
If the process stack contained a match state the print function would crash the vm as it was not recognized by tag_val_def(). Add new MATCHSTATE_DEF returned by tag_val_def(). All other callers either ignore it or has a default clause to handle invalid terms.
2015-08-31Merge branch 'maint'Sverker Eriksson
2015-08-31Merge branch 'sverk/hipe-maps-merge-wrapper' into maintSverker Eriksson
* sverk/hipe-maps-merge-wrapper: erts: Fix hipe bug for maps:merge/2 erts: Beautify hipe wrapper macro OTP-12965
2015-08-28erts: Fix hipe bug for maps:merge/2Sverker Eriksson
Add forgotten HIPE_WRAPPER_BIF_DISABLE_GC which could lead to stack-heap overrun if unlucky with the yielding during maps:merge when called by native hipe code.
2015-08-27Fix ethread events with timeoutRickard Green
Lots of pthread platforms unnecessarily falled back on the pipe/select solution. This since we tried to use the same monotonic clock source for pthread_cond_timedwait() as used by OS monotonic time. This has been fixed on most platforms by using another clock source. Darwin can however not use pthread_cond_timedwait() with monotonic clock source and has to use the pipe/select solution. On darwin we now use select with _DARWIN_UNLIMITED_SELECT in order to be able to handle a large amount of file descriptors.
2015-08-25erts: bool is a reserved word, use boolean insteadLukas Larsson
2015-08-18Merge branch 'maint'Lukas Larsson
* maint: erts: Make sure to unlock status lock when setting process prio
2015-08-18Merge branch 'lukas/erts/process_priority_unlock/OTP-12943' into maintLukas Larsson
* lukas/erts/process_priority_unlock/OTP-12943: erts: Make sure to unlock status lock when setting process prio
2015-08-13erts: Make sure to unlock status lock when setting process prioLukas Larsson
2015-08-11fix unused parameter warning in enif_make_pidDaniel Goertzen
2015-08-10Merge branch 'maint'Lukas Larsson
* maint: erts: Don't abort when a system process is terminated
2015-08-10Merge branch 'lukas/erts/system_process_core/OTP-12934' into maintLukas Larsson
* lukas/erts/system_process_core/OTP-12934: erts: Don't abort when a system process is terminated
2015-08-10Merge branch 'maint'Lukas Larsson
* maint: Teach smp VM how to deal with crash of a linked trace port
2015-08-10Merge branch 'sverk/smp-trace-port-exit-bug/OTP-12901' into maintLukas Larsson
* sverk/smp-trace-port-exit-bug/OTP-12901: Teach smp VM how to deal with crash of a linked trace port
2015-08-10Teach smp VM how to deal with crash of a linked trace portSverker Eriksson
Problem: The sys-msg-dispather crashes the VM when trying to send exit signals from the links of the terminating trace port. If try-lock of the linked process fails, a pending exit is scheduled and erts_scheduler_data() is then called to find "my" run queue. But sys-msg-dispatcher is not a scheduler and has no scheduler data, hence SEGV. Fix: If not a scheduler and we cannot get process locks, schedule process in its previous run-queue.
2015-08-05Merge branch 'maint'Björn Gustavsson
* maint: Fix crash when disassembling modules with BIFs
2015-08-05Merge branch 'bjorn/erts/beam_debug' into maintBjörn Gustavsson
* bjorn/erts/beam_debug: Fix crash when disassembling modules with BIFs
2015-07-31erts: fix binary_to_integer boundary caseMikael Pettersson
erlang:binary_to_integer/1 and /2 fail to detect invalid input consisting of a single + or - sign but nothing else. For an input like <<"+">> they return 0, while list_to_integer/1 correctly signals a badarg for "+". Fixed by checking if the input is empty after the initial +/- sign processing. Added a test case which fails without this fix but passes with it. Thanks to "niku" for reporting the issue.
2015-07-14Merge branch 'lukas/ose/remove/OTP-12573'Lukas Larsson
* lukas/ose/remove/OTP-12573: Remove OSE from erl_interface ose: Remove all code related to the OSE port
2015-07-14erts: Don't abort when a system process is terminatedLukas Larsson
2015-07-10ose: Remove all code related to the OSE portLukas Larsson
The OSE port is no longer supported and this commit removed it and any changes related to it. The things that were general improvements have been left in the code.