inline void factorvm::check_tagged_pointer(cell tagged) { #ifdef FACTOR_DEBUG if(!immediate_p(tagged)) { object *obj = untag<object>(tagged); check_data_pointer(obj); obj->h.hi_tag(); } #endif }
cell frame_executing(stack_frame *frame) { code_block *compiled = frame_code(frame); if(compiled->literals == F || !stack_traces_p()) return F; else { array *literals = untag<array>(compiled->literals); cell executing = array_nth(literals,0); check_data_pointer((object *)executing); return executing; } }