changeset 1447:1afbc44ee576

Modified class descriptions in C++ to reflect changes to CiDebugInfo.Frame
author Doug Simon <doug.simon@oracle.com>
date Tue, 09 Nov 2010 17:38:40 +0100
parents 5f1100e1cb12
children 9196a2b32950
files src/share/vm/c1x/c1x_CodeInstaller.cpp src/share/vm/c1x/c1x_CodeInstaller.hpp src/share/vm/c1x/c1x_TargetMethod.hpp
diffstat 3 files changed, 9 insertions(+), 18 deletions(-) [+]
line wrap: on
line diff
--- 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) {
--- 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();
 
--- 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)                                              \