agent/src/share/classes/sun/jvm/hotspot/runtime/Frame.java
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File
*** old/agent/src/share/classes/sun/jvm/hotspot/runtime/Frame.java	Thu Jul 19 15:09:01 2012
--- new/agent/src/share/classes/sun/jvm/hotspot/runtime/Frame.java	Thu Jul 19 15:09:01 2012

*** 145,160 **** --- 145,154 ---- } else { return false; } } public boolean isRicochetFrame() { CodeBlob cb = VM.getVM().getCodeCache().findBlob(getPC()); RicochetBlob rcb = VM.getVM().ricochetBlob(); return (cb == rcb && rcb != null && rcb.returnsToBounceAddr(getPC())); } public boolean isCompiledFrame() { if (Assert.ASSERTS_ENABLED) { Assert.that(!VM.getVM().isCore(), "noncore builds only"); } CodeBlob cb = VM.getVM().getCodeCache().findBlob(getPC());
*** 214,225 **** --- 208,218 ---- /** returns the sender, but skips conversion frames */ public Frame realSender(RegisterMap map) { if (!VM.getVM().isCore()) { Frame result = sender(map); ! while (result.isRuntimeFrame() || result.isRicochetFrame()) { ! while (result.isRuntimeFrame()) { result = result.sender(map); } return result; } else { return sender(map);
*** 629,641 **** --- 622,631 ---- private void oopsCodeBlobDo (AddressVisitor oopVisitor, RegisterMap regMap) { CodeBlob cb = VM.getVM().getCodeCache().findBlob(getPC()); if (Assert.ASSERTS_ENABLED) { Assert.that(cb != null, "sanity check"); } if (cb == VM.getVM().ricochetBlob()) { oopsRicochetDo(oopVisitor, regMap); } if (cb.getOopMaps() != null) { OopMapSet.oopsDo(this, cb, regMap, oopVisitor, VM.getVM().isDebugging()); // FIXME: add in traversal of argument oops (skipping this for // now until we have the other stuff tested)
*** 648,661 **** --- 638,647 ---- // if (cb->is_nmethod() && ((nmethod *)cb)->is_not_entrant()) { // ((nmethod*)cb)->mark_as_seen_on_stack(); // } } private void oopsRicochetDo (AddressVisitor oopVisitor, RegisterMap regMap) { // XXX Empty for now } // FIXME: implement the above routines, plus add // oops_interpreted_arguments_do and oops_compiled_arguments_do } //

agent/src/share/classes/sun/jvm/hotspot/runtime/Frame.java
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File