Mercurial > hg > truffle
comparison src/share/vm/interpreter/interpreterRuntime.cpp @ 7469:0c8717a92b2d
8001341: SIGSEGV in methodOopDesc::fast_exception_handler_bci_for(KlassHandle,int,Thread*)+0x3e9.
Summary: Use methodHandle.
Reviewed-by: coleenp, acorn, twisti, sspitsyn
author | jiangli |
---|---|
date | Tue, 08 Jan 2013 13:01:19 -0500 |
parents | cd3d6a6b95d9 |
children | 989155e2d07a cc32ccaaf47f aeaca88565e6 |
comparison
equal
deleted
inserted
replaced
7468:608b2e8a0063 | 7469:0c8717a92b2d |
---|---|
415 // for AbortVMOnException flag | 415 // for AbortVMOnException flag |
416 NOT_PRODUCT(Exceptions::debug_check_abort(h_exception)); | 416 NOT_PRODUCT(Exceptions::debug_check_abort(h_exception)); |
417 | 417 |
418 // exception handler lookup | 418 // exception handler lookup |
419 KlassHandle h_klass(THREAD, h_exception->klass()); | 419 KlassHandle h_klass(THREAD, h_exception->klass()); |
420 handler_bci = h_method->fast_exception_handler_bci_for(h_klass, current_bci, THREAD); | 420 handler_bci = Method::fast_exception_handler_bci_for(h_method, h_klass, current_bci, THREAD); |
421 if (HAS_PENDING_EXCEPTION) { | 421 if (HAS_PENDING_EXCEPTION) { |
422 // We threw an exception while trying to find the exception handler. | 422 // We threw an exception while trying to find the exception handler. |
423 // Transfer the new exception to the exception handle which will | 423 // Transfer the new exception to the exception handle which will |
424 // be set into thread local storage, and do another lookup for an | 424 // be set into thread local storage, and do another lookup for an |
425 // exception handler for this exception, this time starting at the | 425 // exception handler for this exception, this time starting at the |