From d841a0919f73adca02a1776e65fca4fd8318050d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Gustavsson?= Date: Thu, 28 Feb 2019 07:30:20 +0100 Subject: 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. --- erts/emulator/beam/instrs.tab | 6 ------ erts/emulator/beam/ops.tab | 3 --- 2 files changed, 9 deletions(-) (limited to 'erts') 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 -- cgit v1.2.3