aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2015-11-18Use sharing preserving copy error messages and exceptionsBjörn-Egil Dahlberg
2015-11-18Use sharing preserving copy in enif_make_copyBjörn-Egil Dahlberg
2015-11-18Refactor sharing preserved copy flagsBjörn-Egil Dahlberg
The TMPBUF option is no longer needed due to is_literal test and NONE was only used for initial debugging. So we remove the entire option.
2015-11-18Fix rebase of SHCOPY seq_tokensBjörn-Egil Dahlberg
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.