6822333: _call_stub_compiled_return address handling in SA is broken causing jstack to hang occasionally

Reviewed-by: kvn, twisti
This commit is contained in:
Tom Rodriguez 2009-03-27 14:37:42 -07:00
parent 68cf08d2c3
commit 99aa7292a3

View File

@ -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() {