aboutsummaryrefslogtreecommitdiffstats
path: root/lib
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-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-15Document functions for modifying and reading verbosity levelsPeter Andersson
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-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/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'Ingela Anderton Andin
2016-09-14Merge branch 'ingela/ssl/packet-tests' into maintIngela Anderton Andin
* ingela/ssl/packet-tests: ssl: Add timetrap scale calls ssl: Add nodelay to packet=0|raw tests
2016-09-14Tune 'tclass' semanticsRaimo Niskanen
2016-09-13ssl: Add timetrap scale callsIngela Anderton Andin
2016-09-13Export functions for setting and reading verbosityPeter Andersson
2016-09-13beam_validator: Handle unreachable instructionsBjörn Gustavsson
ab03678e introduced an optimization in the beam_z pass that could introduce unreachable code in BEAM files (a 'jump' instruction is removed after a 'raise' instruction, but the code following the target of the 'jump' is not removed). Since this situation happens very rarely, there is no point in adding another pass that can remove unreachable code after beam_z. Instead we will make sure that beam_validator can skip the unreachable code. Skipping unreachable code is already done in valfun_1/2 (for historical reasons), but we will also need to do it in val_dsetel/2.
2016-09-13Merge branch 'maint'Raimo Niskanen
2016-09-13Silence warnings in cryptoRaimo Niskanen
2016-09-13Merge branch 'maint'Hans Bolinder
* maint: parsetools: Suppress Dialyzer-warnings
2016-09-13Merge branch 'hasse/parsetools/suppress_dialyzer_warnings/OTP-13681' into maintHans Bolinder
* hasse/parsetools/suppress_dialyzer_warnings/OTP-13681: parsetools: Suppress Dialyzer-warnings
2016-09-12Merge branch 'maint'Anders Svensson
2016-09-12Merge branch 'anders/diameter/19.1/OTP-13838' into maintAnders Svensson
* anders/diameter/19.1/OTP-13838: vsn -> 1.12.1 Update appup for 19.1 Fix xmllint errors in documentation Remove documentation overkill Don't run traffic tests in parallel when {string_decode, true} Remove copyright from generated dictionary modules Fix dictionary function typo Fix dictionary typo in relay example
2016-09-12Merge branch 'anders/diameter/failover/OTP-13412' into maintAnders Svensson
* anders/diameter/failover/OTP-13412: Make peer failover more efficient
2016-09-12Merge branch 'anders/diameter/min_heap_size/OTP-13796' into maintAnders Svensson
* anders/diameter/min_heap_size/OTP-13796: Let unfortunate min_heap_size setting be disabled
2016-09-12Merge branch 'anders/diameter/19/listen/OTP-13787' into maintAnders Svensson
* anders/diameter/19/listen/OTP-13787: Close listening sockets at service death
2016-09-12Merge branch 'maint'Ingela Anderton Andin
2016-09-12Merge branch 'ferd/bypass-pem-cache/PR-1143/OTP-13883' into maintIngela Anderton Andin
* ferd/bypass-pem-cache/PR-1143/OTP-13883: ssl: Add documentation of bypass_pem_cache application environment configuration ssl: Add new benchmarks to skip file for normal testing Adding PEM cache bypass benchmark entries Fixing CRL searching in cache bypass Add option to bypass SSL PEM cache
2016-09-12Merge branch 'maint'Ingela Anderton Andin
2016-09-12Merge branch 'ingela/snmp/ipv6-tests' into maintIngela Anderton Andin
* ingela/snmp/ipv6-tests: snmp: Use ipv6 common test configuration check
2016-09-12snmp: Use ipv6 common test configuration checkIngela Anderton Andin
The test for ipv6 could return false positives which resulted in failing test cases due lack of full ipv6 support.It could be nice with a working run-time check but this will do for now.
2016-09-12Merge branch 'maint'Ingela Anderton Andin