aboutsummaryrefslogtreecommitdiffstats
path: root/lib/compiler/src/beam_block.erl
diff options
context:
space:
mode:
authorBjörn Gustavsson <[email protected]>2015-02-27 15:17:01 +0100
committerBjörn Gustavsson <[email protected]>2015-03-09 09:41:12 +0100
commit1f0ae04d3745bf316f620ef35b24f87c0da7c05b (patch)
tree9774006cb02d81c0129a59785d05ceac15ed5d05 /lib/compiler/src/beam_block.erl
parentea46a223e34eefbc765facb0ec0fd90fb891c53d (diff)
downloadotp-1f0ae04d3745bf316f620ef35b24f87c0da7c05b.tar.gz
otp-1f0ae04d3745bf316f620ef35b24f87c0da7c05b.tar.bz2
otp-1f0ae04d3745bf316f620ef35b24f87c0da7c05b.zip
Introduce '%live' annotations with a complete register map
As a preparation for fixing a bug, introduce a complete register map in the '%live' annotations.
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([]) -> [].