示例#1
0
 BackgroundCompileRequest(STATE, CompiledMethod* cm, Object* mm, bool is_block=false)
   : method_(state)
   , mm_(state)
   , is_block_(is_block)
 {
   method_.set(cm);
   mm_.set(mm);
 }
示例#2
0
 void clear_exception(bool all = false) {
     if(raise_reason_ == cNone) return;
     if(!all && raise_reason_ != cException) {
         std::cout << "WARNING: clearing non exception raise reason!\n";
     }
     raise_value_.set(Qnil);
     raise_reason_ = cNone;
     destination_scope_.set(Qnil);
 }
示例#3
0
 Exception* interrupted_exception() {
   return interrupted_exception_.get();
 }
示例#4
0
 CompiledMethod* method() {
   return method_.get();
 }
示例#5
0
 BlockEnvironment* block_env() {
   return try_as<BlockEnvironment>(mm_.get());
 }
示例#6
0
 VMMethod* vmmethod() {
   return method_->backend_method();
 }
示例#7
0
 Object* loader() {
   return loader_->get();
 }
示例#8
0
 Class* self_class() {
   return self_class_.get();
 }
示例#9
0
 virtual void call(Object* obj) {
   chan->send(state, obj);
 }
示例#10
0
 virtual Object* object() {
   return chan.get();
 }
示例#11
0
 Object* throw_dest() {
   return throw_dest_.get();
 }
示例#12
0
 VariableScope* destination_scope() {
   return destination_scope_.get();
 }
示例#13
0
 Object* raise_value() {
   return raise_value_.get();
 }
示例#14
0
 void set_self_class(Class* cls) {
   self_class_.set((Object*)cls);
 }
示例#15
0
 void clear_interrupted_exception() {
   interrupted_exception_.set(cNil);
 }
示例#16
0
 CompiledCode* method() {
   return method_.get();
 }
示例#17
0
 void set_loader(Object* loader) {
   loader_->set(loader);
 }