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

agent/src/share/classes/sun/jvm/hotspot/runtime/Frame.java

Print this page




 519       setAddressVisitor(oopVisitor);
 520     }
 521 
 522     public void setAddressVisitor(AddressVisitor addressVisitor) {
 523       this.addressVisitor = addressVisitor;
 524     }
 525 
 526     public void visitOopLocation(Address oopAddr) {
 527       addressVisitor.visitAddress(oopAddr);
 528     }
 529 
 530     public void visitDerivedOopLocation(Address baseOopAddr, Address derivedOopAddr) {
 531       if (VM.getVM().isClientCompiler()) {
 532         Assert.that(false, "should not reach here");
 533       } else if (VM.getVM().isServerCompiler() &&
 534                  VM.getVM().useDerivedPointerTable()) {
 535         Assert.that(false, "FIXME: add derived pointer table");
 536       }
 537     }
 538 
 539     public void visitValueLocation(Address valueAddr) {
 540     }
 541 
 542     public void visitNarrowOopLocation(Address compOopAddr) {
 543       addressVisitor.visitCompOopAddress(compOopAddr);
 544     }
 545   }
 546 
 547   private void oopsInterpretedDo(AddressVisitor oopVisitor, RegisterMap map) {
 548     if (Assert.ASSERTS_ENABLED) {
 549       Assert.that(map != null, "map must be set");
 550     }
 551     Method m = getInterpreterFrameMethod();
 552     int bci  = getInterpreterFrameBCI();
 553 
 554     // FIXME: Seeing this sometimes
 555     if (VM.getVM().isDebugging()) {
 556       if (bci < 0 || bci >= m.getCodeSize()) return;
 557     }
 558 
 559     if (Assert.ASSERTS_ENABLED) {
 560       //      Assert.that(VM.getVM().getUniverse().heap().isIn(m), "method must be valid oop");
 561       Assert.that((m.isNative() && (bci == 0)) || ((bci >= 0) && (bci < m.getCodeSize())), "invalid bci value");




 519       setAddressVisitor(oopVisitor);
 520     }
 521 
 522     public void setAddressVisitor(AddressVisitor addressVisitor) {
 523       this.addressVisitor = addressVisitor;
 524     }
 525 
 526     public void visitOopLocation(Address oopAddr) {
 527       addressVisitor.visitAddress(oopAddr);
 528     }
 529 
 530     public void visitDerivedOopLocation(Address baseOopAddr, Address derivedOopAddr) {
 531       if (VM.getVM().isClientCompiler()) {
 532         Assert.that(false, "should not reach here");
 533       } else if (VM.getVM().isServerCompiler() &&
 534                  VM.getVM().useDerivedPointerTable()) {
 535         Assert.that(false, "FIXME: add derived pointer table");
 536       }
 537     }
 538 



 539     public void visitNarrowOopLocation(Address compOopAddr) {
 540       addressVisitor.visitCompOopAddress(compOopAddr);
 541     }
 542   }
 543 
 544   private void oopsInterpretedDo(AddressVisitor oopVisitor, RegisterMap map) {
 545     if (Assert.ASSERTS_ENABLED) {
 546       Assert.that(map != null, "map must be set");
 547     }
 548     Method m = getInterpreterFrameMethod();
 549     int bci  = getInterpreterFrameBCI();
 550 
 551     // FIXME: Seeing this sometimes
 552     if (VM.getVM().isDebugging()) {
 553       if (bci < 0 || bci >= m.getCodeSize()) return;
 554     }
 555 
 556     if (Assert.ASSERTS_ENABLED) {
 557       //      Assert.that(VM.getVM().getUniverse().heap().isIn(m), "method must be valid oop");
 558       Assert.that((m.isNative() && (bci == 0)) || ((bci >= 0) && (bci < m.getCodeSize())), "invalid bci value");


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