From aeb63ade341572bb307f23ff7c501c48957cc7d4 Mon Sep 17 00:00:00 2001 From: Mel Date: Wed, 31 Aug 2022 14:22:28 +0000 Subject: Remove temporary array operations --- pkg/lang/vm/vm_test.go | 47 +++++++++++++++++++++++++++++++++-------------- 1 file changed, 33 insertions(+), 14 deletions(-) (limited to 'pkg/lang/vm/vm_test.go') diff --git a/pkg/lang/vm/vm_test.go b/pkg/lang/vm/vm_test.go index ea4123f..a8b479b 100644 --- a/pkg/lang/vm/vm_test.go +++ b/pkg/lang/vm/vm_test.go @@ -39,16 +39,20 @@ func TestFibonacci(t *testing.T) { push_array get_local 0 + get_member "push" push_int 1 - temp_arr_push + call 1 get_local 0 + get_member "push" push_int 1 - temp_arr_push + call 1 + drop 2 @fib_loop: get_local 0 - temp_arr_len + get_member "length" + call 0 push_int 1 @@ -56,6 +60,8 @@ func TestFibonacci(t *testing.T) { sub get_local 0 + get_member "push" + get_local 0 # This is the last element get_local 1 @@ -73,13 +79,15 @@ func TestFibonacci(t *testing.T) { index add - temp_arr_push + call 1 + drop 1 # Drop local 1, which was the length of the array, which we no longer need drop 1 get_local 0 - temp_arr_len + get_member "length" + call 0 push_int 10 @@ -151,19 +159,23 @@ func TestEscapedEnv(t *testing.T) { push_array get_local 1 + get_member "push" get_local 0 call 0 - temp_arr_push + call 1 get_local 1 + get_member "push" get_local 0 call 0 - temp_arr_push + call 1 get_local 1 + get_member "push" get_local 0 call 0 - temp_arr_push + call 1 + drop 3 halt @create: @@ -229,16 +241,20 @@ func TestMember(t *testing.T) { push_array get_local 0 + get_member "push" push_int 1 - temp_arr_push + call 1 get_local 0 + get_member "push" push_int 2 - temp_arr_push + call 1 get_local 0 + get_member "push" push_int 3 - temp_arr_push + call 1 + drop 3 get_member "length" call 0 @@ -393,7 +409,6 @@ func TestPrimes(t *testing.T) { lte jf @prime_check - get_local 0 get_local 3 mod @@ -404,8 +419,10 @@ func TestPrimes(t *testing.T) { jf @factor_loop_inc get_local 2 + get_member "push" get_local 3 - temp_arr_push + call 1 + drop 1 @factor_loop_inc: get_local 3 @@ -424,8 +441,10 @@ func TestPrimes(t *testing.T) { jf @main_loop_inc get_local 1 + get_member "push" get_local 0 - temp_arr_push + call 1 + drop 1 @main_loop_inc: get_local 0 -- cgit 1.4.1