< prev index next >

src/share/vm/prims/forte.cpp

Print this page




 181     // the vframeStreamCommon object will be filled as if the frame were a native
 182     // compiled frame. Therefore, no debug information is needed.
 183     //
 184     // Case #2: If the thread is in any other state, then two steps will be performed:
 185     // - if asserts are enabled, found_bad_method_frame() will be called and
 186     //   the assert in found_bad_method_frame() will be triggered;
 187     // - if asserts are disabled, the vframeStreamCommon object will be filled
 188     //   as if it were a native compiled frame.
 189     //
 190     // Case (2) is similar to the way interpreter frames are processed in
 191     // vframeStreamCommon::fill_from_interpreter_frame in case no valid BCI
 192     // was found for an interpreted frame. If asserts are enabled, the assert
 193     // in found_bad_method_frame() will be triggered. If asserts are disabled,
 194     // the vframeStreamCommon object will be filled afterwards as if the
 195     // interpreter were at the point of entering into the method.
 196     return false;
 197   }
 198 
 199   // This PcDesc is useful however we must adjust the frame's pc
 200   // so that the vframeStream lookups will use this same pc
 201   fr->set_pc(pc_desc->real_pc(nm));
 202   return true;
 203 }
 204 
 205 
 206 // Determine if 'fr' is a walkable interpreted frame. Returns false
 207 // if it is not. *method_p, and *bci_p are not set when false is
 208 // returned. *method_p is non-NULL if frame was executing a Java
 209 // method. *bci_p is != -1 if a valid BCI in the Java method could
 210 // be found.
 211 // Note: this method returns true when a valid Java method is found
 212 // even if a valid BCI cannot be found.
 213 
 214 static bool is_decipherable_interpreted_frame(JavaThread* thread,
 215                                               frame* fr,
 216                                               Method** method_p,
 217                                               int* bci_p) {
 218   assert(fr->is_interpreted_frame(), "just checking");
 219 
 220   // top frame is an interpreted frame
 221   // check if it is walkable (i.e. valid Method* and valid bci)




 181     // the vframeStreamCommon object will be filled as if the frame were a native
 182     // compiled frame. Therefore, no debug information is needed.
 183     //
 184     // Case #2: If the thread is in any other state, then two steps will be performed:
 185     // - if asserts are enabled, found_bad_method_frame() will be called and
 186     //   the assert in found_bad_method_frame() will be triggered;
 187     // - if asserts are disabled, the vframeStreamCommon object will be filled
 188     //   as if it were a native compiled frame.
 189     //
 190     // Case (2) is similar to the way interpreter frames are processed in
 191     // vframeStreamCommon::fill_from_interpreter_frame in case no valid BCI
 192     // was found for an interpreted frame. If asserts are enabled, the assert
 193     // in found_bad_method_frame() will be triggered. If asserts are disabled,
 194     // the vframeStreamCommon object will be filled afterwards as if the
 195     // interpreter were at the point of entering into the method.
 196     return false;
 197   }
 198 
 199   // This PcDesc is useful however we must adjust the frame's pc
 200   // so that the vframeStream lookups will use this same pc
 201   fr->set_pc(thread, pc_desc->real_pc(nm));
 202   return true;
 203 }
 204 
 205 
 206 // Determine if 'fr' is a walkable interpreted frame. Returns false
 207 // if it is not. *method_p, and *bci_p are not set when false is
 208 // returned. *method_p is non-NULL if frame was executing a Java
 209 // method. *bci_p is != -1 if a valid BCI in the Java method could
 210 // be found.
 211 // Note: this method returns true when a valid Java method is found
 212 // even if a valid BCI cannot be found.
 213 
 214 static bool is_decipherable_interpreted_frame(JavaThread* thread,
 215                                               frame* fr,
 216                                               Method** method_p,
 217                                               int* bci_p) {
 218   assert(fr->is_interpreted_frame(), "just checking");
 219 
 220   // top frame is an interpreted frame
 221   // check if it is walkable (i.e. valid Method* and valid bci)


< prev index next >