Probably needs new boot images
{ object } { fixnum } f
}
{ "become" ( old new -- ) "become" { array array } { } f }
{ object } { fixnum } f
}
{ "become" ( old new -- ) "become" { array array } { } f }
- {
- "callstack-bounds" ( -- start end ) "callstack_bounds"
- { } { alien alien } make-flushable
- }
{
"check-datastack" ( array in# out# -- ? ) "check_datastack"
{ array integer integer } { object } make-flushable
{
"check-datastack" ( array in# out# -- ? ) "check_datastack"
{ array integer integer } { object } make-flushable
PRIMITIVE: (identity-hashcode) ( obj -- code )
PRIMITIVE: become ( old new -- )
PRIMITIVE: c-to-factor ( -- )
PRIMITIVE: (identity-hashcode) ( obj -- code )
PRIMITIVE: become ( old new -- )
PRIMITIVE: c-to-factor ( -- )
-PRIMITIVE: callstack-bounds ( -- start end )
PRIMITIVE: check-datastack ( array in# out# -- ? )
PRIMITIVE: compute-identity-hashcode ( obj -- )
PRIMITIVE: context-object ( n -- obj )
PRIMITIVE: check-datastack ( array in# out# -- ? )
PRIMITIVE: compute-identity-hashcode ( obj -- )
PRIMITIVE: context-object ( n -- obj )
*(cell*)inner = quot->entry_point + offset;
}
*(cell*)inner = quot->entry_point + offset;
}
-// Allocates memory (allot_alien)
-void factor_vm::primitive_callstack_bounds() {
- ctx->push(allot_alien(ctx->callstack_seg->start));
- ctx->push(allot_alien(ctx->callstack_seg->end));
-}
-
_(bignum_shift) _(bignum_subtract) _(bignum_to_fixnum) \
_(bignum_to_fixnum_strict) _(bignum_xor) _(bits_double) _(bits_float) \
_(byte_array) _(callback) _(callback_room) \
_(bignum_shift) _(bignum_subtract) _(bignum_to_fixnum) \
_(bignum_to_fixnum_strict) _(bignum_xor) _(bits_double) _(bits_float) \
_(byte_array) _(callback) _(callback_room) \
- _(callstack_bounds) _(callstack_for) _(callstack_to_array) \
+ _(callstack_for) _(callstack_to_array) \
_(check_datastack) _(clone) _(code_blocks) _(code_room) \
_(compact_gc) _(compute_identity_hashcode) _(context_object) \
_(context_object_for) _(current_callback) _(data_room) \
_(check_datastack) _(clone) _(code_blocks) _(code_room) \
_(compact_gc) _(compute_identity_hashcode) _(context_object) \
_(context_object_for) _(current_callback) _(data_room) \
void primitive_innermost_stack_frame_executing();
void primitive_innermost_stack_frame_scan();
void primitive_set_innermost_stack_frame_quotation();
void primitive_innermost_stack_frame_executing();
void primitive_innermost_stack_frame_scan();
void primitive_set_innermost_stack_frame_quotation();
- void primitive_callstack_bounds();
template <typename Iterator, typename Fixup>
void iterate_callstack(context* ctx, Iterator& iterator, Fixup& fixup);
template <typename Iterator, typename Fixup>
void iterate_callstack(context* ctx, Iterator& iterator, Fixup& fixup);