Mercurial > hg > graal-compiler
comparison src/share/vm/graal/graalCodeInstaller.cpp @ 7046:b6a8f2d23057
VM support for deferred reads and writes: ScopeDesc, DebugInfo, DebugInfoRecorder
author | Lukas Stadler <lukas.stadler@jku.at> |
---|---|
date | Tue, 27 Nov 2012 13:43:04 +0100 |
parents | 17eeac928874 |
children | 3e61ffb9ce29 |
comparison
equal
deleted
inserted
replaced
7039:adf5c101bc4b | 7046:b6a8f2d23057 |
---|---|
528 | 528 |
529 DebugToken* locals_token = _debug_recorder->create_scope_values(locals); | 529 DebugToken* locals_token = _debug_recorder->create_scope_values(locals); |
530 DebugToken* expressions_token = _debug_recorder->create_scope_values(expressions); | 530 DebugToken* expressions_token = _debug_recorder->create_scope_values(expressions); |
531 DebugToken* monitors_token = _debug_recorder->create_monitor_values(monitors); | 531 DebugToken* monitors_token = _debug_recorder->create_monitor_values(monitors); |
532 | 532 |
533 GrowableArray<DeferredWriteValue*>* deferred_writes = new GrowableArray<DeferredWriteValue*> (); | |
534 // deferred_writes->append(new DeferredWriteValue(new LocationValue(Location::new_reg_loc(Location::lng, rax->as_VMReg())), new ConstantIntValue(0), 0, 100, new ConstantIntValue(123))); | |
535 DebugToken* deferred_writes_token = _debug_recorder->create_deferred_writes(deferred_writes); | |
536 | |
533 bool throw_exception = BytecodeFrame::rethrowException(frame) == JNI_TRUE; | 537 bool throw_exception = BytecodeFrame::rethrowException(frame) == JNI_TRUE; |
534 | 538 |
535 _debug_recorder->describe_scope(pc_offset, method, NULL, bci, reexecute, throw_exception, false, false, locals_token, expressions_token, monitors_token); | 539 _debug_recorder->describe_scope(pc_offset, method, NULL, bci, reexecute, throw_exception, false, false, locals_token, expressions_token, monitors_token, deferred_writes_token); |
536 } | 540 } |
537 | 541 |
538 void CodeInstaller::site_Safepoint(CodeBuffer& buffer, jint pc_offset, oop site) { | 542 void CodeInstaller::site_Safepoint(CodeBuffer& buffer, jint pc_offset, oop site) { |
539 oop debug_info = CompilationResult_Safepoint::debugInfo(site); | 543 oop debug_info = CompilationResult_Safepoint::debugInfo(site); |
540 assert(debug_info != NULL, "debug info expected"); | 544 assert(debug_info != NULL, "debug info expected"); |