removed some global functions from callstack.cpp
parent
1887a16ca3
commit
551a800d2f
|
@ -11,11 +11,6 @@ void factorvm::check_frame(stack_frame *frame)
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void check_frame(stack_frame *frame)
|
|
||||||
{
|
|
||||||
return vm->check_frame(frame);
|
|
||||||
}
|
|
||||||
|
|
||||||
callstack *factorvm::allot_callstack(cell size)
|
callstack *factorvm::allot_callstack(cell size)
|
||||||
{
|
{
|
||||||
callstack *stack = allot<callstack>(callstack_size(size));
|
callstack *stack = allot<callstack>(callstack_size(size));
|
||||||
|
@ -23,11 +18,6 @@ callstack *factorvm::allot_callstack(cell size)
|
||||||
return stack;
|
return stack;
|
||||||
}
|
}
|
||||||
|
|
||||||
callstack *allot_callstack(cell size)
|
|
||||||
{
|
|
||||||
return vm->allot_callstack(size);
|
|
||||||
}
|
|
||||||
|
|
||||||
stack_frame *factorvm::fix_callstack_top(stack_frame *top, stack_frame *bottom)
|
stack_frame *factorvm::fix_callstack_top(stack_frame *top, stack_frame *bottom)
|
||||||
{
|
{
|
||||||
stack_frame *frame = bottom - 1;
|
stack_frame *frame = bottom - 1;
|
||||||
|
@ -38,11 +28,6 @@ stack_frame *factorvm::fix_callstack_top(stack_frame *top, stack_frame *bottom)
|
||||||
return frame + 1;
|
return frame + 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
stack_frame *fix_callstack_top(stack_frame *top, stack_frame *bottom)
|
|
||||||
{
|
|
||||||
return vm->fix_callstack_top(top,bottom);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* We ignore the topmost frame, the one calling 'callstack',
|
/* We ignore the topmost frame, the one calling 'callstack',
|
||||||
so that set-callstack doesn't get stuck in an infinite loop.
|
so that set-callstack doesn't get stuck in an infinite loop.
|
||||||
|
|
||||||
|
@ -61,11 +46,6 @@ stack_frame *factorvm::capture_start()
|
||||||
return frame + 1;
|
return frame + 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
stack_frame *capture_start()
|
|
||||||
{
|
|
||||||
return vm->capture_start();
|
|
||||||
}
|
|
||||||
|
|
||||||
inline void factorvm::vmprim_callstack()
|
inline void factorvm::vmprim_callstack()
|
||||||
{
|
{
|
||||||
stack_frame *top = capture_start();
|
stack_frame *top = capture_start();
|
||||||
|
@ -109,21 +89,12 @@ code_block *factorvm::frame_code(stack_frame *frame)
|
||||||
return (code_block *)frame->xt - 1;
|
return (code_block *)frame->xt - 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
code_block *frame_code(stack_frame *frame)
|
|
||||||
{
|
|
||||||
return vm->frame_code(frame);
|
|
||||||
}
|
|
||||||
|
|
||||||
cell factorvm::frame_type(stack_frame *frame)
|
cell factorvm::frame_type(stack_frame *frame)
|
||||||
{
|
{
|
||||||
return frame_code(frame)->type;
|
return frame_code(frame)->type;
|
||||||
}
|
}
|
||||||
|
|
||||||
cell frame_type(stack_frame *frame)
|
|
||||||
{
|
|
||||||
return vm->frame_type(frame);
|
|
||||||
}
|
|
||||||
|
|
||||||
cell factorvm::frame_executing(stack_frame *frame)
|
cell factorvm::frame_executing(stack_frame *frame)
|
||||||
{
|
{
|
||||||
code_block *compiled = frame_code(frame);
|
code_block *compiled = frame_code(frame);
|
||||||
|
@ -138,22 +109,12 @@ cell factorvm::frame_executing(stack_frame *frame)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
cell frame_executing(stack_frame *frame)
|
|
||||||
{
|
|
||||||
return vm->frame_executing(frame);
|
|
||||||
}
|
|
||||||
|
|
||||||
stack_frame *factorvm::frame_successor(stack_frame *frame)
|
stack_frame *factorvm::frame_successor(stack_frame *frame)
|
||||||
{
|
{
|
||||||
check_frame(frame);
|
check_frame(frame);
|
||||||
return (stack_frame *)((cell)frame - frame->size);
|
return (stack_frame *)((cell)frame - frame->size);
|
||||||
}
|
}
|
||||||
|
|
||||||
stack_frame *frame_successor(stack_frame *frame)
|
|
||||||
{
|
|
||||||
return vm->frame_successor(frame);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Allocates memory */
|
/* Allocates memory */
|
||||||
cell factorvm::frame_scan(stack_frame *frame)
|
cell factorvm::frame_scan(stack_frame *frame)
|
||||||
{
|
{
|
||||||
|
@ -181,11 +142,6 @@ cell factorvm::frame_scan(stack_frame *frame)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
cell frame_scan(stack_frame *frame)
|
|
||||||
{
|
|
||||||
return vm->frame_scan(frame);
|
|
||||||
}
|
|
||||||
|
|
||||||
namespace
|
namespace
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@ -196,8 +152,8 @@ struct stack_frame_accumulator {
|
||||||
|
|
||||||
void operator()(stack_frame *frame, factorvm *myvm)
|
void operator()(stack_frame *frame, factorvm *myvm)
|
||||||
{
|
{
|
||||||
gc_root<object> executing(frame_executing(frame),myvm);
|
gc_root<object> executing(myvm->frame_executing(frame),myvm);
|
||||||
gc_root<object> scan(frame_scan(frame),myvm);
|
gc_root<object> scan(myvm->frame_scan(frame),myvm);
|
||||||
|
|
||||||
frames.add(executing.value());
|
frames.add(executing.value());
|
||||||
frames.add(scan.value());
|
frames.add(scan.value());
|
||||||
|
@ -234,11 +190,6 @@ stack_frame *factorvm::innermost_stack_frame(callstack *stack)
|
||||||
return frame;
|
return frame;
|
||||||
}
|
}
|
||||||
|
|
||||||
stack_frame *innermost_stack_frame(callstack *stack)
|
|
||||||
{
|
|
||||||
return vm->innermost_stack_frame(stack);
|
|
||||||
}
|
|
||||||
|
|
||||||
stack_frame *factorvm::innermost_stack_frame_quot(callstack *callstack)
|
stack_frame *factorvm::innermost_stack_frame_quot(callstack *callstack)
|
||||||
{
|
{
|
||||||
stack_frame *inner = innermost_stack_frame(callstack);
|
stack_frame *inner = innermost_stack_frame(callstack);
|
||||||
|
@ -246,11 +197,6 @@ stack_frame *factorvm::innermost_stack_frame_quot(callstack *callstack)
|
||||||
return inner;
|
return inner;
|
||||||
}
|
}
|
||||||
|
|
||||||
stack_frame *innermost_stack_frame_quot(callstack *callstack)
|
|
||||||
{
|
|
||||||
return vm->innermost_stack_frame_quot(callstack);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Some primitives implementing a limited form of callstack mutation.
|
/* Some primitives implementing a limited form of callstack mutation.
|
||||||
Used by the single stepper. */
|
Used by the single stepper. */
|
||||||
inline void factorvm::vmprim_innermost_stack_frame_executing()
|
inline void factorvm::vmprim_innermost_stack_frame_executing()
|
||||||
|
|
|
@ -6,13 +6,6 @@ inline static cell callstack_size(cell size)
|
||||||
return sizeof(callstack) + size;
|
return sizeof(callstack) + size;
|
||||||
}
|
}
|
||||||
|
|
||||||
stack_frame *fix_callstack_top(stack_frame *top, stack_frame *bottom);
|
|
||||||
stack_frame *frame_successor(stack_frame *frame);
|
|
||||||
code_block *frame_code(stack_frame *frame);
|
|
||||||
cell frame_executing(stack_frame *frame);
|
|
||||||
cell frame_scan(stack_frame *frame);
|
|
||||||
cell frame_type(stack_frame *frame);
|
|
||||||
|
|
||||||
PRIMITIVE(callstack);
|
PRIMITIVE(callstack);
|
||||||
PRIMITIVE(set_callstack);
|
PRIMITIVE(set_callstack);
|
||||||
PRIMITIVE(callstack_to_array);
|
PRIMITIVE(callstack_to_array);
|
||||||
|
|
Loading…
Reference in New Issue