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