aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/beam_emu.c
diff options
context:
space:
mode:
authorBjörn Gustavsson <[email protected]>2010-12-14 07:49:13 +0100
committerBjörn Gustavsson <[email protected]>2011-01-17 15:23:41 +0100
commit33aca759679ed65ad5addebbdc8f2ad8929125a2 (patch)
tree9ef69d804837abaa9b079b6d80ac709787174a6f /erts/emulator/beam/beam_emu.c
parent56da36ef79a1c7ffb39836e1838084ed53dda6f0 (diff)
downloadotp-33aca759679ed65ad5addebbdc8f2ad8929125a2.tar.gz
otp-33aca759679ed65ad5addebbdc8f2ad8929125a2.tar.bz2
otp-33aca759679ed65ad5addebbdc8f2ad8929125a2.zip
Allow packing of some more instructions
Diffstat (limited to 'erts/emulator/beam/beam_emu.c')
-rw-r--r--erts/emulator/beam/beam_emu.c17
1 files changed, 7 insertions, 10 deletions
diff --git a/erts/emulator/beam/beam_emu.c b/erts/emulator/beam/beam_emu.c
index bce51a001f..82925fda2c 100644
--- a/erts/emulator/beam/beam_emu.c
+++ b/erts/emulator/beam/beam_emu.c
@@ -474,6 +474,13 @@ extern int count_instructions;
HEAP_SPACE_VERIFIED(need); \
} while (0)
+#define TestHeapPutList(Need, Reg) \
+ do { \
+ TestHeap((Need), 1); \
+ PutList(Reg, r(0), r(0), StoreSimpleDest); \
+ CHECK_TERM(r(0)); \
+ } while (0)
+
#ifdef HYBRID
#ifdef INCREMENTAL
#define TestGlobalHeap(Nh, Live, hp) \
@@ -1407,16 +1414,6 @@ void process_main(void)
Goto(*I);
}
- OpCase(test_heap_1_put_list_Iy): {
- BeamInstr *next;
-
- PreFetch(2, next);
- TestHeap(Arg(0), 1);
- PutList(yb(Arg(1)), r(0), r(0), StoreSimpleDest);
- CHECK_TERM(r(0));
- NextPF(2, next);
- }
-
/*
* Send is almost a standard call-BIF with two arguments, except for:
* 1) It cannot be traced.