diff options
author | Sverker Eriksson <[email protected]> | 2011-10-14 19:23:26 +0200 |
---|---|---|
committer | Sverker Eriksson <[email protected]> | 2011-10-26 18:19:20 +0200 |
commit | 17241c30f56ba6bc31518f1c905f6178784fb4fa (patch) | |
tree | 10b6e786c2915bdfe55351088fc5634f49475925 /erts/emulator/beam/erl_gc.c | |
parent | 5a78dd349ab7974253e3058f9da73188d5394526 (diff) | |
download | otp-17241c30f56ba6bc31518f1c905f6178784fb4fa.tar.gz otp-17241c30f56ba6bc31518f1c905f6178784fb4fa.tar.bz2 otp-17241c30f56ba6bc31518f1c905f6178784fb4fa.zip |
erts-hipe: Fix new trap conventions for x86, amd64 and ppc
Diffstat (limited to 'erts/emulator/beam/erl_gc.c')
-rw-r--r-- | erts/emulator/beam/erl_gc.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/erts/emulator/beam/erl_gc.c b/erts/emulator/beam/erl_gc.c index 17cc6e0a2c..36615f913d 100644 --- a/erts/emulator/beam/erl_gc.c +++ b/erts/emulator/beam/erl_gc.c @@ -315,6 +315,11 @@ erts_gc_after_bif_call(Process* p, Eterm result, Eterm* regs, Uint arity) if (is_non_value(result)) { if (p->freason == TRAP) { + #if HIPE + if (regs == NULL) { + regs = ERTS_PROC_GET_SCHDATA(p)->x_reg_array; + } + #endif cost = erts_garbage_collect(p, 0, regs, p->arity); } else { cost = erts_garbage_collect(p, 0, regs, arity); |