aboutsummaryrefslogtreecommitdiff
path: root/agent
diff options
context:
space:
mode:
authoracorn <none@none>2009-04-02 18:17:03 -0400
committeracorn <none@none>2009-04-02 18:17:03 -0400
commitb6941baf92bdf376efa7eb829db9f1155e28f667 (patch)
treeab8bfa5b53076ba4b6c92630c999529517bdb00e /agent
parent8fe14ee11a89ddf2445a0dcb63fdc56e6ba65172 (diff)
parent77110e12a7dda645128604e62cebf0e4ea5dcb52 (diff)
Merge
Diffstat (limited to 'agent')
-rw-r--r--agent/src/share/classes/sun/jvm/hotspot/runtime/StubRoutines.java10
1 files changed, 8 insertions, 2 deletions
diff --git a/agent/src/share/classes/sun/jvm/hotspot/runtime/StubRoutines.java b/agent/src/share/classes/sun/jvm/hotspot/runtime/StubRoutines.java
index be55ca524..fad351b49 100644
--- a/agent/src/share/classes/sun/jvm/hotspot/runtime/StubRoutines.java
+++ b/agent/src/share/classes/sun/jvm/hotspot/runtime/StubRoutines.java
@@ -46,12 +46,18 @@ public class StubRoutines {
Type type = db.lookupType("StubRoutines");
callStubReturnAddressField = type.getAddressField("_call_stub_return_address");
- // Only some platforms have specif return from compiled to call_stub
+ // Only some platforms have specific return from compiled to call_stub
try {
- callStubCompiledReturnAddressField = type.getAddressField("_call_stub_compiled_return");
+ type = db.lookupType("StubRoutines::x86");
+ if (type != null) {
+ callStubCompiledReturnAddressField = type.getAddressField("_call_stub_compiled_return");
+ }
} catch (RuntimeException re) {
callStubCompiledReturnAddressField = null;
}
+ if (callStubCompiledReturnAddressField == null && VM.getVM().getCPU().equals("x86")) {
+ throw new InternalError("Missing definition for _call_stub_compiled_return");
+ }
}
public StubRoutines() {