diff options
author | kvn <none@none> | 2009-03-31 10:02:01 -0700 |
---|---|---|
committer | kvn <none@none> | 2009-03-31 10:02:01 -0700 |
commit | 33f3a1496e54aaac2ac913e1e94cc7a64175f6d5 (patch) | |
tree | c16118d4d1b203ff16f26b78e48c2bbd482d4059 /agent | |
parent | cbd3d047e492e18a999c7640acf1ffec45828fa6 (diff) | |
parent | 4a11c7c4c68e9944ce265b1c9e282c800be067be (diff) |
Merge
Diffstat (limited to 'agent')
-rw-r--r-- | agent/src/share/classes/sun/jvm/hotspot/runtime/StubRoutines.java | 10 |
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() { |