< prev index next >

src/hotspot/share/runtime/frame.cpp

Print this page




1131 // Have to walk the entire code cache for the compiled frames Yuck.
1132 void frame::metadata_do(void f(Metadata*)) {
1133   if (is_interpreted_frame()) {
1134     Method* m = this->interpreter_frame_method();
1135     assert(m != NULL, "expecting a method in this frame");
1136     f(m);
1137   }
1138 }
1139 
1140 void frame::verify(const RegisterMap* map) {
1141   // for now make sure receiver type is correct
1142   if (is_interpreted_frame()) {
1143     Method* method = interpreter_frame_method();
1144     guarantee(method->is_method(), "method is wrong in frame::verify");
1145     if (!method->is_static()) {
1146       // fetch the receiver
1147       oop* p = (oop*) interpreter_frame_local_at(0);
1148       // make sure we have the right receiver type
1149     }
1150   }
1151 #if defined(COMPILER2) || INCLUDE_JVMCI
1152   assert(DerivedPointerTable::is_empty(), "must be empty before verify");
1153 #endif
1154   oops_do_internal(&VerifyOopClosure::verify_oop, NULL, (RegisterMap*)map, false);
1155 }
1156 
1157 
1158 #ifdef ASSERT
1159 bool frame::verify_return_pc(address x) {
1160   if (StubRoutines::returns_to_call_stub(x)) {
1161     return true;
1162   }
1163   if (CodeCache::contains(x)) {
1164     return true;
1165   }
1166   if (Interpreter::contains(x)) {
1167     return true;
1168   }
1169   return false;
1170 }
1171 #endif




1131 // Have to walk the entire code cache for the compiled frames Yuck.
1132 void frame::metadata_do(void f(Metadata*)) {
1133   if (is_interpreted_frame()) {
1134     Method* m = this->interpreter_frame_method();
1135     assert(m != NULL, "expecting a method in this frame");
1136     f(m);
1137   }
1138 }
1139 
1140 void frame::verify(const RegisterMap* map) {
1141   // for now make sure receiver type is correct
1142   if (is_interpreted_frame()) {
1143     Method* method = interpreter_frame_method();
1144     guarantee(method->is_method(), "method is wrong in frame::verify");
1145     if (!method->is_static()) {
1146       // fetch the receiver
1147       oop* p = (oop*) interpreter_frame_local_at(0);
1148       // make sure we have the right receiver type
1149     }
1150   }
1151 #if COMPILER2_OR_JVMCI
1152   assert(DerivedPointerTable::is_empty(), "must be empty before verify");
1153 #endif
1154   oops_do_internal(&VerifyOopClosure::verify_oop, NULL, (RegisterMap*)map, false);
1155 }
1156 
1157 
1158 #ifdef ASSERT
1159 bool frame::verify_return_pc(address x) {
1160   if (StubRoutines::returns_to_call_stub(x)) {
1161     return true;
1162   }
1163   if (CodeCache::contains(x)) {
1164     return true;
1165   }
1166   if (Interpreter::contains(x)) {
1167     return true;
1168   }
1169   return false;
1170 }
1171 #endif


< prev index next >