Mercurial > hg > truffle
comparison src/share/vm/opto/runtime.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 | 3cf667df43ef |
children | c18cbe5936b8 |
comparison
equal
deleted
inserted
replaced
1367:9e321dcfa5b7 | 1368:93767e6a2dfd |
---|---|
863 thread->set_exception_pc(pc); | 863 thread->set_exception_pc(pc); |
864 thread->set_exception_handler_pc(handler_address); | 864 thread->set_exception_handler_pc(handler_address); |
865 thread->set_exception_stack_size(0); | 865 thread->set_exception_stack_size(0); |
866 | 866 |
867 // Check if the exception PC is a MethodHandle call site. | 867 // Check if the exception PC is a MethodHandle call site. |
868 thread->set_is_method_handle_exception(nm->is_method_handle_return(pc)); | 868 thread->set_is_method_handle_return(nm->is_method_handle_return(pc)); |
869 } | 869 } |
870 | 870 |
871 // Restore correct return pc. Was saved above. | 871 // Restore correct return pc. Was saved above. |
872 thread->set_exception_oop(exception()); | 872 thread->set_exception_oop(exception()); |
873 return handler_address; | 873 return handler_address; |