Age | Commit message (Collapse) | Author |
|
* sverker/hipe-long-lived:
Make hipe_bifs:alloc_data/3 pad addr to alignment
erts: Change HIPE allocations from sys_alloc
|
|
* lukas/erts/fix_enif_inspect_binary_emasculate/OTP-14304:
erts: Add enif_inspect_binary emasculation of refc bins
|
|
ERL-379
* sverker/make-config-dep:
erts: Make generated files depend on Makefile
|
|
7814ec18b made hipe_bifs:alloc_data/3 expect alignments greater than 8
from erts_alloc(), which is not something that it guarantees. Fix it up
so that it pads the allocation up to the required alignment, in case it
does not initially satisfy the alignment requirement.
|
|
Rewrite the instruction stream on tagged tuple tests.
Tagged tuples means a tuple of any arity with an atom as its first element.
Typically records, ok-tuples and error-tuples.
from:
...
{test,is_tuple,Fail,[Src]}.
{test,test_arity,Fail,[Src,Sz]}.
...
{get_tuple_element,Src,0,Dst}.
...
{test,is_eq_exact,Fail,[Dst,Atom]}.
...
to:
...
{test,is_tagged_tuple,Fail,[Src,Sz,Atom]}.
...
|
|
* egil/erts/fix-no-thread-signal-service:
erts: Don't allocate memory during signal handling
erts: Fix erl_async include files for no-threads
|
|
* sverker/ets-table-identifiers:
observer: Polish crashdump viewer for ETS
observer: Polish Table Viewer tab
stdlib: Remove ets_SUITE:memory_check_summary
erts: Improve reduction count during table cleanup
erts: Cleanup table status bits
erts: Remove now redundant 'id' from DbTableCommon
erts: Remove meta_main_tab
erts: Pass tid argument down to trapping functions
erts: Print table id as ref in crashdump and break menu
erts: Replace meta_pid_to{_fixed}_tab with linked lists
erts: Correct erl_rbtree comments about yielding
erts: Add ERTS_RBT_YIELD_STAT_INIT to erl_rbtree
Fix node_container_SUITE
list_to_ref/1
Implement ets:all() using scheduler specific data
Rename fixation count in ets table to avoid confusion
Introduce references as table identifiers
|
|
|
|
|
|
'the_name' keeps name of all tables.
'type' & DB_NAMED_TABLE mark tables as named.
table ref id is built from magic bin when needed.
|
|
\o/
O
/ \
Also removed the body for CHECK_TABLES enabled by HARDDEBUG.
Removed quite useless check for hash,
but kept dead check code for tree.
|
|
to get rid of meta table lookup by integer (tb->common.id)
|
|
|
|
from process psd through all owned/fixed tables.
As meta_pid_to{_fixed}_tab maps to slot in meta_main_tab
which is planned for destruction.
In this commit we no longer seize table lock while
freeing the table (free_table_cont) as it's not needed
and makes the code a bit simpler. Any concurrent operation
on the table will only access lock, owner and status
and then bail out.
|
|
true is yielding, false is done.
and correct return value for unused foreach_ordered__
|
|
for dynamic initialization of yield state.
|
|
|
|
|
|
Allocations and message sending are now scheduled by a signal,
via a signal state bitmap, instead of doing it directly in the signal handler.
|
|
in order to regenerate them if config has changed.
ERL-379
Maybe a better solution would have been to run 'clean' target
or stop and ask user to run make clean.
|
|
|
|
to long lived, short lived and native stack.
|
|
|
|
|
|
|
|
* egil/erts/sub-binary-to-heap-binary/OTP-14149:
observer: Fix crashdump viewer testcase
erts: Refactor MOVE_CONS to inline function
erts: Refactor MOVE_BOXED to inline function
erts: Convert small sub-binaries to heap-binaries
|
|
|
|
|
|
|
|
* lukas/erts/fix_proc_exiting_arity:
erts: Fix proc arity value when exiting
|
|
|
|
* lukas/erts/port_control_emasculate_binary/OTP-14231:
erts: Fix emasculation of binaries in port_control
|
|
|
|
|
|
In many cases sub-binaries costs more memory than converting them to heap-binaries.
Sub-binaries also has a hidden cost of pinning larger binaries in memory.
By converting binaries this cost is reduced.
Byte aligned sub-binaries upto 24 bytes (64-bit) or 12 bytes (32-bit) are converted.
|
|
* maint:
Ensure prim_eval:'receive' wont clobber def_arg_reg[0]
Conflicts:
erts/preloaded/ebin/prim_eval.beam
|
|
OTP-14241
* rickard/prim_eval_receive:
Ensure prim_eval:'receive' wont clobber def_arg_reg[0]
|
|
Not setting it correctly will cause the swapin later
to fail in debug build as REDS_IN will overwrite
the value in reg[5].
|
|
* 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
|
|
This fixes a bug introduced in 3671dd2d
|
|
ErLLVM: Drop support for LLVM<3.9 in R20
|
|
* sverker/enif_select: (31 commits)
Remove debug printout and comment
Fix nif_SUITE:select for old linux
Add docs for enif_compare_monitors and ErlNifMonitor
Fix ErlNifMonitor handling
Remove faulty debug ASSERT
erts: Skip nif_SUITE:select on windows
Fix enif_select for windows
Fix whitebox monitor tests
Fix erl_nif doc
Expand nif_SUITE:monitor_frenzy to verify dtor calls
Expand nif_SUITE:monitor_frenzy with binary_to_term
erts: Avoid revival of dying resource by dec_term
erts: Add enif_compare_monitors
erts: Try fix enif_select for windows
erts: Change return value for enif_select
erts: Add pid argument to enif_select
erts: Beautify enif_select
erts: Fix bad_fd_in_pollset error case for enif_select
erts: Add enif_monitor_process and enif_demonitor_process
erts: Rename ErlNifResource as ErtsResource
...
|
|
|
|
|
|
again
* sverker/include-module-literal-size:
erts: Beautify loaded()
erts: Fix literal size bug when only old instance exists
|
|
|
|
|
|
with pipe capacity equal to PIPE_BUF
meaning pipe must be empty to be writable.
|
|
|
|
by removing some unnecessary conditions and
remove unused and faulty summation for 'cur' and 'old'.
|