comparison src/share/vm/graal/graalCodeInstaller.cpp @ 3018:5857923e563c

Fixed an issue with frame states in exception dispatch chains (now we are correctly rethrowing the exception immediately at entering the interpreter).
author Thomas Wuerthinger <thomas@wuerthinger.net>
date Sat, 18 Jun 2011 19:13:55 +0200
parents f00918f35c7f
children 1305cb3809c1
comparison
equal deleted inserted replaced
3017:b4ba003eb11d 3018:5857923e563c
494 } 494 }
495 DebugToken* locals_token = _debug_recorder->create_scope_values(locals); 495 DebugToken* locals_token = _debug_recorder->create_scope_values(locals);
496 DebugToken* expressions_token = _debug_recorder->create_scope_values(expressions); 496 DebugToken* expressions_token = _debug_recorder->create_scope_values(expressions);
497 DebugToken* monitors_token = _debug_recorder->create_monitor_values(monitors); 497 DebugToken* monitors_token = _debug_recorder->create_monitor_values(monitors);
498 498
499 _debug_recorder->describe_scope(pc_offset, cimethod, bci, reexecute, false, false, locals_token, expressions_token, monitors_token); 499 bool throw_exception = false;
500 if (CiFrame::rethrowException(frame)) {
501 throw_exception = true;
502 }
503
504 _debug_recorder->describe_scope(pc_offset, cimethod, bci, reexecute, throw_exception, false, false, locals_token, expressions_token, monitors_token);
500 } else { 505 } else {
501 _debug_recorder->describe_scope(pc_offset, cimethod, bci, reexecute, false, false, NULL, NULL, NULL); 506 _debug_recorder->describe_scope(pc_offset, cimethod, bci, reexecute, false, false, false, NULL, NULL, NULL);
502 } 507 }
503 } 508 }
504 509
505 void CodeInstaller::site_Safepoint(CodeBuffer& buffer, jint pc_offset, oop site) { 510 void CodeInstaller::site_Safepoint(CodeBuffer& buffer, jint pc_offset, oop site) {
506 oop debug_info = CiTargetMethod_Safepoint::debugInfo(site); 511 oop debug_info = CiTargetMethod_Safepoint::debugInfo(site);