src/hotspot/share/opto/buildOopMap.cpp
changeset 58527 f9cc0141574c
parent 49026 844bf1deff1a
equal deleted inserted replaced
58524:e84d8379815b 58527:f9cc0141574c
   350         omap->set_callee_saved( r, callee);
   350         omap->set_callee_saved( r, callee);
   351       }
   351       }
   352 
   352 
   353     } else {
   353     } else {
   354       // Other - some reaching non-oop value
   354       // Other - some reaching non-oop value
   355       omap->set_value( r);
       
   356 #ifdef ASSERT
   355 #ifdef ASSERT
   357       if( t->isa_rawptr() && C->cfg()->_raw_oops.member(def) ) {
   356       if( t->isa_rawptr() && C->cfg()->_raw_oops.member(def) ) {
   358         def->dump();
   357         def->dump();
   359         n->dump();
   358         n->dump();
   360         assert(false, "there should be a oop in OopMap instead of a live raw oop at safepoint");
   359         assert(false, "there should be a oop in OopMap instead of a live raw oop at safepoint");
   375   }
   374   }
   376   */
   375   */
   377 #endif
   376 #endif
   378 
   377 
   379 #ifdef ASSERT
   378 #ifdef ASSERT
   380   for( OopMapStream oms1(omap, OopMapValue::derived_oop_value); !oms1.is_done(); oms1.next()) {
   379   for( OopMapStream oms1(omap); !oms1.is_done(); oms1.next()) {
   381     OopMapValue omv1 = oms1.current();
   380     OopMapValue omv1 = oms1.current();
       
   381     if (omv1.type() != OopMapValue::derived_oop_value) {
       
   382       continue;
       
   383     }
   382     bool found = false;
   384     bool found = false;
   383     for( OopMapStream oms2(omap,OopMapValue::oop_value); !oms2.is_done(); oms2.next()) {
   385     for( OopMapStream oms2(omap); !oms2.is_done(); oms2.next()) {
   384       if( omv1.content_reg() == oms2.current().reg() ) {
   386       OopMapValue omv2 = oms2.current();
       
   387       if (omv2.type() != OopMapValue::oop_value) {
       
   388         continue;
       
   389       }
       
   390       if( omv1.content_reg() == omv2.reg() ) {
   385         found = true;
   391         found = true;
   386         break;
   392         break;
   387       }
   393       }
   388     }
   394     }
   389     assert( found, "derived with no base in oopmap" );
   395     assert( found, "derived with no base in oopmap" );