Age | Commit message (Collapse) | Author |
|
* sverker/mend-do_call_trace:
erts: Fix lock checking in do_call_trace
|
|
when request id is an immediate.
Ex:
erlang:garbage_collect(P, [{async,Immediate}]).
may crash the VM.
|
|
It can easily be implemented as $OPERAND_POSITION($Operand) == 0.
|
|
It is easy to to forget to use $REFRESH_GEN_DEST() in an instruction
that has a general destionation ('d'). Add a heuristic that should
catch most if not all such problems.
|
|
In beam_emu, use "erts_gc_" for any function that does garbage
collection, as preparation for adding more sanity checks.
|
|
Add an $IF() macro to conditionally expand macros. Use it like
this:
$IF(Expression, IfTrue, IfFalse)
Expression is a Perl expression that can be evaulated at macro
expansion time. If the expression evaluates to 0, the result will be
IfFalse, otherwise IfTrue.
|
|
compose_query/{1,2} and dissect_query/1 removed as the implemented
specification (HTML 2.0) is old. They will be re-implemented based
on HTML5.
|
|
|
|
into maint
* siri/observer/dont-crash-on-expand-empty-binary/OTP-14642:
[observer] Don't crash on empty binary
|
|
Although the terminology "arguments" is used in the comments
for beam_makeops, the documentation in beam_makeops.md consistenly
use the term "operand". Since the name of the macro is user-facing,
it should be consistent with the documentation.
|
|
Make it easier to define new macros.
|
|
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.
|
|
When the code switches from printf() to erts_printf() the output
becomes garbled. Fixed by fflush()ing stdout first.
Fixed formatting of the "H E A P" banner for 64-bit systems.
|
|
which was lost in merge 3ec66701f91eba6a7a12a813b2283c2e733f62c1
|
|
which don't seem to be true.
|
|
|
|
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.
|
|
Fix for x86_64 only.
The calling native code can not handle a GC
as it has a raw pointer where to write the binary data.
If a GC happens the data (utf32) will be written
to the old deallocated heap.
|
|
|
|
|
|
The cth_log_redirect hook calls this function to check if the sasl
application is started. This is done for each error logger event.
In most systems, this is not a big problem, but on native compiled
code this call can be very slow if the message queue is long. This is
because huge message queue optimization is not implemented for native.
|
|
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
|
|
|
|
|
|
|
|
|
|
'ingela/inets/maint/httpd-location-chunk-and-close/OTP-14716/OTP-14656/OTP-14696' into maint-20
* ingela/inets/maint/httpd-location-chunk-and-close/OTP-14716/OTP-14656/OTP-14696:
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
|
|
OTP-13760
SCTP connect could return error even if the connect is ongoing
|
|
|
|
|
|
|
|
* 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
|
|
|
|
|
|
|
|
Any type that is a lower-case letter is allowed in a transformation,
even though some of them don't make sense, could cause compilation
errors when building the emulator, or crash at runtime. For example,
the type 'z' is emitted by the compiler, but eaten by the loader
before the transform engine can see it. Another example is the 'q'
type, which would crash the emulator if it was used on the right
side of a transformation rule.
In beam_makeops, define explicitly which types that are allowed in
patterns (on the left side) and in construction (on the right side).
Using that information, check the transformation rules thoroughly and
reject operands that don't make sense.
While we are it, also correct some misleading comments.
|