aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/bif.c
diff options
context:
space:
mode:
authorBjörn Gustavsson <[email protected]>2019-03-22 15:17:47 +0100
committerBjörn Gustavsson <[email protected]>2019-03-22 15:31:32 +0100
commitf810d541b5722c153ac29b302bb509164421b5e8 (patch)
tree692ce43bd0bf35f60898c1fe5c941bc01606038a /erts/emulator/beam/bif.c
parentfcb89c6cba3be603575fa4ca68a8706861c8ebdc (diff)
downloadotp-f810d541b5722c153ac29b302bb509164421b5e8.tar.gz
otp-f810d541b5722c153ac29b302bb509164421b5e8.tar.bz2
otp-f810d541b5722c153ac29b302bb509164421b5e8.zip
beam_emu.c: Avoid triggering an assertion for the wrong reason
Before 2d2e78ad6e66 that introduced tail-recursive calls of BIFs, the stack was guaranteed not to be empty when `erlang:raise/3` was called from the `catch` block of a `try` (because the `try` had set up a stack frame that would be deallocated after the `raise` call). Now the stack can be empty, so the ASSERT() call in next_catch() that checks that there is a continuation pointer at the top of the stack may fail. Move the ASSERT() call to after check for empty stack. While at it, also add a comment of the reason for the assertion.
Diffstat (limited to 'erts/emulator/beam/bif.c')
0 files changed, 0 insertions, 0 deletions