< prev index next >

src/hotspot/share/code/relocInfo.cpp

Print this page




 557   _section = sindex;
 558   _target  = address_from_scaled_offset(offset, base);
 559 }
 560 
 561 //// miscellaneous methods
 562 oop* oop_Relocation::oop_addr() {
 563   int n = _oop_index;
 564   if (n == 0) {
 565     // oop is stored in the code stream
 566     return (oop*) pd_address_in_code();
 567   } else {
 568     // oop is stored in table at nmethod::oops_begin
 569     return code()->oop_addr_at(n);
 570   }
 571 }
 572 
 573 
 574 oop oop_Relocation::oop_value() {
 575   oop v = *oop_addr();
 576   // clean inline caches store a special pseudo-null
 577   if (v == (oop)Universe::non_oop_word())  v = NULL;
 578   return v;
 579 }
 580 
 581 
 582 void oop_Relocation::fix_oop_relocation() {
 583   if (!oop_is_immediate()) {
 584     // get the oop from the pool, and re-insert it into the instruction:
 585     set_value(value());
 586   }
 587 }
 588 
 589 
 590 void oop_Relocation::verify_oop_relocation() {
 591   if (!oop_is_immediate()) {
 592     // get the oop from the pool, and re-insert it into the instruction:
 593     verify_value(value());
 594   }
 595 }
 596 
 597 // meta data versions




 557   _section = sindex;
 558   _target  = address_from_scaled_offset(offset, base);
 559 }
 560 
 561 //// miscellaneous methods
 562 oop* oop_Relocation::oop_addr() {
 563   int n = _oop_index;
 564   if (n == 0) {
 565     // oop is stored in the code stream
 566     return (oop*) pd_address_in_code();
 567   } else {
 568     // oop is stored in table at nmethod::oops_begin
 569     return code()->oop_addr_at(n);
 570   }
 571 }
 572 
 573 
 574 oop oop_Relocation::oop_value() {
 575   oop v = *oop_addr();
 576   // clean inline caches store a special pseudo-null
 577   if (v == Universe::non_oop_word())  v = NULL;
 578   return v;
 579 }
 580 
 581 
 582 void oop_Relocation::fix_oop_relocation() {
 583   if (!oop_is_immediate()) {
 584     // get the oop from the pool, and re-insert it into the instruction:
 585     set_value(value());
 586   }
 587 }
 588 
 589 
 590 void oop_Relocation::verify_oop_relocation() {
 591   if (!oop_is_immediate()) {
 592     // get the oop from the pool, and re-insert it into the instruction:
 593     verify_value(value());
 594   }
 595 }
 596 
 597 // meta data versions


< prev index next >