aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/beam_emu.c
diff options
context:
space:
mode:
authorBjörn Gustavsson <[email protected]>2017-09-15 12:29:58 +0200
committerBjörn Gustavsson <[email protected]>2017-10-05 12:37:57 +0200
commit985524704ddd62cf85385a323861377608d66c9c (patch)
treeae1deb50e492837ee0ca8837b4dff2447d6a9301 /erts/emulator/beam/beam_emu.c
parentf88bd45a2c76f84a16b004922945579898cc35ac (diff)
downloadotp-985524704ddd62cf85385a323861377608d66c9c.tar.gz
otp-985524704ddd62cf85385a323861377608d66c9c.tar.bz2
otp-985524704ddd62cf85385a323861377608d66c9c.zip
Optimize instruction prefetch
Diffstat (limited to 'erts/emulator/beam/beam_emu.c')
-rw-r--r--erts/emulator/beam/beam_emu.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/erts/emulator/beam/beam_emu.c b/erts/emulator/beam/beam_emu.c
index 73c4e3532b..aa94fbf536 100644
--- a/erts/emulator/beam/beam_emu.c
+++ b/erts/emulator/beam/beam_emu.c
@@ -52,11 +52,13 @@
# define CountCase(OpCode) case op_count_##OpCode
# define IsOpCode(InstrWord, OpCode) (BeamCodeAddr(InstrWord) == (BeamInstr)op_##OpCode)
# define Goto(Rel) {Go = BeamCodeAddr(Rel); goto emulator_loop;}
+# define GotoPF(Rel) Goto(Rel)
#else
# define OpCase(OpCode) lb_##OpCode
# define CountCase(OpCode) lb_count_##OpCode
# define IsOpCode(InstrWord, OpCode) (BeamCodeAddr(InstrWord) == (BeamInstr)&&lb_##OpCode)
# define Goto(Rel) goto *((void *)BeamCodeAddr(Rel))
+# define GotoPF(Rel) goto *((void *)Rel)
# define LabelAddr(Label) &&Label
#endif