oop vframeMap::mirror_parent(oop obj) { TEST; abstract_vframe* parent = vfo->as_vframe()->parent(); if (!parent) return ErrorCodes::vmString_prim_error(NOPARENTERROR); assert(vfo->process() == vmProcess || !parent->is_first_self_vframe(), "doIt of a process cannot have blocks!"); vframeOop nvfo = new_vframeOop(vfo->process(), parent); return nvfo->as_mirror(); }
oop processOopClass::ActivationAt_prim(smi index, void *FH) { ResourceMark rm; Process* p; frame* last; abstract_vframe* vf = vframe_at(index, FH, p, last); if (!vf) return NULL; oop vfo = new_vframeOop(p, vf)->as_mirror(); if (p == currentProcess) p->killVFrameOopsAndSetWatermark(last); return vfo; }