aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2016-09-26sys_core_fold: Correct scope verification codeBjörn Gustavsson
703e8f4490bf broke the scope verification code (by calling ordsets:is_subset/2 with an unsorted second argument). While we are it, also optimize the verification function by avoiding converting the map to a sorted list.
2016-09-26core_pp: Correct printing of map updatesBjörn Gustavsson
2016-09-21Simplify handling of internal BIFsBjörn Gustavsson
Do a simpler translation of internal BIFs. While we are it, also remove the dummy values of Index and Uniq from the make_fun internal operation.
2016-09-21v3_life: Eliminate special handling of guardsBjörn Gustavsson
Remove the special handling #k_try{} in guards in v3_life. If we introduce a new #k_protected{} record in v3_kernel, v3_life no longer needs to know whether it is processing guards or bodies.
2016-09-21Simplify beam_utilsBjörn Gustavsson
When beam_utils was first written, it did not have the functions for testing whether a register was not used. Those were added later, in sort of a hacky way. Also, is_killed*() and is_not_used*() for Y registers would return the same answer. Fix that to make the API more consistent (an Y register can only be killed by a deallocate/1 instruction). We will need to change beam_trim to call beam_utils:is_not_used/3 instead of beam_utils:is_killed/3.
2016-09-21bs_match_SUITE: Add a test case for beam_utilsBjörn Gustavsson
During development, a bug in beam_utils caused a compiler failure in xmerl. If the bug reappears, make sure that we catch it when compiling the compiler test suite.
2016-09-21bif_SUITE: Cover the remaining uncovered linesBjörn Gustavsson
2016-09-21erl_bifs: Remove error_logger:warning_map/0 as a safe BIFBjörn Gustavsson
There is no need to list every obscure safe BIF in erl_bifs:is_safe/3. The purpose of erl_bifs:is_safe/3 is merely to warn when the return value of one of the safe BIFs is ignored.
2016-09-21beam_validator: Correct reporting of y register numberBjörn Gustavsson
The error would be: {multiple_match_contexts,[{x,0},2]} instead of: {multiple_match_contexts,[{x,0},{y,2}]}
2016-09-21beam_jump: Don't try to handle a label at the very endBjörn Gustavsson
Since the beam_a pass has always been run and have removed any unused label, there can never be a label as the very last instruction in a function.
2016-09-21beam_jump: Simplify eliminate_fallthroughs/2Björn Gustavsson
eliminate_fallthroughs/2 has special code to handle two labels next to each other, but that does not seem to ever happen and there was one line uncovered in is_label/1. Since inserting an extra jump between two labels would not cause any real problems, remove the extra handling of two consecutive labels.
2016-09-21beam_listing: Remove support for listing sys_pre_expand formatBjörn Gustavsson
The compiler stopped using sys_pre_expand in ae3e177c514c354831.
2016-09-21Merge tag 'OTP-19.1'Henrik Nord
=== OTP-19.1 === Changed Applications: - asn1-4.0.4 - common_test-1.12.3 - compiler-7.0.2 - crypto-3.7.1 - debugger-4.2.1 - dialyzer-3.0.2 - diameter-1.12.1 - edoc-0.8 - erl_docgen-0.6 - erl_interface-3.9.1 - erts-8.1 - eunit-2.3.1 - gs-1.6.2 - hipe-3.15.2 - ic-4.4.2 - inets-6.3.3 - jinterface-1.7.1 - kernel-5.1 - mnesia-4.14.1 - observer-2.2.2 - odbc-2.11.3 - parsetools-2.1.3 - reltool-0.7.2 - runtime_tools-1.10.1 - sasl-3.0.1 - snmp-5.2.4 - ssh-4.3.2 - ssl-8.0.2 - stdlib-3.1 - syntax_tools-2.1 - tools-2.8.6 - wx-1.7.1 - xmerl-1.3.12 Unchanged Applications: - cosEvent-2.2.1 - cosEventDomain-1.2.1 - cosFileTransfer-1.2.1 - cosNotification-1.2.2 - cosProperty-1.2.1 - cosTime-1.2.2 - cosTransactions-1.3.2 - eldap-1.2.2 - et-1.6 - megaco-3.18.1 - orber-3.8.2 - os_mon-2.4.1 - otp_mibs-1.1.1 - percept-0.9 - public_key-1.2 - typer-0.9.11 Conflicts: OTP_VERSION lib/gs/doc/src/notes.xml lib/gs/vsn.mk
2016-09-20Updated OTP versionOTP-19.1Erlang/OTP
2016-09-20Prepare releaseErlang/OTP
2016-09-15Merge branch 'maint'Raimo Niskanen
2016-09-15Merge branch 'raimo/diffserv-socket-option/OTP-13582' into maintRaimo Niskanen
* raimo/diffserv-socket-option/OTP-13582: Tune 'tclass' semantics Implement IPV6_TCLASS
2016-09-15Merge branch 'maint'Björn Gustavsson
* maint: erts: Add nif_SUITE:t_on_load erts: Improve nif_SUITE:upgrade test Don't leak old code when loading a modules with an on_load function Conflicts: erts/preloaded/ebin/erts_code_purger.beam erts/preloaded/ebin/erts_internal.beam erts/preloaded/src/erts_code_purger.erl
2016-09-15Merge branch 'bjorn/erts/on_load/ERL-240/OTP-13893' into maintBjörn Gustavsson
* bjorn/erts/on_load/ERL-240/OTP-13893: erts: Add nif_SUITE:t_on_load erts: Improve nif_SUITE:upgrade test Don't leak old code when loading a modules with an on_load function
2016-09-15Merge branch 'maint'Björn Gustavsson
* maint: Ensure asserts are enabled in eunit.hrl
2016-09-15Merge branch 'richarl/eunit/fix-asserts/PR-1168/OTP-13892' into maintBjörn Gustavsson
* richarl/eunit/fix-asserts/PR-1168/OTP-13892: Ensure asserts are enabled in eunit.hrl
2016-09-15Merge branch 'maint'Peter Andersson
2016-09-15Merge branch 'peppe/common_test/docs-19.1' into maintPeter Andersson
* peppe/common_test/docs-19.1: Document functions for modifying and reading verbosity levels
2016-09-15Document functions for modifying and reading verbosity levelsPeter Andersson
2016-09-14Merge branch 'maint'Henrik Nord
Conflicts: OTP_VERSION
2016-09-14Merge branch 'maint-19' into maintHenrik Nord
2016-09-14Merge branch 'maint'Björn-Egil Dahlberg
2016-09-14Merge branch 'tony612/erts/fix-doc-format-in-c_port/PR-1167/OTP-13885' into ↵Björn-Egil Dahlberg
maint * tony612/erts/fix-doc-format-in-c_port/PR-1167/OTP-13885: doc: Fix code format in tutorial/c_port
2016-09-14Merge branch 'maint'Björn-Egil Dahlberg
2016-09-14Merge branch 'mcherep/erts/fix-doc-typo/PR-1165/OTP-13886' into maintBjörn-Egil Dahlberg
* mcherep/erts/fix-doc-typo/PR-1165/OTP-13886: Typo in documentation fixed
2016-09-14Merge branch 'maint'Björn-Egil Dahlberg
* maint: Update .gitignore
2016-09-14Merge branch 'egil/update-gitignore' into maintBjörn-Egil Dahlberg
* egil/update-gitignore: Update .gitignore
2016-09-14Updated OTP versionOTP-19.0.7Erlang/OTP
2016-09-14Prepare releaseErlang/OTP
2016-09-14Merge branch 'rickard/gc-msgq-bin-fix/OTP-13890' into maint-19Erlang/OTP
* rickard/gc-msgq-bin-fix/OTP-13890: Ensure we dont use an invalid live heap fragment pointer Update vheap size when moving msgq to heap after GC
2016-09-14Merge branch 'maint'Peter Andersson
2016-09-14Merge branch 'peppe/kernel/invalid_priv_dir/ERL-195/OTP-13758' into maintPeter Andersson
* peppe/kernel/invalid_priv_dir/ERL-195/OTP-13758: Fix incorrect priv_dir when adding app's ebin directory to path OTP-13758
2016-09-14Merge branch 'peppe/common_test/verbosity_functions/OTP-13841' into maintPeter Andersson
OTP-13841
2016-09-14Ensure we dont use an invalid live heap fragment pointerRickard Green
2016-09-14Update vheap size when moving msgq to heap after GCRickard Green
2016-09-14erts: Add nif_SUITE:t_on_loadSverker Eriksson
2016-09-14erts: Improve nif_SUITE:upgrade testSverker Eriksson
to include upgrade from deleted (old) module instance
2016-09-14Don't leak old code when loading a modules with an on_load functionBjörn Gustavsson
Normally, calling code:delete/1 before re-loading the code for a module is unnecessary but causes no problem. But there will be be problems if the new code has an on_load function. Code with an on_load function will always be loaded as old code to allowed it to be easily purged if the on_load function would fail. If the on_load function succeeds, the old and current code will be swapped. So in the scenario where code:delete/1 has been called explicitly, there is old code but no current code. Loading code with an on_load function will cause the reference to the old code to be overwritten. That will at best cause a memory leak, and at worst an emulator crash (especially if NIFs are involved). To avoid that situation, we will put the code with the on_load function in a special, third slot in Module. ERL-240
2016-09-14Ensure asserts are enabled in eunit.hrlRichard Carlsson
When asserts were moved out to a separate header file, the automatic enabling of asserts when testing is enabled stopped working.
2016-09-14Merge branch 'maint'Björn Gustavsson
* maint: beam_validator: Handle unreachable instructions Turn off parallel make for start scripts Makefile
2016-09-14Merge branch 'bjorn/erts/start-scripts/ERL-250' into maintBjörn Gustavsson
* bjorn/erts/start-scripts/ERL-250: Turn off parallel make for start scripts Makefile
2016-09-14Merge branch 'bjorn/compiler/beam_validator/OTP-13863' into maintBjörn Gustavsson
* bjorn/compiler/beam_validator/OTP-13863: beam_validator: Handle unreachable instructions
2016-09-14Merge branch 'maint'Rickard Green
* maint: Ensure long enough sleep in driver_SUITE:timer_delay driver
2016-09-14Merge branch 'rickard/test-cuddle' into maintRickard Green
* rickard/test-cuddle: Ensure long enough sleep in driver_SUITE:timer_delay driver
2016-09-14Merge branch 'maint'Rickard Green
* maint: Updated OTP version Prepare release Fix crash due to heap fragments left after GC Conflicts: OTP_VERSION erts/emulator/beam/erl_gc.c