165 static int dcmpl(double x, double y);
166 static int dcmpg(double x, double y);
167
168 static int unordered_fcmplt(float x, float y);
169 static int unordered_dcmplt(double x, double y);
170 static int unordered_fcmple(float x, float y);
171 static int unordered_dcmple(double x, double y);
172 static int unordered_fcmpge(float x, float y);
173 static int unordered_dcmpge(double x, double y);
174 static int unordered_fcmpgt(float x, float y);
175 static int unordered_dcmpgt(double x, double y);
176
177 static float fneg(float f);
178 static double dneg(double f);
179 #endif
180
181 // exception handling across interpreter/compiler boundaries
182 static address raw_exception_handler_for_return_address(JavaThread* thread, address return_address);
183 static address exception_handler_for_return_address(JavaThread* thread, address return_address);
184
185 #if INCLUDE_ALL_GCS
186 // G1 write barriers
187 static void g1_wb_pre(oopDesc* orig, JavaThread *thread);
188 static void g1_wb_post(void* card_addr, JavaThread* thread);
189 #endif // INCLUDE_ALL_GCS
190
191 // exception handling and implicit exceptions
192 static address compute_compiled_exc_handler(CompiledMethod* nm, address ret_pc, Handle& exception,
193 bool force_unwind, bool top_frame_only, bool& recursive_exception_occurred);
194 enum ImplicitExceptionKind {
195 IMPLICIT_NULL,
196 IMPLICIT_DIVIDE_BY_ZERO,
197 STACK_OVERFLOW
198 };
199 static void throw_AbstractMethodError(JavaThread* thread);
200 static void throw_IncompatibleClassChangeError(JavaThread* thread);
201 static void throw_ArithmeticException(JavaThread* thread);
202 static void throw_NullPointerException(JavaThread* thread);
203 static void throw_NullPointerException_at_call(JavaThread* thread);
204 static void throw_StackOverflowError(JavaThread* thread);
205 static void throw_delayed_StackOverflowError(JavaThread* thread);
206 static void throw_StackOverflowError_common(JavaThread* thread, bool delayed);
207 static address continuation_for_implicit_exception(JavaThread* thread,
208 address faulting_pc,
209 ImplicitExceptionKind exception_kind);
|
165 static int dcmpl(double x, double y);
166 static int dcmpg(double x, double y);
167
168 static int unordered_fcmplt(float x, float y);
169 static int unordered_dcmplt(double x, double y);
170 static int unordered_fcmple(float x, float y);
171 static int unordered_dcmple(double x, double y);
172 static int unordered_fcmpge(float x, float y);
173 static int unordered_dcmpge(double x, double y);
174 static int unordered_fcmpgt(float x, float y);
175 static int unordered_dcmpgt(double x, double y);
176
177 static float fneg(float f);
178 static double dneg(double f);
179 #endif
180
181 // exception handling across interpreter/compiler boundaries
182 static address raw_exception_handler_for_return_address(JavaThread* thread, address return_address);
183 static address exception_handler_for_return_address(JavaThread* thread, address return_address);
184
185 #if INCLUDE_G1GC
186 // G1 write barriers
187 static void g1_wb_pre(oopDesc* orig, JavaThread *thread);
188 static void g1_wb_post(void* card_addr, JavaThread* thread);
189 #endif // INCLUDE_G1GC
190
191 // exception handling and implicit exceptions
192 static address compute_compiled_exc_handler(CompiledMethod* nm, address ret_pc, Handle& exception,
193 bool force_unwind, bool top_frame_only, bool& recursive_exception_occurred);
194 enum ImplicitExceptionKind {
195 IMPLICIT_NULL,
196 IMPLICIT_DIVIDE_BY_ZERO,
197 STACK_OVERFLOW
198 };
199 static void throw_AbstractMethodError(JavaThread* thread);
200 static void throw_IncompatibleClassChangeError(JavaThread* thread);
201 static void throw_ArithmeticException(JavaThread* thread);
202 static void throw_NullPointerException(JavaThread* thread);
203 static void throw_NullPointerException_at_call(JavaThread* thread);
204 static void throw_StackOverflowError(JavaThread* thread);
205 static void throw_delayed_StackOverflowError(JavaThread* thread);
206 static void throw_StackOverflowError_common(JavaThread* thread, bool delayed);
207 static address continuation_for_implicit_exception(JavaThread* thread,
208 address faulting_pc,
209 ImplicitExceptionKind exception_kind);
|