aboutsummaryrefslogtreecommitdiffstats
path: root/lib/compiler/src/beam_block.erl
diff options
context:
space:
mode:
authorBjörn Gustavsson <[email protected]>2015-03-09 09:41:42 +0100
committerBjörn Gustavsson <[email protected]>2015-03-09 09:41:42 +0100
commita7a7f22f315cb0b9d607709cdfca11805758da3c (patch)
treea148089efb350218b7c3c08c879c209c655d89b5 /lib/compiler/src/beam_block.erl
parentf2d39216e0587db58b5a79c78bfe94b00334cd0d (diff)
parent0d3be61f3a4b5aa3437d08603ea7565432e3a07b (diff)
downloadotp-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.erl4
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([]) -> [].