Age | Commit message (Collapse) | Author |
|
|
|
|
|
Now handles map instructions correctly.
|
|
|
|
|
|
|
|
|
|
|
|
* Combine multiple get values with one instruction
* Combine multiple check keys with one instruction
|
|
* egil/compiler/maps-fix-sys_core_fold:
compiler: Fix sys_core_fold let optimization
compiler: Add debug listing after sys_core_fold
|
|
* egil/compiler/maps-fix-codegen:
compiler: Fix codegen multiple updates for Maps
erts,compiler: Correct and amend tests for Maps
|
|
* ia/public_key/specs:
public_key: Export some dialyzer types
|
|
Map variable was not covered and faulty optimization could occur.
Ex.
t() ->
M0 = id(#{ "a" => 1 }),
#{ "a" := _ } = M0,
M0#{ "a" := b }.
M0 was lost in let expression optimization.
|
|
|
|
This fixes an error on multiple updates optimization for map pairs.
The error was introduced with moving to term order in Maps.
This also fixes an error where register life time was lost for values
and could result in erroneuos values being emitted in for map pairs.
Simplified v3_codegen by moving multiple update optimizations to v3_kernel.
|
|
Faulty test for maps update
|
|
* nox/tools/cover-record-update:
Properly munge record updates in cover
Don't munge record and field names in cover
|
|
* nox/eep37/OTP-11537:
Support named funs in erl_prettypr
|
|
* vladdu/debugger/fixes:
remove warning for variable exported from case
remove useless match
remove unused parameter
|
|
* hsv/using_lists_droplast:
lib/mnesia/test/ - Replace reverse(tl(reverse(L))) with lists:droplast/1
lib/ssh - Replace reverse(tl(reverse(L))) with lists:droplast/1
lib/wx - Replace reverse(tl(reverse(L))) with lists:droplast/1
Use lists:droplast/1 in orber/orber_interceptors.erl
Import and use lists:droplast/1 in v3_core/v3_kernel
OTP-11678
OTP-11677
|
|
* hsv/add_droplast_to_lists:
Added documentation of lists:droplast/1
Added tests for lists:droplast/1 to stdlib/lists_SUITE
stdlib/lists: Add function droplast/1 This functions drops the last element of a non-empty list.
|
|
* egil/erts/fix-maps-beam_load:
compiler: Update map_SUITE with error case test
erts: Maps must fail on exact updates of empty Maps
erts: Fix Maps for beam_load
|
|
M#{ key := V } should fail when M is not a Map
|
|
Exact updates on empty Maps must fail directly.
|
|
* kostis/dialyzer-r17c0-fixes:
Shut off a dialyzer unmatched return warning
Add a spec for a function that does not return
|
|
* ia/ssl/unicode-adapt:
ssl: Unicode adaptions
|
|
* hb/doc/release_name:
Make the references to various Erlang/OTP releases verbose
|
|
* hb/dialyzer/fix_app_file:
Add app-test and correct dialyzer.app.src
|
|
* bjorn/erts/zlib-1.2.8/OTP-11669:
gzio.c: Remove unnecessary usage of the OF() macro
|
|
|
|
Move dilayzer types from include file to erl file and use
-export_type
|
|
|
|
* nox/maps-absform:
Document maps-related abstract syntax trees
|
|
* nox/debugger/maps-support/OTP-11673:
debugger: Fix release_tests
Support maps in the debugger
|
|
|
|
|
|
* bjorn/compiler/applying-binary-crash/OTP-11672:
beam_bsm: Eliminate emulator crash when a binary is called
beam_validator: Validate the "fun" argument for a call_fun/1 instruction
|
|
* bjorn/compiler/optimizations/OTP-11584:
sys_core_fold: Prevent case expressions from being evaluated twice
sys_core_fold_SUITE: For cleanliness, move id/1 to the end
|
|
|
|
Map source may be anything, not only registers.
|
|
|
|
|
|
|
|
We must not do the delayed binary creation optimization if the
code attempts to call the matched out binary. Calling a matchstate
will crash the run-time system.
Reported-by: Loïc Hoguin
|
|
The fun argument for a call_fun/1 instruction was not validated.
|
|
* hans/ssh/known_hosts/OTP-11671:
ssh: fix 'known_hosts' bug in ssh_file
|
|
|
|
* hans/ssh/decode_error/OTP-11667:
Fix that result on stderr sent back to ssh:exec had length info present
|
|
|
|
* peppe/common_test/ts_mods:
Add more Common Test start arguments to the ts run interface
|