Age | Commit message (Collapse) | Author |
|
* bjorn/compiler/misc:
beam_ssa_type: Simplify is_singleton_type/1
beam_ssa_opt: Run ssa_opt_tuple_size early
beam_ssa_codegen: Remove forgotten and unreachable clause
beam_ssa_opt: Run the type optimization pass twice
beam_ssa_type: Eliminate redundant 'succeeded' instructions
|
|
* bjorn/compiler/fix-inlined-funs:
sys_core_inline: Kill *all* fun annotations when inlining
|
|
* bjorn/erts/fix-pt-dumping:
Fix incorrect dumping of some persistent terms
|
|
* bjorn/compiler/beam_validator/ERL-832:
Make the beam_validator smarter (again)
|
|
* hasse/fix_calls_to_io_format:
ssh: Adjust some calls to io:format()
xmerl: Adjust a call to io:format()
sasl: Adjust some calls to io:format()
common_test: Adjust some calls to io:format()
|
|
josevalim/jv-no-bin-alloc-on-empty-append/OTP-15535
Do not allocate new bitstring/binary on empty append
|
|
adds cprof to list of tools
|
|
|
|
Running ssa_opt_tuple_size early will give more opportunities
for optimizations.
|
|
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.
|
|
Needed because of the optimizations in 48f20bd589fa69.
https://bugs.erlang.org/browse/ERL-832
|
|
* maint:
Updated OTP version
Prepare release
|
|
* maint-20:
Updated OTP version
Prepare release
|
|
sys_core_inline didn't kill fun annotations in variables,
which could lead to duplicated wrapper functions for funs.
That was basically harmless because the duplicated functions
were eventually discarded.
|
|
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
|
|
There seems to be an incorrect merge conflict resolution
in abde22933f5a that merged maint to master. Dumping of
references (and possibly other terms) were broken.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* rickard/dirty_scheduler_collapse/OTP-15509:
Fix bug causing dirty scheduler sleeper list inconsistency
|
|
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
|