Age | Commit message (Collapse) | Author |
|
fd682dd3b1dc corrected label generation for 'or', but forgot to
remove the old incorrect clause (that can no longer be reached).
|
|
The code will be significantly improved by running the
type optimization pass twice.
The ssa_opt_misc pass can be eliminated because everything it does
is also done by the type optimization pass.
|
|
The beam_ssa_type pass would leave redundant 'succeeded' instructions,
and depend on the live optimization pass to remove them.
Update beam_ssa_type to remove redundant 'succeeded' instructions.
This will not improve the generated code, but will improve compilation
times since it eliminates instructions and variables.
|
|
Eliminate the beam_bs compiler pass
|
|
Do the optimizations of bs_put* instructions in beam_ssa_opt
and remove the beam_bs pass. This can lead to a slight improvement
of compilation times.
|
|
There are two instructions that take string operands:
{bs_put_string,Fail,NumberOfBytes,{string,String}}
{bs_match_string,Fail,Register,NumberOfBits,{string,String}}
In the canonical BEAM code that is passed to beam_asm, string String
is currently represented as a list. (The string in bs_match_string is
a bitstring before the beam_z compiler pass.) That is wasteful,
because there will be unnecessary conversions between lists and
binaries.
Change the representation of String to be a binary.
Furthermore, bs_put_string is an optimization of a bs_put_binary
instruction with a literal binary operand. Currently, the
bs_put_string instruction is introduced in beam_bs. Delay the
introduction of bs_put_string to the beam_z pass. That will simplify
optimizations and allow us to do the optimization currently done
in beam_bs in a SSA pass in a future commit.
|
|
The optimization can be applied in a few more places if done
before ssa_opt_bsm_shortcut (for example, in unicode:cbv/2).
|
|
* maint:
beam_type: Eliminate compiler crash when arithmetic expression fails
Conflicts:
lib/compiler/src/beam_type.erl
|
|
* bjorn/compiler/beam_type/ERL_829/OTP-15518:
beam_type: Eliminate compiler crash when arithmetic expression fails
|
|
* maint:
Updated OTP version
Prepare release
|
|
* maint-21:
Updated OTP version
Prepare release
|
|
* maint:
Fix bug causing dirty scheduler sleeper list inconsistency
|
|
* rickard/dirty_scheduler_collapse/maint-21/OTP-15509:
Fix bug causing dirty scheduler sleeper list inconsistency
|
|
Improve type optimizations
|
|
|
|
* ingela/ssl/test-cuddle:
ssl: Cuddle tests
|
|
|
|
* maint:
syntax_tools: Fix pretty-printing of type funs
|
|
* hasse/syntax_tools/fun_types/ERL-815/OTP-15519:
syntax_tools: Fix pretty-printing of type funs
|
|
* maint:
Fix erl_parse:af_constraint()
Fix erl_parse:af_fun_type()
Add literal character to erl_parse:abstract_type/0 type
|
|
Fixes in erl_parse:abstract_type/0 type
|
|
* maint:
Fix sorting in lists.xml
|
|
* jfw7/stdlib/fix_doc_lists/PR-2049:
Fix sorting in lists.xml
|
|
|
|
|
|
* rickard/dirty_scheduler_collapse/maint-21/OTP-15509:
Fix bug causing dirty scheduler sleeper list inconsistency
|
|
* john/erts/prim_file-init-restart/OTP-15495/ERL-821:
Remove an unused variable
Spawn prim_file helper as a system process
|
|
maint-21
* peterdmv/ssl/fix-srp-encode-decode/ERL-790/OTP-15477:
ssl: Fix encoding/decoding of the SRP extension
|
|
* ingela/ssl/enhance-error-handling/OTP-15505:
ssl: Cuddle test cases
ssl: Fix test case
ssl: Fix two invalid gen_statem returns
|
|
* ingela/maint-21/active-once/ERL-371/OTP-15504:
ssl: Guarantee active once data delivery
|
|
* lars/xmerl/bug-in-detect-charset/OTP-15492:
[xmerl] Fix detect charset crash
|
|
* bjorn/compiler/interim-tuple-bug/OTP-15501/ERL-807:
Remove unsafe optimization for delaying creation of stackframe
|
|
* lukas/ssl/benchmark_basic_test:
inets: Decrease benchmark TC timeout
inets: Fix crypto:rand_bytes usage in benchmarks
ssl: Only run a basic fast test in test cycle
|
|
|
|
|
|
Some of the slower machines takes 20-30 minutes to run
one iteration of the payload test.
|
|
|
|
* lukas/erts/spawn_opt_max_heap_tc_fix:
erts: Fix process_SUITE:max_heap tests
|
|
|
|
* lukas/erts/fix-seq_trace-reset_trace/OTP-15490:
erts: Remove dead gdb functions from code
erts: Make sure to take main lock when dumping proc info
|
|
|
|
If the main lock is not taken then any process running
on a dirty scheduler may cause all kinds of problems.
|
|
Conflicts:
erts/emulator/beam/bif.c
erts/preloaded/ebin/erlang.beam
erts/preloaded/ebin/erts_internal.beam
erts/preloaded/ebin/prim_file.beam
|
|
* lukas/erts/set_logger_process/OTP-15375:
Update preloaded modules
erts: Add erlang:system_flag(system_logger,_)
|
|
Conflicts:
lib/ssl/src/ssl.erl
|
|
Correction of type abstract_expr -> abstract_expr() in erl_parse
|
|
IngelaAndin/ingela/ssl/save-specific-session/OTP-15369
Ingela/ssl/save specific session/otp 15369
|
|
`search/2` was sorted incorrectly.
|
|
* maint:
crypto: Refresh of test case for elliptic curves
crypto: Rename a testcase
|
|
* hans/crypto/cuddle_tests:
crypto: Refresh of test case for elliptic curves
crypto: Rename a testcase
|