diff options
author | Björn Gustavsson <[email protected]> | 2019-02-26 12:23:35 +0100 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2019-03-01 14:06:13 +0100 |
commit | a29c834dd3cef789fb6d4a45092c20680eafd29d (patch) | |
tree | 3ba554e0e1e68a552193b3ada8e81297a0c361f5 /erts/emulator/beam/ops.tab | |
parent | 60656d125a0f23c1f45069fdee80a5048439f06e (diff) | |
download | otp-a29c834dd3cef789fb6d4a45092c20680eafd29d.tar.gz otp-a29c834dd3cef789fb6d4a45092c20680eafd29d.tar.bz2 otp-a29c834dd3cef789fb6d4a45092c20680eafd29d.zip |
Combine test_arity with get_tuple_element
The test_arity instruction is often followed by get_tuple_element.
Diffstat (limited to 'erts/emulator/beam/ops.tab')
-rw-r--r-- | erts/emulator/beam/ops.tab | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/erts/emulator/beam/ops.tab b/erts/emulator/beam/ops.tab index 96cdabaf5e..e0a947a512 100644 --- a/erts/emulator/beam/ops.tab +++ b/erts/emulator/beam/ops.tab @@ -623,9 +623,13 @@ is_tuple f? rxy test_arity Fail Literal=q Arity => move Literal x | test_arity Fail x Arity test_arity Fail=f c Arity => jump Fail +test_arity Fail Tuple=x Arity | get_tuple_element Tuple Pos Dst=x => \ + test_arity_get_tuple_element Fail Tuple Arity Pos Dst test_arity f? xy A +test_arity_get_tuple_element f? x A P x + get_tuple_element Reg=x P1 D1=x | get_tuple_element Reg=x P2 D2=x | \ get_tuple_element Reg=x P3 D3=x | \ succ(P1, P2) | succ(P2, P3) | \ |