src/share/vm/runtime/vframe_hp.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File 6833129 Sdiff src/share/vm/runtime

src/share/vm/runtime/vframe_hp.cpp

Print this page




 259   return scope()->method()();
 260 }
 261 
 262 
 263 int compiledVFrame::bci() const {
 264   int raw = raw_bci();
 265   return raw == SynchronizationEntryBCI ? 0 : raw;
 266 }
 267 
 268 
 269 int compiledVFrame::raw_bci() const {
 270   if (scope() == NULL) {
 271     // native nmethods have no scope the method/bci is implied
 272     nmethod* nm = code();
 273     assert(nm->is_native_method(), "must be native");
 274     return 0;
 275   }
 276   return scope()->bci();
 277 }
 278 









 279 
 280 vframe* compiledVFrame::sender() const {
 281   const frame f = fr();
 282   if (scope() == NULL) {
 283     // native nmethods have no scope the method/bci is implied
 284     nmethod* nm = code();
 285     assert(nm->is_native_method(), "must be native");
 286     return vframe::sender();
 287   } else {
 288     return scope()->is_top()
 289       ? vframe::sender()
 290       : new compiledVFrame(&f, register_map(), thread(), scope()->sender());
 291   }
 292 }
 293 
 294 jvmtiDeferredLocalVariableSet::jvmtiDeferredLocalVariableSet(methodOop method, int bci, intptr_t* id) {
 295   _method = method;
 296   _bci = bci;
 297   _id = id;
 298   // Alway will need at least one, must be on C heap




 259   return scope()->method()();
 260 }
 261 
 262 
 263 int compiledVFrame::bci() const {
 264   int raw = raw_bci();
 265   return raw == SynchronizationEntryBCI ? 0 : raw;
 266 }
 267 
 268 
 269 int compiledVFrame::raw_bci() const {
 270   if (scope() == NULL) {
 271     // native nmethods have no scope the method/bci is implied
 272     nmethod* nm = code();
 273     assert(nm->is_native_method(), "must be native");
 274     return 0;
 275   }
 276   return scope()->bci();
 277 }
 278 
 279 bool compiledVFrame::should_reexecute() const {
 280   if (scope() == NULL) {
 281     // native nmethods have no scope the method/bci is implied
 282     nmethod* nm = code();
 283     assert(nm->is_native_method(), "must be native");
 284     return false;
 285   }
 286   return scope()->should_reexecute();
 287 }
 288 
 289 vframe* compiledVFrame::sender() const {
 290   const frame f = fr();
 291   if (scope() == NULL) {
 292     // native nmethods have no scope the method/bci is implied
 293     nmethod* nm = code();
 294     assert(nm->is_native_method(), "must be native");
 295     return vframe::sender();
 296   } else {
 297     return scope()->is_top()
 298       ? vframe::sender()
 299       : new compiledVFrame(&f, register_map(), thread(), scope()->sender());
 300   }
 301 }
 302 
 303 jvmtiDeferredLocalVariableSet::jvmtiDeferredLocalVariableSet(methodOop method, int bci, intptr_t* id) {
 304   _method = method;
 305   _bci = bci;
 306   _id = id;
 307   // Alway will need at least one, must be on C heap


src/share/vm/runtime/vframe_hp.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File