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); |