aboutsummaryrefslogtreecommitdiffstats
path: root/erts
diff options
context:
space:
mode:
authorBjörn Gustavsson <[email protected]>2019-02-28 07:30:20 +0100
committerBjörn Gustavsson <[email protected]>2019-03-01 14:06:13 +0100
commitd841a0919f73adca02a1776e65fca4fd8318050d (patch)
tree1bc645a4113b3640434054df50e82951108dea01 /erts
parentfa578a4025c1cbf46c3885ba7fe44fe6301b66c0 (diff)
downloadotp-d841a0919f73adca02a1776e65fca4fd8318050d.tar.gz
otp-d841a0919f73adca02a1776e65fca4fd8318050d.tar.bz2
otp-d841a0919f73adca02a1776e65fca4fd8318050d.zip
Remove the combined instruction is_nonempty_list_test_heap
It turns out that the combination of is_nonempty_list and test_heap is no longer frequent.
Diffstat (limited to 'erts')
-rw-r--r--erts/emulator/beam/instrs.tab6
-rw-r--r--erts/emulator/beam/ops.tab3
2 files changed, 0 insertions, 9 deletions
diff --git a/erts/emulator/beam/instrs.tab b/erts/emulator/beam/instrs.tab
index 855dcf943a..14ca07f97e 100644
--- a/erts/emulator/beam/instrs.tab
+++ b/erts/emulator/beam/instrs.tab
@@ -666,12 +666,6 @@ is_nonempty_list(Fail, Src) {
}
}
-is_nonempty_list_test_heap(Fail, Need, Live) {
- //| -no_prefetch
- $is_nonempty_list($Fail, x(0));
- $test_heap($Need, $Live);
-}
-
is_nonempty_list_allocate(Fail, Src, Need, Live) {
//| -no_prefetch
$is_nonempty_list($Fail, $Src);
diff --git a/erts/emulator/beam/ops.tab b/erts/emulator/beam/ops.tab
index a935c3f84a..47a8e566b2 100644
--- a/erts/emulator/beam/ops.tab
+++ b/erts/emulator/beam/ops.tab
@@ -676,13 +676,10 @@ is_list f? y
is_nonempty_list Fail=f S=x | allocate Need Rs => is_nonempty_list_allocate Fail S Need Rs
-is_nonempty_list F=f x==0 | test_heap I1 I2 => is_nonempty_list_test_heap F I1 I2
-
is_nonempty_list Fail=f S=x | get_list S D1=x D2=x => \
is_nonempty_list_get_list Fail S D1 D2
is_nonempty_list_allocate f? rx t t
-is_nonempty_list_test_heap f? I t
is_nonempty_list_get_list f? rx x x
is_nonempty_list f? xy