Age | Commit message (Collapse) | Author |
|
X register 0 used to be mapped to a hardware register, and therefore
faster than the other registers. Because of that, the compiler
tried to use x(0) as much as possible as a temporary register.
That was changed a few releases ago. X register 0 is now placed
in the array of all X registers and has no special speed
advantage compared to the other registers.
Remove the code in the compiler that attempts to use x(0) as
much as possible. As a result, the following type of instruction
will be much less frequent:
{put_list,Src,{x,0},{x,0}}
Instead, the following type of instruction will be more frequent:
{put_list,Src,{x,X},{x,X}}
(Where X is an arbitrary X register.)
Update the runtime system to specialize that kind of put_list
instruction.
|
|
* maint:
Fix type create_option() in mnesia
|
|
Fix type create_option() in mnesia
|
|
|
|
* bjorn/compiler/coverage:
v3_codegen: Remove check of operand for bs_context_to_binary
beam_jump: Eliminate a repeated clause
beam_asm: No longer allow iolists as contents in chunk/2
beam_utils_SUITE: Cover more lines in beam_utils
guard_SUITE: Add a test case to cover beam_dead:turn_op/1
Recognize 'nil' as a literal in beam_utils:bif_to_test/3
Cover more code in beam_bsm:btb_opt_1/3
Add test to cover a line in v3_kernel:opt_single_valued/3
|
|
* maint:
Avoid falling measurements testcases on slow machines
stdlib: string optimize special case for ASCII
stdlib: Minor unicode_util opts
|
|
* dgud/stdlib/optimize-string-lists:
Avoid falling measurements testcases on slow machines
stdlib: string optimize special case for ASCII
stdlib: Minor unicode_util opts
OTP-14670
|
|
|
|
|
|
Avoid unicode_util module call for ASCII strings
|
|
Exit early for Latin-1
|
|
|
|
* ingela/ssl/ERL-521/OTP-14794:
ssl: Make sure all possible data is delivered
|
|
Conflicts:
lib/ssl/src/ssl_connection.erl
|
|
* ingela/ssl/cleaner-code:
ssl: Add gracefullness to dtls code
ssl: Remove old softupgrade code
ssl: Use genstamtem properly
|
|
The bs_context_to_binary instruction only allows a register operand.
v3_codegen has a test to ensure that the operand is a register.
That test is no longer necessary. There used to be a possibility
that optimizations in sys_core_fold and the inliner could change
the operand for bs_context_to_binary to a binary literal. Since
09112806c15a81b that can no longer happen, because no more
optimizations are run after the introduction of the
bs_context_to_binary instruction.
|
|
|
|
|
|
|
|
* maint:
dialyzer: Extend the map implementation's handling of ?unit
dialyzer: Use string:find() instead of string:str()
|
|
* hasse/dialyzer/maps_anon_fun/OTP-14743:
dialyzer: Extend the map implementation's handling of ?unit
dialyzer: Use string:find() instead of string:str()
|
|
* maint:
public_key: Fix failing pkix_verify_hostname_subjAltName_IP TC
|
|
* hans/ssh/public_key/fix_bad_cert_merge:
public_key: Fix failing pkix_verify_hostname_subjAltName_IP TC
|
|
Fixed handling of URL paths that contain space (%20) characters.
Change-Id: Ic09691e35c70ee005af7637a6ec3ae588097bec1
|
|
The create_option() type in mnesia lacks the user_properties field
which is used by mnesia in various places.
|
|
* maint:
Update HOWTO with wxWidgets build examples
https should be mapped to url and not seealso
Update kernel appup for OTP-20.2
|
|
* dgud/erl_docgen/https2url:
Update HOWTO with wxWidgets build examples
https should be mapped to url and not seealso
|
|
* siri/appups-20.2:
Update kernel appup for OTP-20.2
|
|
Was due to an unresolved merge conflict in a453532fe31eecd8c39b5035702ee20b402fd687
|
|
This clause seems to have been introduced in cac51274eb9a.
|
|
The clause that converted an iolist to a binary was never
executed.
Note that chunk/2 is called for all chunks in the
{extra_chunks,Chunks} option. This change will enforce that the
contents of each chunk must be a binary (as documented).
|
|
|
|
f9a323d10a9f5d added consistent operand order for equality
comparisons. As a result, beam_dead:turn_op/1 is no longer covered.
We must keep the uncovered lines in beam_dead to ensure that
beam_dead can handle BEAM assembly code from another source than
v3_codegen that might not follow the operand order convention.
The only way to cover the lines is to use BEAM assembly in
the test case.
|
|
beam_utils:bif_to_test/3 is supposed to never put a literal
operand as the first operand in is_eq_exact or is_ne_exact,
but 'nil' was not recognized as a literal.
|
|
|
|
The uncovered line was added in 6753bbcc3fdb0.
|
|
Place move S x0 instructions at the end of blocks
|
|
* hans/public_key/base64_fix/OTP-14788:
public_key: Fix bad calls to base64:*
|
|
Also make tls code a little more direct for easier uderstanding
|
|
This code is only relevant in version is was written in.
|
|
|
|
|
|
* ingela/dtls/merge-fix:
ssl: Fix incorrect merge conflict resolution
|
|
When handling merging of back ported
Counter measurements for Bleichenbacher attack
a line from DTLS was accidentally lost.
|
|
* maint:
Use base64 encoding in crash dumps
Correct parsing of sub binaries
Generalize passing of options for decoding
|
|
* bjorn/base64-in-dumps/OTP-14686:
Use base64 encoding in crash dumps
Correct parsing of sub binaries
Generalize passing of options for decoding
|
|
The loader has a lot of fused instructions that include move S x0.
Placing them at the end of blocks makes it possible to take advantage
of this optimization more frequently.
|
|
|
|
|
|
|