diff options
author | Björn Gustavsson <[email protected]> | 2017-09-10 09:52:20 +0200 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2017-09-11 15:23:16 +0200 |
commit | 08fa79f049a9038fbcf5a40cedf86372f100080b (patch) | |
tree | 7a9ba5b8f31aedffccd26b27275e8ee578b45323 /erts/emulator/beam/ops.tab | |
parent | 0c99036e21464c643dabcf285c9e122c57958192 (diff) | |
download | otp-08fa79f049a9038fbcf5a40cedf86372f100080b.tar.gz otp-08fa79f049a9038fbcf5a40cedf86372f100080b.tar.bz2 otp-08fa79f049a9038fbcf5a40cedf86372f100080b.zip |
Change operand type from 's' to 'S' for a few instructions
'S' is slightly more efficient. Using 'S' may also enable more
packing.
Diffstat (limited to 'erts/emulator/beam/ops.tab')
-rw-r--r-- | erts/emulator/beam/ops.tab | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/erts/emulator/beam/ops.tab b/erts/emulator/beam/ops.tab index d64f6f2cfc..14d2d39e0e 100644 --- a/erts/emulator/beam/ops.tab +++ b/erts/emulator/beam/ops.tab @@ -698,7 +698,7 @@ is_boolean f xy is_function2 Fail=f acq Arity => jump Fail is_function2 Fail=f Fun a => jump Fail -is_function2 f s s +is_function2 f S s # Allocating & initializing. allocate Need Regs | init Y => allocate_init Need Regs Y @@ -1153,7 +1153,7 @@ bs_skip_utf32 Fail=f Ms=x Live=u Flags=u => \ bs_get_integer2 Fail Ms Live i=32 u=1 Flags x | \ i_bs_validate_unicode_retract Fail x Ms -i_bs_validate_unicode_retract j s s +i_bs_validate_unicode_retract j s S %hot # @@ -1212,7 +1212,7 @@ bs_private_append Fail Size Unit Bin Flags Dst => \ bs_init_writable i_bs_append j I t t s x -i_bs_private_append j t s s x +i_bs_private_append j t s S x # # Storing integers into binaries. @@ -1498,7 +1498,9 @@ i_band s s j t d i_bor j I s s d i_bxor j I s s d -i_int_bnot j s t d +i_int_bnot Fail Src=c Live Dst => move Src x | i_int_bnot Fail x Live Dst + +i_int_bnot j S t d # # Old guard BIFs that creates heap fragments are no longer allowed. |