Mercurial > hg > truffle
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); |