aboutsummaryrefslogtreecommitdiffstats
path: root/lib
AgeCommit message (Collapse)Author
2017-11-05HiPE: Support literal tagsMagnus Lång
Literal tags are used by the VM as an alternative to reserving a large virtual memory space in order to be able to quickly identify which terms are literals. The use of literal tags harms performance, but is useful to support systems where allocating a large amount of virtual memory is not an option.
2017-11-05HiPE: Verify GC safety of derived valuesMagnus Lång
HiPE has had metadata for gc safety on it's temporaries for a while, but it has never been enforced or even checked, so naturally several gc-safety violations has slipped through. A new pass, hipe_rtl_verify_gcsafe verifies gcsafety on optimised RTL and is used when running the testsuite, and can be manually enabled with +{hipe,[verify_gcsafe]}.
2017-11-05HiPE: Make is_divisible a primopMagnus Lång
Since gcunsafe values are live over is_divisible calls (although only the happy path, which never GCd), it should be a primop so there cannot be any GCs.
2017-11-05hipe_rtl_lcm: Fix another bugMagnus Lång
During deletion, the killing of expressions was not considered.
2017-11-05hipe_rtl_lcm: Fix Lazy Code Motion bugMagnus Lång
The lazy code motion optimisation pass could violate its guarantees eliminating partial redundancy by moving an expression to before a call instruction.
2017-11-03Merge branch 'maint'Sverker Eriksson
2017-11-03Merge PR-1607 from sverker/hipe_bin_utf32_bug OTP-14740Sverker Eriksson
Fix hipe bug in binary <<X/utf32>> construction
2017-11-03Fix bug in hipe for <<X/utf32>>Sverker Eriksson
by introducing new primop 'is_unicode' with no exception (ab)use and no GC. Replaces bs_validate_unicode which is kept for backward compat for now.
2017-11-02Merge branch 'maint'Ingela Anderton Andin
Conflicts: OTP_VERSION
2017-11-02Merge branch 'maint-20' into maintIngela Anderton Andin
* maint-20: Updated OTP version Update release notes inets: Prepare for release inets: httpd - Fix broken handling of POST requests inets: Make sure httpd:stop_service is synchronous inets: httpd - do not hardcode 302 status for location
2017-11-02Update release notesErlang/OTP
2017-11-01Merge branch 'maint'Ingela Anderton Andin
2017-11-01Merge pull request #1613 from hamidreza-s/fix-httpc-misbehaviourIngela Andin
[#ERL-407]: Fix httpc misbehaviour based on RFC7230, section 3.3.3 OTP-14727
2017-11-01Merge branch 'maint'Ingela Anderton Andin
2017-11-01Merge branch 'ingela/inets/httpd-location/OTP-14716' into maintIngela Anderton Andin
* ingela/inets/httpd-location/OTP-14716: inets: httpd - do not hardcode 302 status for location
2017-11-01inets: Prepare for releaseIngela Anderton Andin
2017-11-01inets: httpd - Fix broken handling of POST requestsIngela Anderton Andin
New chunk mechanism of body data in POST requests added in 5d01c70ca399edf28e99dc760506329689fab6ba broke handling of POST body data not using the new mechanism. Added better regression test
2017-11-01inets: Make sure httpd:stop_service is synchronousIngela Anderton Andin
2017-11-01inets: httpd - do not hardcode 302 status for locationIngela Anderton Andin
If a status code is provide by the ESI script that status code should have precedence over internal defaults. Also remove RFC 2616 requirement that URI must be absolute, that requirement is relaxed by RFC 7231.
2017-11-01Merge branch 'maint'Hans Nilsson
2017-11-01Merge branch 'hans/crypto/DH_generate_parameters_deprecated/OTP-14639' into ↵Hans Nilsson
maint
2017-11-01crypto: replaced deprecated DH_generate_parametersHans Nilsson
2017-11-01crypto: Remove returnvalue from void C-fnHans Nilsson
2017-10-31Merge branch 'maint'Hans Nilsson
2017-10-31Merge branch 'hans/ssh/check_host_user_keys/OTP-14676' into maintHans Nilsson
2017-10-31inets: httpd - do not hardcode 302 status for locationIngela Anderton Andin
If a status code is provide by the ESI script that status code should have precedence over internal defaults. Also remove RFC 2616 requirement that URI must be absolute, that requirement is relaxed by RFC 7231.
2017-10-31Merge branch 'maint'Hans Bolinder
* maint: stdlib: Fix a minor issue with the qlc suite
2017-10-31Merge branch 'hasse/stdlib/fix_qlc_SUITE' into maintHans Bolinder
* hasse/stdlib/fix_qlc_SUITE: stdlib: Fix a minor issue with the qlc suite
2017-10-31Merge branch 'maint'Ingela Anderton Andin
2017-10-31Merge branch 'ingela/snmp/crypto-tests' into maintIngela Anderton Andin
* ingela/snmp/crypto-tests: snmp: Add crypto precondition test
2017-10-30Merge branch 'lukas/erts/misc_fixes'Lukas Larsson
* lukas/erts/misc_fixes: erts: Fix a bunch of compiler warnings kernel: Fix gen_tcp_misc indentation erts: Fail port_SUITE:huge_env if error code > 127 erts: Add lcnt prototype for dist locks update
2017-10-30stdlib: Fix a minor issue with the qlc suiteHans Bolinder
When comparing the process dictionary before and after a test, only (a sorted list of) qlc keys are compared.
2017-10-30ssh: Fix testcase failures caused by better key checksHans Nilsson
2017-10-30ssh: Testcase with ecdsa hostkey placed in rsa filesHans Nilsson
2017-10-30ssh: Client checks user's public keyHans Nilsson
2017-10-30ssh: Server checks host key files at start and at acceptHans Nilsson
2017-10-30ssh: Sharpen the PubKey validity checkHans Nilsson
2017-10-30Merge pull request #1610 from bjorng/bjorn/erts/is_builtin/ERL-500/OTP-14713Björn Gustavsson
Correct erlang:is_builtin/3 for apply/2 and yield/0
2017-10-30Merge branch 'bjorn/compiler/eliminate-v3_life/OTP-14712'Björn Gustavsson
* bjorn/compiler/eliminate-v3_life/OTP-14712: Eliminate the v3_life pass
2017-10-29[#ERL-407]: Fix httpc misbehaviour based on RFC7230, section 3.3.3Hamidreza Soleimani
If a message is received with both a Transfer-Encoding and a Content-Length header field, it might indicate an attempt to perform request smuggling or response splitting and must be handled as an error in default mode (not relaxed mode). Bug report: https://bugs.erlang.org/browse/ERL-407
2017-10-27snmp: Add crypto precondition testIngela Anderton Andin
2017-10-27Merge branch 'maint'Ingela Anderton Andin
2017-10-27Merge branch 'ingela/public_key-test' into maintIngela Anderton Andin
* ingela/public_key-test: public_key: Check that ec curve used for test is supported
2017-10-27Correct erlang:is_builtin/3 for apply/2 and yield/0Björn Gustavsson
erlang:is_builtin(erlang, M, F) returns false for apply/2 and yield/0. The documentation for erlang:is_builtin/3 says that it returns true for BIFs that are implemented in C. apply/2 and yield/0 are implemented in C (as BEAM instructions), and therefore the correct return value is true. Also see a similar argument that was made for apply/3 in the past: http://erlang.org/pipermail/erlang-bugs/2015-October/005101.html https://bugs.erlang.org/browse/ERL-500
2017-10-27Merge branch 'maint'Ingela Anderton Andin
2017-10-27Eliminate the v3_life passBjörn Gustavsson
The v3_life pass does not do enough to be worth being its own pass. Essentially it does two things: * Calculates life-time information starting from the annotations that v3_kernel provides. That part can be moved into v3_codegen. * Rewrites the Kernel Erlang records to similar plain tuples (for example, #k_cons{hd=Hd,tl=Tl} is rewritten to {cons,Hd,Tl}). That rewriting is not needed and can be eliminated.
2017-10-26inets: Correct guard testIngela Anderton Andin
Guard test for error case was not updated to handle httpc stream concept properly.
2017-10-26public_key: Check that ec curve used for test is supportedIngela Anderton Andin
2017-10-26Merge branch 'maint'Ingela Anderton Andin
2017-10-26Merge branch 'ingela/inets/not-chunked-esi/OTP-14656' into maintIngela Anderton Andin
* ingela/inets/not-chunked-esi/OTP-14656: inets: httpd - Fix broken handling of POST requests