Ejemplo n.º 1
0
  void VM::gc_verify(GarbageCollector* gc) {
    if(CallFrame* cf = saved_call_frame()) {
      gc->verify_call_frame(cf);
    }

    if(CallSiteInformation* info = saved_call_site_information()) {
      info->executable->validate();
    }
  }
Ejemplo n.º 2
0
  void VM::gc_scan(GarbageCollector* gc) {
    if(CallFrame* cf = saved_call_frame()) {
      gc->walk_call_frame(cf);
    }

    State ls(this);

    shared.tool_broker()->at_gc(&ls);

    fiber_stacks_.gc_scan(gc);
  }
Ejemplo n.º 3
0
  void VM::gc_scan(GarbageCollector* gc) {
    if(CallFrame* cf = saved_call_frame()) {
      gc->walk_call_frame(cf);
    }

    if(CallSiteInformation* info = saved_call_site_information()) {
      info->executable = as<Executable>(gc->mark_object(info->executable));
    }

    State ls(this);

    shared.tool_broker()->at_gc(&ls);
  }