diff --git a/vm/contexts.cpp b/vm/contexts.cpp index 2608d6c09a..c1cbe7539a 100644 --- a/vm/contexts.cpp +++ b/vm/contexts.cpp @@ -247,20 +247,14 @@ cell factor_vm::array_to_stack(array* array, cell bottom) { return bottom + depth - sizeof(cell); } -void factor_vm::set_datastack(context* ctx, array* array) { - ctx->datastack = array_to_stack(array, ctx->datastack_seg->start); -} - void factor_vm::primitive_set_datastack() { - set_datastack(ctx, untag_check(ctx->pop())); -} - -void factor_vm::set_retainstack(context* ctx, array* array) { - ctx->retainstack = array_to_stack(array, ctx->retainstack_seg->start); + array* arr = untag_check(ctx->pop()); + ctx->datastack = array_to_stack(arr, ctx->datastack_seg->start); } void factor_vm::primitive_set_retainstack() { - set_retainstack(ctx, untag_check(ctx->pop())); + array* arr = untag_check(ctx->pop()); + ctx->retainstack = array_to_stack(arr, ctx->retainstack_seg->start); } /* Used to implement call( */ diff --git a/vm/vm.hpp b/vm/vm.hpp index 1245bd7683..3bd3c769eb 100644 --- a/vm/vm.hpp +++ b/vm/vm.hpp @@ -166,9 +166,7 @@ struct factor_vm { cell retainstack_to_array(context* ctx); void primitive_retainstack_for(); cell array_to_stack(array* array, cell bottom); - void set_datastack(context* ctx, array* array); void primitive_set_datastack(); - void set_retainstack(context* ctx, array* array); void primitive_set_retainstack(); void primitive_check_datastack(); void primitive_load_locals();