Mercurial > hg > truffle
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 |