diff options
author | Björn Gustavsson <[email protected]> | 2017-09-09 12:30:35 +0200 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2017-09-14 10:16:15 +0200 |
commit | e8ee9f4cba07c7aa05685207c54ae1d773bf1814 (patch) | |
tree | e3d63c6080c85195339603853ae278a8d2cd5b84 /erts/emulator/beam/select_instrs.tab | |
parent | 6f45ff73583aa7d0352b8a16df78872f47defd35 (diff) | |
download | otp-e8ee9f4cba07c7aa05685207c54ae1d773bf1814.tar.gz otp-e8ee9f4cba07c7aa05685207c54ae1d773bf1814.tar.bz2 otp-e8ee9f4cba07c7aa05685207c54ae1d773bf1814.zip |
Pack failure labels in i_select_val2 and i_select_tuple_arity2
Diffstat (limited to 'erts/emulator/beam/select_instrs.tab')
-rw-r--r-- | erts/emulator/beam/select_instrs.tab | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/erts/emulator/beam/select_instrs.tab b/erts/emulator/beam/select_instrs.tab index f5ce5d5a32..2951949d38 100644 --- a/erts/emulator/beam/select_instrs.tab +++ b/erts/emulator/beam/select_instrs.tab @@ -94,11 +94,13 @@ select_val2.get_arity() { } } -select_val2.execute(Fail, T1, T2, D1, D2) { +select_val2.execute(Fail, T1, T2) { + Sint32* jump_tab = (Sint32 *) ($NEXT_INSTRUCTION); + if (select_val2 == $T1) { - $JUMP($D1); + $JUMP(jump_tab[0]); } else if (select_val2 == $T2) { - $JUMP($D2); + $JUMP(jump_tab[1]); } else { $FAIL($Fail); } |