comparison agent/src/share/classes/sun/jvm/hotspot/runtime/StubRoutines.java @ 674:4948e7dd28dc

6822333: _call_stub_compiled_return address handling in SA is broken causing jstack to hang occasionally Reviewed-by: kvn, twisti
author never
date Fri, 27 Mar 2009 14:37:42 -0700
parents a61af66fc99e
children bd02caa94611
comparison
equal deleted inserted replaced
673:fbc12e71c476 674:4948e7dd28dc
44 44
45 private static synchronized void initialize(TypeDataBase db) { 45 private static synchronized void initialize(TypeDataBase db) {
46 Type type = db.lookupType("StubRoutines"); 46 Type type = db.lookupType("StubRoutines");
47 47
48 callStubReturnAddressField = type.getAddressField("_call_stub_return_address"); 48 callStubReturnAddressField = type.getAddressField("_call_stub_return_address");
49 // Only some platforms have specif return from compiled to call_stub 49 // Only some platforms have specific return from compiled to call_stub
50 try { 50 try {
51 callStubCompiledReturnAddressField = type.getAddressField("_call_stub_compiled_return"); 51 type = db.lookupType("StubRoutines::x86");
52 if (type != null) {
53 callStubCompiledReturnAddressField = type.getAddressField("_call_stub_compiled_return");
54 }
52 } catch (RuntimeException re) { 55 } catch (RuntimeException re) {
53 callStubCompiledReturnAddressField = null; 56 callStubCompiledReturnAddressField = null;
57 }
58 if (callStubCompiledReturnAddressField == null && VM.getVM().getCPU().equals("x86")) {
59 throw new InternalError("Missing definition for _call_stub_compiled_return");
54 } 60 }
55 } 61 }
56 62
57 public StubRoutines() { 63 public StubRoutines() {
58 } 64 }