agent/src/share/classes/sun/jvm/hotspot/code/PCDesc.java
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File 6873116 Cdiff agent/src/share/classes/sun/jvm/hotspot/code/PCDesc.java

agent/src/share/classes/sun/jvm/hotspot/code/PCDesc.java

Print this page

        

*** 1,7 **** /* ! * Copyright 2000-2004 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. --- 1,7 ---- /* ! * Copyright 2000-2009 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation.
*** 34,43 **** --- 34,44 ---- to the corresponding source scope and byte code index. */ public class PCDesc extends VMObject { private static CIntegerField pcOffsetField; private static CIntegerField scopeDecodeOffsetField; + private static CIntegerField pcFlagsField; static { VM.registerVMInitializedObserver(new Observer() { public void update(Observable o, Object data) { initialize(VM.getVM().getTypeDataBase());
*** 48,57 **** --- 49,59 ---- private static void initialize(TypeDataBase db) { Type type = db.lookupType("PcDesc"); pcOffsetField = type.getCIntegerField("_pc_offset"); scopeDecodeOffsetField = type.getCIntegerField("_scope_decode_offset"); + pcFlagsField = type.getCIntegerField("_flags"); } public PCDesc(Address addr) { super(addr); }
*** 68,77 **** --- 70,85 ---- public Address getRealPC(NMethod code) { return code.instructionsBegin().addOffsetTo(getPCOffset()); } + + public boolean getReexecute() { + int flags = (int)pcFlagsField.getValue(addr); + return ((flags & 0x1)== 1); //first is the reexecute bit + } + public void print(NMethod code) { printOn(System.out, code); } public void printOn(PrintStream tty, NMethod code) {
agent/src/share/classes/sun/jvm/hotspot/code/PCDesc.java
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File