예제 #1
0
	void operator()(void *frame_top, cell frame_size, code_block *owner, void *addr)
	{
		data_root<object> executing_quot(owner->owner_quot(),parent);
		data_root<object> executing(owner->owner,parent);
		data_root<object> scan(owner->scan(parent, addr),parent);

		frames.add(executing.value());
		frames.add(executing_quot.value());
		frames.add(scan.value());
	}
예제 #2
0
파일: jit.hpp 프로젝트: azteca/factor
	void emit_subprimitive(cell word_) {
		gc_root<word> word(word_,parent);
		gc_root<array> code_pair(word->subprimitive,parent);
		literals.append(parent->untag<array>(array_nth(code_pair.untagged(),0)));
		emit(array_nth(code_pair.untagged(),1));
	}
예제 #3
0
파일: jit.hpp 프로젝트: azteca/factor
	void literal(cell literal) { literals.add(literal); }
예제 #4
0
파일: jit.hpp 프로젝트: ForNeVeR/factor
 /* Allocates memory */
 void parameter(cell parameter) { parameters.add(parameter); }