aboutsummaryrefslogtreecommitdiff
path: root/agent
diff options
context:
space:
mode:
authorkvn <none@none>2009-03-31 10:02:01 -0700
committerkvn <none@none>2009-03-31 10:02:01 -0700
commit33f3a1496e54aaac2ac913e1e94cc7a64175f6d5 (patch)
treec16118d4d1b203ff16f26b78e48c2bbd482d4059 /agent
parentcbd3d047e492e18a999c7640acf1ffec45828fa6 (diff)
parent4a11c7c4c68e9944ce265b1c9e282c800be067be (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() {