83 // even in its subfields (as defined by the CPU immediate fields,
84 // if the CPU splits constants across multiple instructions).
85 #ifdef SPARC
86 // On SPARC, 0 != %hi(any real address), because there is no
87 // allocation in the first 1Kb of the virtual address space.
88 return (char *) 0;
89 #else
90 // This is the value for x86; works pretty well for PPC too.
91 return (char *) -1;
92 #endif // SPARC
93 }
94
95 void os::initialize_thread(Thread * thr){
96 // Nothing to do.
97 }
98
99 address os::Linux::ucontext_get_pc(ucontext_t* uc) {
100 ShouldNotCallThis();
101 }
102
103 ExtendedPC os::fetch_frame_from_context(void* ucVoid,
104 intptr_t** ret_sp,
105 intptr_t** ret_fp) {
106 ShouldNotCallThis();
107 }
108
109 frame os::fetch_frame_from_context(void* ucVoid) {
110 ShouldNotCallThis();
111 }
112
113 extern "C" JNIEXPORT int
114 JVM_handle_linux_signal(int sig,
115 siginfo_t* info,
116 void* ucVoid,
117 int abort_if_unrecognized) {
118 ucontext_t* uc = (ucontext_t*) ucVoid;
119
120 Thread* t = ThreadLocalStorage::get_thread_slow();
121
122 SignalHandlerMark shm(t);
|
83 // even in its subfields (as defined by the CPU immediate fields,
84 // if the CPU splits constants across multiple instructions).
85 #ifdef SPARC
86 // On SPARC, 0 != %hi(any real address), because there is no
87 // allocation in the first 1Kb of the virtual address space.
88 return (char *) 0;
89 #else
90 // This is the value for x86; works pretty well for PPC too.
91 return (char *) -1;
92 #endif // SPARC
93 }
94
95 void os::initialize_thread(Thread * thr){
96 // Nothing to do.
97 }
98
99 address os::Linux::ucontext_get_pc(ucontext_t* uc) {
100 ShouldNotCallThis();
101 }
102
103 void os::Linux::ucontext_set_pc(ucontext_t * uc, address pc) {
104 ShouldNotCallThis();
105 }
106
107 ExtendedPC os::fetch_frame_from_context(void* ucVoid,
108 intptr_t** ret_sp,
109 intptr_t** ret_fp) {
110 ShouldNotCallThis();
111 }
112
113 frame os::fetch_frame_from_context(void* ucVoid) {
114 ShouldNotCallThis();
115 }
116
117 extern "C" JNIEXPORT int
118 JVM_handle_linux_signal(int sig,
119 siginfo_t* info,
120 void* ucVoid,
121 int abort_if_unrecognized) {
122 ucontext_t* uc = (ucontext_t*) ucVoid;
123
124 Thread* t = ThreadLocalStorage::get_thread_slow();
125
126 SignalHandlerMark shm(t);
|