diff src/cpu/x86/vm/sharedRuntime_x86_64.cpp @ 1368:93767e6a2dfd

6941529: SharedRuntime::raw_exception_handler_for_return_address must reset thread MethodHandle flag Summary: During testing a bug was hit when an exception returned to the interpreter and the SP was wrong. Reviewed-by: kvn, never
author twisti
date Thu, 08 Apr 2010 10:55:40 +0200
parents cf0685d550f1
children 2338d41fbd81
line wrap: on
line diff
--- a/src/cpu/x86/vm/sharedRuntime_x86_64.cpp	Wed Apr 07 12:39:27 2010 -0700
+++ b/src/cpu/x86/vm/sharedRuntime_x86_64.cpp	Thu Apr 08 10:55:40 2010 +0200
@@ -3328,8 +3328,8 @@
 
   // rax: exception handler
 
-  // Restore SP from BP if the exception PC is a MethodHandle call.
-  __ cmpl(Address(r15_thread, JavaThread::is_method_handle_exception_offset()), 0);
+  // Restore SP from BP if the exception PC is a MethodHandle call site.
+  __ cmpl(Address(r15_thread, JavaThread::is_method_handle_return_offset()), 0);
   __ cmovptr(Assembler::notEqual, rsp, rbp);
 
   // We have a handler in rax (could be deopt blob).