comparison src/os_cpu/solaris_x86/vm/os_solaris_x86.cpp @ 472:7b920868b475

6773838: There is no calling stack for Compiler thread in hs_err file on x86 Summary: On solaris, the inline assembly wasn't being processed. Added volatile to il file fixed it. Reviewed-by: phh, kvn
author coleenp
date Mon, 08 Dec 2008 15:50:55 -0500
parents d1605aabd0a1
children 24fda36852ce
comparison
equal deleted inserted replaced
469:3c4d36b4a7ac 472:7b920868b475
201 201
202 frame os::get_sender_for_C_frame(frame* fr) { 202 frame os::get_sender_for_C_frame(frame* fr) {
203 return frame(fr->sender_sp(), fr->link(), fr->sender_pc()); 203 return frame(fr->sender_sp(), fr->link(), fr->sender_pc());
204 } 204 }
205 205
206 extern "C" intptr_t *_get_previous_fp(); // in .il file. 206 extern "C" intptr_t *_get_current_fp(); // in .il file
207 207
208 frame os::current_frame() { 208 frame os::current_frame() {
209 intptr_t* fp = _get_previous_fp(); 209 intptr_t* fp = _get_current_fp(); // it's inlined so want current fp
210 frame myframe((intptr_t*)os::current_stack_pointer(), 210 frame myframe((intptr_t*)os::current_stack_pointer(),
211 (intptr_t*)fp, 211 (intptr_t*)fp,
212 CAST_FROM_FN_PTR(address, os::current_frame)); 212 CAST_FROM_FN_PTR(address, os::current_frame));
213 if (os::is_first_C_frame(&myframe)) { 213 if (os::is_first_C_frame(&myframe)) {
214 // stack is not walkable 214 // stack is not walkable