Age | Commit message (Collapse) | Author |
|
The docs for zlib:deflateInit/6 explicitly mention that 8 is broken
and should not be used unless we know for certain that our zlib
version supports it.
|
|
1.2.11 started bailing when avail_out==0 regardless of whether
there's anything to flush or not, and there's no point in adapting
the old method since it was vulnerable to bugs in other zlib
versions which updated the deflate parameters even on failure.
The api_deflateParams test has been expanded accordingly, and two
white-box cases in zip_usage has been updated to make fewer
assumptions about the output; the validity of the compressed data
is what matters, not whether it's exactly the same as the test
vector.
|
|
Add some internal documentation about cerl_clauses
|
|
Conflicts:
lib/observer/src/crashdump_viewer.erl
|
|
* siri/cdv/misc-improvements/OTP-14755:
[cdv] Fix test of size limit reached on crash dump
[cdv] Display warning if heap is incomplete
[cdv] Check if dump version is newer than cdv can handle
[cdv] Add comment about ets tables
|
|
This test failed every now and then since the selected max size could
be greater than the actual size of the dump - so the dump was not
truncated. This is now corrected.
|
|
|
|
* siri/ct/dont-call-which_applications:
[ct] Remove call to application:which_applications()
|
|
|
|
* sverker/systask-reqid-bug:
erts: Fix bug in systask scheduling
|
|
* sverker/systask-reqid-bug:
erts: Fix bug in systask scheduling
|
|
* sverker/cleanup-hipe_bs_validate_unicode:
erts: Remove obsolete hipe primop bs_validate_unicode
|
|
|
|
fix output formatting in hipe_bifs:show_heap/1
|
|
Implement new uri_string module in stdlib
|
|
|
|
The lack of this caused serious data corruption when a binary was
altered after entering the queue. This went unnoticed because it
was never used without erlang:iolist_to_iovec, which always
emasculates binaries.
|
|
* hasse/erl_docgen/clause_i_anchors/OTP-14321:
erts: Correct a link in erlang(3)
erts: Improve some links in erlang(3)
erl_docgen: Insert an anchor for "anchor" attribute
|
|
Don't allow defining an specific operation more than once with
the exact same operands. Don't allow a specific operation to be
defined with different arities.
|
|
Fix typo in test/ets_SUITE.erl
|
|
|
|
|
|
which was replaced by 'is_unicode' in 5369e34a892bfd8ab5aa98df330e3bbf19497b71
but kept for ABI compatibility in OTP-20.*.
|
|
* 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
|