aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2015-11-17Fix erts_debug:copy_shared/1 prototypeBjörn-Egil Dahlberg
2015-11-17Update preloaded module erlang.beamBjörn-Egil Dahlberg
2015-11-17Add erlang:copy_literals/2 specBjörn-Egil Dahlberg
2015-11-17Add copy_literals testcaseBjörn-Egil Dahlberg
Repeatedly reload a literals module while sending the references literals around in a process ring. This will smoke test the non-copying literals message sending does not corrupt code unloading.
2015-11-17Do not use GCC extensions in copyBjörn-Egil Dahlberg
2015-11-17Use copy literal range check in message passing and purgingBjörn-Egil Dahlberg
2015-11-17Add BIF for setting internal copy literal rangeBjörn-Egil Dahlberg
2015-11-17Copy literals in copy sharingBjörn-Egil Dahlberg
2015-11-17Refactor copy sharingBjörn-Egil Dahlberg
2015-11-17Add support for HAMT maps in preserved copyBjörn-Egil Dahlberg
2015-11-17Fix Map preserved sharing copy implementationBjörn-Egil Dahlberg
The Map implementation has changed since initial preserved copy implementation.
2015-11-17Fix Halfword removalBjörn-Egil Dahlberg
Halfword is no longer present in the runtime system.
2015-11-17Fix internal stacksBjörn-Egil Dahlberg
The internal stacks has changed between releases.
2015-11-17Add support for maps in preserved copyNikolaos S. Papaspyrou
2015-11-17Add --enable-sharing-preserving configure flagYiannis Tsiouris
2015-11-17Add -debug +vc flag for debuging SHCOPYNikolaos S. Papaspyrou
This is very verbose, you have been warned. It should work with the copy-spy.py script, which may be a bit outdated.
2015-11-17Enable shcopy for spawning processesNikolaos S. Papaspyrou
2015-11-17Add machinery to enable SHCOPY dynamicallyNikolaos S. Papaspyrou
This commit is just for debugging purposes, will probably be reverted. It comes with a the erts_debug:copy_shared/1 BIF. If SHCOPY_DISABLE is defined, SHCOPY starts disabled and is dynamically enabled the first time that the BIF is called.
2015-11-17Remove DTrace Harddebug clutterBjörn-Egil Dahlberg
2015-11-17Enable shcopy for sending messagesNikolaos S. Papaspyrou
2015-11-17Add the BIF size_shared/1 and debug cleanupNikolaos S. Papaspyrou
2015-11-17Add all the main machineryNikolaos S. Papaspyrou
Add functions size_shared, copy_shared_calculate and copy_shared_perform. Add the infrastructure for making these communicate with each other. Add debug information to other places in the VM, to watch interaction with the sharing-preserving copy. CAUTION: If you define the SHCOPY_DEBUG macro (after SHCOPY is actually used in the VM) and make the whole OTP, there will be a lot of debugging messages during make (it will also be enabled in erlc). You have been warned...
2015-11-16An implementation of lightweight unbounded queuesNikolaos S. Papaspyrou
2015-11-16Update primary bootstrapBjörn Gustavsson
2015-11-16Merge branch 'bjorn/cleanup'Björn Gustavsson
* bjorn/cleanup: beam_validator: Don't allow an 'undefined' entry label in a function beam_validator: Remove obsolete DEBUG support v3_kernel: Speed up compilation of modules with many funs beam_dict: Speed up storage of funs beam_asm: Speed up assembly for modules with many exports sys_core_dsetel: Use a map instead of a dict sys_pre_expand: Cover coerce_to_float/2 Cover code for callbacks in sys_pre_expand Cover sys_pre_expand:pattern/2 sys_pre_expand: Remove uncovered clause in pat_bit_size/2 sys_pre_expand: Clean up data structures sys_pre_expand: Remove vestiges of variable usage tracking sys_pre_expand: Remove imports of ordsets functions sys_pre_expand: Remove unnecessary inclusion of erl_bits.hrl io: Make a fast code path for i/o requests
2015-11-16beam_validator: Don't allow an 'undefined' entry label in a functionBjörn Gustavsson
Before 912fea0b beam_validator could validate disassembled files. That's probably why the entry label was allowed to be 'undefined'.
2015-11-16beam_validator: Remove obsolete DEBUG supportBjörn Gustavsson
No one has used the debug support in many years. Also, the debug support is not free. There are calls to lists:foreach/2 that will be executed even when debug support is turned off.
2015-11-16Merge branch 'maint'Henrik Nord
2015-11-16Merge branch 'c-rack/fix-typo-prim-inet' into maintHenrik Nord
* c-rack/fix-typo-prim-inet: Fix minor typo "timout" -> "timeout"
2015-11-16Merge branch 'zenhack/fix-erroneous-__uint32_t' into maintHenrik Nord
* zenhack/fix-erroneous-__uint32_t: Fix erroneous use of __uint32_t OTP-13105
2015-11-16Merge branch 'deadok22/jinterface-input-stream-read-any-etf-113' into maintHenrik Nord
* deadok22/jinterface-input-stream-read-any-etf-113: OtpInputStream: external fun terms in read_any() OTP-13106
2015-11-16Merge branch 'legoscia/erl-make-exit-code' into maintHenrik Nord
* legoscia/erl-make-exit-code: Make erl -make return non-zero exit code on failure OTP-13107
2015-11-16Merge branch 'kanatohodets/ssh-subsystem-typo' into maintHenrik Nord
* kanatohodets/ssh-subsystem-typo: Fix spelling of ssh 'subsystem' OTP-13108
2015-11-16Merge branch 'lucafavatella/dialyzer-remote-type'Henrik Nord
* lucafavatella/dialyzer-remote-type: Delete remote types-related dead code in erl_types OTP-13104
2015-11-13Merge branch 'maint'Zandra
2015-11-13Merge branch 'zandra/snmp-appup' into maintZandra
* zandra/snmp-appup: add a soft upgrade instruction to the snmp appup
2015-11-13Merge branch 'maint'Zandra
2015-11-13Merge branch 'zhird/johnheizenberg/snmp_config_check_imask_bugfix' into maintZandra
* zhird/johnheizenberg/snmp_config_check_imask_bugfix: fix snmp_conf check imask bug OTP-13101
2015-11-13Merge branch 'maint'Zandra
Conflicts: OTP_VERSION
2015-11-13Merge branch 'maint-18' into maintZandra
2015-11-13Merge branch 'rickard/l2b-b2l-yield/OTP-13096'Rickard Green
* rickard/l2b-b2l-yield/OTP-13096: Improve yield strategy for list_to_binary()/binary_to_list()
2015-11-13Merge branch 'rickard/gc-bump-reds/OTP-13097'Rickard Green
* rickard/gc-bump-reds/OTP-13097: Bump reductions on GC
2015-11-13Merge branch 'rickard/gc-after-bif-cond/OTP-13098'Rickard Green
* rickard/gc-after-bif-cond/OTP-13098: Use the same conditions when triggering GC after BIF
2015-11-12Merge branch 'rickard/ohmq/OTP-13047'Rickard Green
* 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
2015-11-12Merge branch 'sverk/literal-memory-range'Rickard Green
* 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
2015-11-12Improve yield strategy for list_to_binary()/binary_to_list()Rickard Green
Avoid yield in the BIF when input is small. This either yielding before beginning to work in the BIF, or by allowing some more reductions before yielding.
2015-11-12Bump reductions on GCRickard Green
2015-11-12Use the same conditions when triggering GC after BIFRickard Green
2015-11-12Fragmented young heap generation and off_heap_message_queue optionRickard Green
* 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.
2015-11-12erts: Refactor line table in loaded beam codeSverker Eriksson
to use real C struct with correct types