Age | Commit message (Collapse) | Author |
|
* rickard/ohmq/OTP-13047:
Fragmented young heap generation and off_heap_message_queue option
Refactor GC
Introduce literal tag
Conflicts:
erts/doc/src/erlang.xml
erts/emulator/beam/erl_gc.c
|
|
* sverk/literal-memory-range:
erts: Refactor line table in loaded beam code
erts: Refactor header of loaded beam code
fix check_process_code for separate literal area
erts: Add support for fast erts_is_literal()
erts: Refactor erl_mmap to allow several mapper instances
erts: Add new allocator LITERAL
erts: Fix strangeness in treatment of MSEG_ALIGN_BITS
erts: Cleanup main carrier creation
erts: Remove unused erts_have_erts_mmap
erts: Refactor config test for posix_memalign
|
|
* The youngest generation of the heap can now consist of multiple
blocks. Heap fragments and message fragments are added to the
youngest generation when needed without triggering a GC. After
a GC the youngest generation is contained in one single block.
* The off_heap_message_queue process flag has been added. When
enabled all message data in the queue is kept off heap. When
a message is selected from the queue, the message fragment (or
heap fragment) containing the actual message is attached to the
youngest generation. Messages stored off heap is not part of GC.
|
|
to use real C struct with correct types
|
|
|
|
to use a real C struct instead of array.
|
|
|
|
|
|
|
|
|
|
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
|
|
* Use NULL instead of THE_NON_VALUE for non-Eterm variable.
* Add BinaryFindState_bignum struct to avoid unnecessary type casting.
|
|
with an common do_binary_find() used by match, matches and split.
|
|
to reduce code volume.
|
|
|
|
|
|
|
|
|
|
* lukas/erts/win32_bool_fix/OTP-13079:
erts: bool is a reserved word, use boolean instead
|
|
|
|
* lrascao/fix/build_fail_on_enabled_dist_debug:
Fix build fail when enabling distribution debug messages
|
|
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'.
|
|
|
|
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'.
|
|
* bjorn/erts/builtin/OTP-13034:
Teach erlang:is_builtin/3 that erlang:apply/3 is built-in
|
|
Binary vheap mature is not necessary for binary gc.
|
|
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
|
|
|
|
|
|
Another process may already have been placed in this slot
since the free och the process struct can be scheduled for
later.
|
|
|
|
* goertzenator/enif_make_pid-unused_param:
fix unused parameter warning in enif_make_pid
OTP-12989
|
|
* mikpe/erts-binary_to_integer-fix:
erts: fix binary_to_integer boundary case
OTP-12988
|
|
|
|
And remove old case of using only page alignment (12 bits).
|
|
and remove that magic "-40" from default mmbcs for ll_alloc
|
|
* maint:
Add configure switch --disable-saved-compile-time
Fix ethread events with timeout
Improve choice of clock sources at build time
|
|
* rickard/disable-saved-compile-time/OTP-12971:
Add configure switch --disable-saved-compile-time
Conflicts:
HOWTO/INSTALL.md
|
|
* rickard/event-tmo/OTP-12954:
Fix ethread events with timeout
|
|
|
|
|
|
Conflicts:
erts/emulator/beam/erl_printf_term.c
erts/emulator/beam/erl_term.c
erts/emulator/beam/utils.c
|
|
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.
|
|
|
|
* sverk/hipe-maps-merge-wrapper:
erts: Fix hipe bug for maps:merge/2
erts: Beautify hipe wrapper macro
OTP-12965
|
|
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.
|
|
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.
|
|
|
|
* maint:
erts: Make sure to unlock status lock when setting process prio
|
|
* lukas/erts/process_priority_unlock/OTP-12943:
erts: Make sure to unlock status lock when setting process prio
|