diff options
author | Björn Gustavsson <[email protected]> | 2010-12-14 07:49:13 +0100 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2011-01-17 15:23:41 +0100 |
commit | 33aca759679ed65ad5addebbdc8f2ad8929125a2 (patch) | |
tree | 9ef69d804837abaa9b079b6d80ac709787174a6f /erts/emulator/beam/beam_emu.c | |
parent | 56da36ef79a1c7ffb39836e1838084ed53dda6f0 (diff) | |
download | otp-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.c | 17 |
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. |