aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/beam_load.c
diff options
context:
space:
mode:
authorBjörn Gustavsson <[email protected]>2011-06-15 08:03:25 +0200
committerBjörn Gustavsson <[email protected]>2011-10-11 11:36:35 +0200
commit207436c383995dc6fcea1953f9188f8df280bd81 (patch)
tree7d9c953308556cb5ba2c5012e96d84c84af14d2d /erts/emulator/beam/beam_load.c
parent5bd8f04a8a4b5c7a3f859355dd47dab27c6fa494 (diff)
downloadotp-207436c383995dc6fcea1953f9188f8df280bd81.tar.gz
otp-207436c383995dc6fcea1953f9188f8df280bd81.tar.bz2
otp-207436c383995dc6fcea1953f9188f8df280bd81.zip
Combine a 'call' instruction with the following 'end' instruction
A 'call' instruction in the loader transformation language is always followed by an 'end' instruction, so we can replace the 'call' instruction with a 'call_end' instruction.
Diffstat (limited to 'erts/emulator/beam/beam_load.c')
-rw-r--r--erts/emulator/beam/beam_load.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/erts/emulator/beam/beam_load.c b/erts/emulator/beam/beam_load.c
index 4da411be1f..0d639572e0 100644
--- a/erts/emulator/beam/beam_load.c
+++ b/erts/emulator/beam/beam_load.c
@@ -4458,8 +4458,8 @@ transform_engine(LoaderState* st)
#endif
break;
-#if defined(TOP_call)
- case TOP_call:
+#if defined(TOP_call_end)
+ case TOP_call_end:
{
GenOp** lastp;
GenOp* new_instr;
@@ -4496,7 +4496,7 @@ transform_engine(LoaderState* st)
*lastp = st->genop;
st->genop = new_instr;
}
- break;
+ RETURN(TE_OK);
#endif
case TOP_new_instr:
/*