Age | Commit message (Collapse) | Author |
|
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.
|
|
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]}.
|
|
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.
|
|
During deletion, the killing of expressions was not considered.
|
|
The lazy code motion optimisation pass could violate its guarantees
eliminating partial redundancy by moving an expression to before a call
instruction.
|
|
|
|
Fix hipe bug in binary <<X/utf32>> construction
|
|
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.
|
|
Conflicts:
OTP_VERSION
|
|
* 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
|
|
|
|
|
|
[#ERL-407]: Fix httpc misbehaviour based on RFC7230, section 3.3.3
OTP-14727
|
|
|
|
* ingela/inets/httpd-location/OTP-14716:
inets: httpd - do not hardcode 302 status for location
|
|
|
|
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
|
|
|
|
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.
|
|
|
|
maint
|
|
|
|
|
|
|
|
|
|
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.
|
|
* maint:
stdlib: Fix a minor issue with the qlc suite
|
|
* hasse/stdlib/fix_qlc_SUITE:
stdlib: Fix a minor issue with the qlc suite
|
|
|
|
* ingela/snmp/crypto-tests:
snmp: Add crypto precondition test
|
|
* 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
|
|
When comparing the process dictionary before and after a test, only
(a sorted list of) qlc keys are compared.
|
|
|
|
|
|
|
|
|
|
|
|
Correct erlang:is_builtin/3 for apply/2 and yield/0
|
|
* bjorn/compiler/eliminate-v3_life/OTP-14712:
Eliminate the v3_life pass
|
|
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
|
|
|
|
|
|
* ingela/public_key-test:
public_key: Check that ec curve used for test is supported
|
|
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
|
|
|
|
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.
|
|
Guard test for error case was not updated to handle httpc stream concept
properly.
|
|
|
|
|
|
* ingela/inets/not-chunked-esi/OTP-14656:
inets: httpd - Fix broken handling of POST requests
|