aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/ops.tab
diff options
context:
space:
mode:
authorBjörn Gustavsson <[email protected]>2019-03-12 07:20:43 +0100
committerBjörn Gustavsson <[email protected]>2019-03-19 16:01:59 +0100
commit7e44a4b8eaad7d7d6fadf933794d3a0d05790b23 (patch)
tree4b47c8a8d88ee6f9bd515ff79c0265af7b6c31e4 /erts/emulator/beam/ops.tab
parenta0a3f3c1891bf74d35b84855891caa5928cc14c1 (diff)
downloadotp-7e44a4b8eaad7d7d6fadf933794d3a0d05790b23.tar.gz
otp-7e44a4b8eaad7d7d6fadf933794d3a0d05790b23.tar.bz2
otp-7e44a4b8eaad7d7d6fadf933794d3a0d05790b23.zip
Combine move with trim
It is relatively common to move something from a Y register to an X register before trimming.
Diffstat (limited to 'erts/emulator/beam/ops.tab')
-rw-r--r--erts/emulator/beam/ops.tab3
1 files changed, 3 insertions, 0 deletions
diff --git a/erts/emulator/beam/ops.tab b/erts/emulator/beam/ops.tab
index a6f5ba347c..4f57e8d9d5 100644
--- a/erts/emulator/beam/ops.tab
+++ b/erts/emulator/beam/ops.tab
@@ -106,7 +106,10 @@ init y
allocate_zero t t?
allocate_heap_zero t I t?
+move Src=y Dst=x | trim N Remaining => move_trim Src Dst N
trim N Remaining => i_trim N
+
+move_trim y x t
i_trim t
test_heap I t?