# HG changeset patch # User Doug Simon # Date 1289320720 -3600 # Node ID 1afbc44ee576b619faa0270699274c8fc8eae1d2 # Parent 5f1100e1cb129d282d66afcef660f8db8b25726b Modified class descriptions in C++ to reflect changes to CiDebugInfo.Frame diff -r 5f1100e1cb12 -r 1afbc44ee576 src/share/vm/c1x/c1x_CodeInstaller.cpp --- a/src/share/vm/c1x/c1x_CodeInstaller.cpp Tue Nov 09 17:37:01 2010 +0100 +++ b/src/share/vm/c1x/c1x_CodeInstaller.cpp Tue Nov 09 17:38:40 2010 +0100 @@ -305,18 +305,14 @@ } -void CodeInstaller::record_scope(jint pc_offset, oop code_pos, oop frame) { +void CodeInstaller::record_scope(jint pc_offset, oop code_pos) { oop caller_pos = CiCodePos::caller(code_pos); if (caller_pos != NULL) { - oop caller_frame = frame == NULL ? NULL : CiDebugInfo_Frame::caller(frame); - record_scope(pc_offset, caller_pos, caller_frame); - } else { - assert(frame == NULL || CiDebugInfo_Frame::caller(frame) == NULL, "unexpected layout - mismatching nesting of Frame and CiCodePos"); + record_scope(pc_offset, caller_pos); } - - if (frame != NULL) { - assert(CiCodePos::bci(code_pos) == CiCodePos::bci(CiDebugInfo_Frame::codePos(frame)), "unexpected CiCodePos layout"); - assert(CiCodePos::method(code_pos) == CiCodePos::method(CiDebugInfo_Frame::codePos(frame)), "unexpected CiCodePos layout"); + oop frame = NULL; + if (code_pos->klass()->klass_part()->name() == vmSymbols::com_sun_cri_ci_CiDebugInfo_Frame()) { + frame = code_pos; } oop hotspot_method = CiCodePos::method(code_pos); @@ -328,7 +324,7 @@ if (bci == -1) { reexecute = false; } else { - Bytecodes::Code code = Bytecodes::java_code_at(method->bcp_from(bci)); + Bytecodes::Code code = Bytecodes::java_code_at(method->bcp_from(bci)); reexecute = Interpreter::bytecode_should_reexecute(code); } @@ -378,8 +374,7 @@ _debug_recorder->add_safepoint(pc_offset, create_oop_map(_frame_size, _parameter_count, debug_info)); oop code_pos = CiDebugInfo::codePos(debug_info); - oop frame = CiDebugInfo::frame(debug_info); - record_scope(pc_offset, code_pos, frame); + record_scope(pc_offset, code_pos); _debug_recorder->end_safepoint(pc_offset); } @@ -402,8 +397,7 @@ if (debug_info != NULL) { _debug_recorder->add_safepoint(next_pc_offset, create_oop_map(_frame_size, _parameter_count, debug_info)); oop code_pos = CiDebugInfo::codePos(debug_info); - oop frame = CiDebugInfo::frame(debug_info); - record_scope(next_pc_offset, code_pos, frame); + record_scope(next_pc_offset, code_pos); } if (runtime_call != NULL) { diff -r 5f1100e1cb12 -r 1afbc44ee576 src/share/vm/c1x/c1x_CodeInstaller.hpp --- a/src/share/vm/c1x/c1x_CodeInstaller.hpp Tue Nov 09 17:37:01 2010 +0100 +++ b/src/share/vm/c1x/c1x_CodeInstaller.hpp Tue Nov 09 17:38:40 2010 +0100 @@ -94,7 +94,7 @@ void site_DataPatch(CodeBuffer& buffer, jint pc_offset, oop site); void site_Mark(CodeBuffer& buffer, jint pc_offset, oop site); - void record_scope(jint pc_offset, oop code_pos, oop frame); + void record_scope(jint pc_offset, oop code_pos); void process_exception_handlers(); diff -r 5f1100e1cb12 -r 1afbc44ee576 src/share/vm/c1x/c1x_TargetMethod.hpp --- a/src/share/vm/c1x/c1x_TargetMethod.hpp Tue Nov 09 17:37:01 2010 +0100 +++ b/src/share/vm/c1x/c1x_TargetMethod.hpp Tue Nov 09 17:38:40 2010 +0100 @@ -112,13 +112,10 @@ end_class \ start_class(CiDebugInfo) \ oop_field(CiDebugInfo, codePos, "Lcom/sun/cri/ci/CiCodePos;") \ - oop_field(CiDebugInfo, frame, "Lcom/sun/cri/ci/CiDebugInfo$Frame;") \ oop_field(CiDebugInfo, registerRefMap, "[B") \ oop_field(CiDebugInfo, frameRefMap, "[B") \ end_class \ start_class(CiDebugInfo_Frame) \ - oop_field(CiDebugInfo_Frame, caller, "Lcom/sun/cri/ci/CiDebugInfo$Frame;") \ - oop_field(CiDebugInfo_Frame, codePos, "Lcom/sun/cri/ci/CiCodePos;") \ oop_field(CiDebugInfo_Frame, values, "[Lcom/sun/cri/ci/CiValue;") \ int_field(CiDebugInfo_Frame, numLocals) \ int_field(CiDebugInfo_Frame, numStack) \