equal
deleted
inserted
replaced
392 thread->set_vm_result(h_exception()); |
392 thread->set_vm_result(h_exception()); |
393 // If the method is synchronized we already unlocked the monitor |
393 // If the method is synchronized we already unlocked the monitor |
394 // during deoptimization so the interpreter needs to skip it when |
394 // during deoptimization so the interpreter needs to skip it when |
395 // the frame is popped. |
395 // the frame is popped. |
396 thread->set_do_not_unlock_if_synchronized(true); |
396 thread->set_do_not_unlock_if_synchronized(true); |
|
397 #ifdef CC_INTERP |
|
398 return (address) -1; |
|
399 #else |
397 return Interpreter::remove_activation_entry(); |
400 return Interpreter::remove_activation_entry(); |
|
401 #endif |
398 } |
402 } |
399 |
403 |
400 // Need to do this check first since when _do_not_unlock_if_synchronized |
404 // Need to do this check first since when _do_not_unlock_if_synchronized |
401 // is set, we don't want to trigger any classloading which may make calls |
405 // is set, we don't want to trigger any classloading which may make calls |
402 // into java, or surprisingly find a matching exception handler for bci 0 |
406 // into java, or surprisingly find a matching exception handler for bci 0 |