aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam
AgeCommit message (Collapse)Author
2013-06-10term_to_binary: Remove debug code and set production trap levelsPatrik Nyblom
2013-06-06Teach erl_gc:offset_rootset about extra_rootPatrik Nyblom
2013-06-05Teach external.c to handle reallocs before compressionPatrik Nyblom
2013-06-05Make all steps ofterm_to_binary work in chunks and yieldPatrik Nyblom
Rewrite and extend of Happi's initial work Extra_root to process structure to enable GC of state - Changed the process structure to point to a separate struct, the struct also contains a destructor function to allow for proper cleanup. Rewrote encode_size_struct and enc_term to have internal versions with reduction counters which will result in interrupt for later restart when the counter reaches zero - removed the EWA_STACK from Happis version and directly save the ESTACK's and WSTACK's in the above mentioned struct (or array thereof) that are pointed out from the process structure. The destructor will take care of the deallocation in case of process death. Added ESTACK and WSTACK macros to save and restore stack and to change allocator, which makes the previously mentioned stack-save work. Rewrote enc_term to not store pointers on the stack, and use one WSTACK for commands etc and another ESTACK for Eterms - Slightly different than Happis version to make halfword code simpler. Rewrote encode_size_struct2 so that it does not store pointers on the stack, also switched to ESTACK instead of WSTACK, this also handles halfword correctly. Added interfaces for chunkwise compression, that are used from term_to_binary/2 when the compressed option is given.
2013-06-04Make term_to_binary yield (trap).happi
2013-06-04Merge branch 'rickard/stale-driver-select/OTP-11084' into maintRickard Green
* rickard/stale-driver-select/OTP-11084: Fix crash when reporting stale driver select
2013-06-04erts: Carrier pool information in allocator informationRickard Green
That is, include information about carrier pool in result returned from erlang:system_info({allocator,allocator_sizes, _}).
2013-06-04erts: Use carrier pool for migration of carriersRickard Green
2013-06-04erts: Implement test case for carrier poolRickard Green
2013-06-04erts: Implement carrier poolRickard Green
2013-06-04erts: Fix type errors in info functionsRickard Green
2013-06-04erts: Use Uint64 for call countsRickard Green
2013-06-03erts: Rename allocator aoffcbf to aoffcaobfSverker Eriksson
and add documentation in erts_alloc
2013-06-03erts: Remove unnecessary flag arguments in allocatorsSverker Eriksson
A cleanup after SBMBC was removed.
2013-06-03erts: Remove SBMBC allocatorSverker Eriksson
2013-06-03erts: Add test for add_mbc and remove_mbc callbacksSverker Eriksson
2013-06-03erts: Fix deallocation in removed carrierSverker Eriksson
2013-06-03erts: Change naive list to rb-tree of carriers in AOFF allocatorSverker Eriksson
and add new callbacks add_mbc(), remove_mbc() and largest_fblk_in_mbc() for carrier migration.
2013-06-03erts: Prepare aoff allocator for carrier migrationSverker Eriksson
by putting blocks from different carrier into separate search trees. Carriers are currently organized in a naive linked list by address order.
2013-06-03erts: Make carrier header sizes customizableSverker Eriksson
This is a modified partial revert of 2ab1d972f6fd37c17b05
2013-06-03erts: Add "bestfit within carrier" for aoff allocator (aoffcbf)Sverker Eriksson
2013-05-31Merge branch 'lukas/erts/gc_stat_contention/OTP-10271' into maintLukas Larsson
* lukas/erts/gc_stat_contention/OTP-10271: Replace gc stat lock with sched spec data
2013-05-31Replace gc stat lock with sched spec dataLukas Larsson
2013-05-30Merge branch 'rickard/ptab-id-alloc/OTP-11077' into maintRickard Green
* rickard/ptab-id-alloc/OTP-11077: Introduce a better id allocation algorithm for PTabs
2013-05-22Merge branch 'sverk/win64-fixes' into maintSverker Eriksson
* sverk/win64-fixes: erts: Change some more 'long' to pointer sized int (ErlDrvUInt) erts: Fix crash in nif_SUITE for win64 erts: Fix assert in isdigit for negative characters
2013-05-22Merge branch 'lukas/erts/process_memory_crash_dump/OTP-11098' into maintLukas Larsson
* lukas/erts/process_memory_crash_dump/OTP-11098: Bump crash dump version
2013-05-21Bump crash dump versionLukas Larsson
2013-05-17Introduce a better id allocation algorithm for PTabsRickard Green
2013-05-16Merge branch 'rickard/frmptr' into maintRickard Green
* rickard/frmptr: Add 'frmptr' emulator type Conflicts: erts/preloaded/ebin/erlang.beam
2013-05-16Merge branch 'rickard/nosuspend/OTP-11076' into maintRickard Green
* rickard/nosuspend/OTP-11076: Only verify not busy for erlang:send(Port, Msg, [nosuspend]) until scheduled
2013-05-16Merge branch 'rickard/inet_db/OTP-11074' into maintRickard Green
* rickard/inet_db/OTP-11074: Do not treat port_set_data/port_get_data as signals Conflicts: erts/preloaded/ebin/erlang.beam erts/preloaded/ebin/erts_internal.beam
2013-05-16Merge branch 'lukas/erts/process_memory_crash_dump/OTP-11098' into maintLukas Larsson
* lukas/erts/process_memory_crash_dump/OTP-11098: Print process memory usage info in crash dump
2013-05-16Merge branch 'lukas/erts/nodes_rwlock_contentions/OTP-11097' into maintLukas Larsson
* lukas/erts/nodes_rwlock_contentions/OTP-11097: Change rwlock to rlock where possible
2013-05-16Change rwlock to rlock where possibleLukas Larsson
Having rwlock could cause high unneccesary contention on the dist table when calling erlang:nodes() from many schedulers at the same time.
2013-05-13Print process memory usage info in crash dumpLukas Larsson
2013-05-06Only verify not busy for erlang:send(Port, Msg, [nosuspend]) until scheduledRickard Green
2013-05-06erts: Change some more 'long' to pointer sized int (ErlDrvUInt)Sverker Eriksson
2013-05-06Merge branch 'sverk/fix-alloc-fixes' into maintSverker Eriksson
* sverk/fix-alloc-fixes: erts: Remove unnecessary utf8 analysis step in external decoding erts: Fix locking order violation for allocation wrappers erts: Change locking order for "port_table" and "port_sched_lock" erts: Adjust sizes for fix allocator erts: Fix unabused bug in fixed allocation erts: Fix benign size-bug for fix-allocators MONITOR_SH and NLINK_SH erts: Refactor in new struct ErtsAllctrFixDDBlock_t OTP-11085
2013-05-06Fix crash when reporting stale driver selectRickard Green
2013-04-30Fix some sign warnings found with ClangAnthony Ramine
2013-04-30Properly mark Uint literals as unsigned in big.cAnthony Ramine
2013-04-29Do not treat port_set_data/port_get_data as signalsRickard Green
2013-04-21Add 'frmptr' emulator typeRickard Green
2013-04-18Merge branch 'maint-r16' into maintBjörn Gustavsson
* maint-r16: Prepare release Prepare release Do not count offline run-queues as empty Prepare release Prevent loss of objects after the extension marker Don't lose the extension mark for object set parameters Conflicts: erts/vsn.mk
2013-04-16Do not count offline run-queues as emptyRickard Green
2013-04-15erts: Remove unnecessary utf8 analysis step in external decodingSverker Eriksson
Faulty utf8 atoms are rejected anyway later when the atom is created.
2013-04-15erts: Fix locking order violation for allocation wrappersSverker Eriksson
Some query functions in erl_alloc_util.c lock the allocator mutex and then use erts_printf that in turn may call the sys allocator through the wrappers. To avoid breaking locking order these query functions first "pre-locks" all allocator wrappers.
2013-04-11erts: Change locking order for "port_table" and "port_sched_lock"Sverker Eriksson
Keep order between the two but move them before all the allocation locks. Old order violated for "port_table" lock in ptab_list_bif_engine().
2013-04-11erts: Adjust sizes for fix allocatorSverker Eriksson
2013-04-05Merge branch 'maint-r16' into maintPatrik Nyblom
Conflicts: erts/vsn.mk