diff options
author | Björn Gustavsson <[email protected]> | 2015-03-09 09:41:42 +0100 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2015-03-09 09:41:42 +0100 |
commit | a7a7f22f315cb0b9d607709cdfca11805758da3c (patch) | |
tree | a148089efb350218b7c3c08c879c209c655d89b5 /lib/compiler/src/beam_block.erl | |
parent | f2d39216e0587db58b5a79c78bfe94b00334cd0d (diff) | |
parent | 0d3be61f3a4b5aa3437d08603ea7565432e3a07b (diff) | |
download | otp-a7a7f22f315cb0b9d607709cdfca11805758da3c.tar.gz otp-a7a7f22f315cb0b9d607709cdfca11805758da3c.tar.bz2 otp-a7a7f22f315cb0b9d607709cdfca11805758da3c.zip |
Merge branch 'bjorn/compiler/maps'
* bjorn/compiler/maps:
v3_codegen: Teach the put_map_* instructions to reuse source registers
beam_validator: Tighten tests of maps
v3_core: Eliminate the sloppiness-encouraging get_ianno/1 function
v3_core: Add is_map tests before map instructions
beam_type: Use the complete register map when calculating liveness
Introduce '%live' annotations with a complete register map
beam_validator: Teach bif_type/3 and is_bif_safe/2 about is_map/1
v3_core: Simplify conversion of map patterns
Diffstat (limited to 'lib/compiler/src/beam_block.erl')
-rw-r--r-- | lib/compiler/src/beam_block.erl | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/compiler/src/beam_block.erl b/lib/compiler/src/beam_block.erl index 7d65dc983a..92f09e400c 100644 --- a/lib/compiler/src/beam_block.erl +++ b/lib/compiler/src/beam_block.erl @@ -184,7 +184,7 @@ embed_lines([], Acc) -> Acc. opt_blocks([{block,Bl0}|Is]) -> %% The live annotation at the beginning is not useful. - [{'%live',_}|Bl] = Bl0, + [{'%live',_,_}|Bl] = Bl0, [{block,opt_block(Bl)}|opt_blocks(Is)]; opt_blocks([I|Is]) -> [I|opt_blocks(Is)]; @@ -269,7 +269,7 @@ opt([{set,_,_,{line,_}}=Line1, opt([{set,Ds0,Ss,Op}|Is0]) -> {Ds,Is} = opt_moves(Ds0, Is0), [{set,Ds,Ss,Op}|opt(Is)]; -opt([{'%live',_}=I|Is]) -> +opt([{'%live',_,_}=I|Is]) -> [I|opt(Is)]; opt([]) -> []. |