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