moved stack_traces_p into the vm

db4
Phil Dawes 2009-08-21 08:21:44 +01:00
parent 5bb04857bf
commit 43787e2664
3 changed files with 10 additions and 7 deletions

View File

@ -72,9 +72,4 @@ void copy_literal_references(code_block *compiled, factorvm *myvm);
void update_word_references(code_block *compiled, factorvm *myvm); void update_word_references(code_block *compiled, factorvm *myvm);
void update_literal_and_word_references(code_block *compiled, factorvm *myvm); void update_literal_and_word_references(code_block *compiled, factorvm *myvm);
inline bool stack_traces_p()
{
return userenv[STACK_TRACES_ENV] != F;
}
} }

View File

@ -21,7 +21,7 @@ jit::jit(cell type_, cell owner_, factorvm *vm)
offset(0), offset(0),
myvm(vm) myvm(vm)
{ {
if(stack_traces_p()) literal(owner.value()); if(myvm->stack_traces_p()) literal(owner.value());
} }
void jit::emit_relocation(cell code_template_) void jit::emit_relocation(cell code_template_)

View File

@ -2,11 +2,15 @@ namespace factor
{ {
struct factorvm { struct factorvm {
// if you change this struct, also change vm.factor
// if you change this struct, also change vm.factor k--------
context *stack_chain; context *stack_chain;
zone nursery; /* new objects are allocated here */ zone nursery; /* new objects are allocated here */
cell cards_offset; cell cards_offset;
cell decks_offset; cell decks_offset;
// cell userenv[USER_ENV]; // prob best to put this last
// segments // segments
inline cell align_page(cell a); inline cell align_page(cell a);
@ -494,6 +498,10 @@ struct factorvm {
void fixup_labels(array *labels, code_block *compiled); void fixup_labels(array *labels, code_block *compiled);
code_block *allot_code_block(cell size); code_block *allot_code_block(cell size);
code_block *add_code_block(cell type,cell code_,cell labels_,cell relocation_,cell literals_); code_block *add_code_block(cell type,cell code_,cell labels_,cell relocation_,cell literals_);
inline bool stack_traces_p()
{
return userenv[STACK_TRACES_ENV] != F;
}
//code_heap //code_heap
heap code; heap code;