diff options
author | Sverker Eriksson <[email protected]> | 2014-02-20 14:34:41 +0100 |
---|---|---|
committer | Sverker Eriksson <[email protected]> | 2014-02-25 15:27:15 +0100 |
commit | eb53a3f0b7a7d6c4d0a877fe71bc0b0ca11d1597 (patch) | |
tree | 15984846b7c73235628a167220016d661bd524ff /erts/emulator/hipe/hipe_mode_switch.h | |
parent | 880239f529bbdefecc39cc179a24d9ea89c3736a (diff) | |
download | otp-eb53a3f0b7a7d6c4d0a877fe71bc0b0ca11d1597.tar.gz otp-eb53a3f0b7a7d6c4d0a877fe71bc0b0ca11d1597.tar.bz2 otp-eb53a3f0b7a7d6c4d0a877fe71bc0b0ca11d1597.zip |
erts: Fix heap overwrite by hipe "trap frames" when GC is disabled
by trapping BIFs like term_to_binary and binary_to_term.
Diffstat (limited to 'erts/emulator/hipe/hipe_mode_switch.h')
-rw-r--r-- | erts/emulator/hipe/hipe_mode_switch.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/erts/emulator/hipe/hipe_mode_switch.h b/erts/emulator/hipe/hipe_mode_switch.h index a3e908a3b3..06721e3c04 100644 --- a/erts/emulator/hipe/hipe_mode_switch.h +++ b/erts/emulator/hipe/hipe_mode_switch.h @@ -59,6 +59,9 @@ void hipe_empty_nstack(Process *p); void hipe_set_closure_stub(ErlFunEntry *fe, unsigned num_free); Eterm hipe_build_stacktrace(Process *p, struct StackTrace *s); +void hipe_reserve_beam_trap_frame(Process*, Eterm reg[], unsigned arity); +void hipe_unreserve_beam_trap_frame(Process*); + extern Uint hipe_beam_pc_return[]; extern Uint hipe_beam_pc_throw[]; extern Uint hipe_beam_pc_resume[]; |