< prev index next >

src/share/vm/code/relocInfo.cpp

Print this page




 691   _section = sindex;
 692   _target  = address_from_scaled_offset(offset, base);
 693 }
 694 
 695 //// miscellaneous methods
 696 oop* oop_Relocation::oop_addr() {
 697   int n = _oop_index;
 698   if (n == 0) {
 699     // oop is stored in the code stream
 700     return (oop*) pd_address_in_code();
 701   } else {
 702     // oop is stored in table at nmethod::oops_begin
 703     return code()->oop_addr_at(n);
 704   }
 705 }
 706 
 707 
 708 oop oop_Relocation::oop_value() {
 709   oop v = *oop_addr();
 710   // clean inline caches store a special pseudo-null
 711   if (v == (oop)Universe::non_oop_word())  v = NULL;
 712   return v;
 713 }
 714 
 715 
 716 void oop_Relocation::fix_oop_relocation() {
 717   if (!oop_is_immediate()) {
 718     // get the oop from the pool, and re-insert it into the instruction:
 719     set_value(value());
 720   }
 721 }
 722 
 723 
 724 void oop_Relocation::verify_oop_relocation() {
 725   if (!oop_is_immediate()) {
 726     // get the oop from the pool, and re-insert it into the instruction:
 727     verify_value(value());
 728   }
 729 }
 730 
 731 // meta data versions




 691   _section = sindex;
 692   _target  = address_from_scaled_offset(offset, base);
 693 }
 694 
 695 //// miscellaneous methods
 696 oop* oop_Relocation::oop_addr() {
 697   int n = _oop_index;
 698   if (n == 0) {
 699     // oop is stored in the code stream
 700     return (oop*) pd_address_in_code();
 701   } else {
 702     // oop is stored in table at nmethod::oops_begin
 703     return code()->oop_addr_at(n);
 704   }
 705 }
 706 
 707 
 708 oop oop_Relocation::oop_value() {
 709   oop v = *oop_addr();
 710   // clean inline caches store a special pseudo-null
 711   if (v == Universe::non_oop_word())  v = NULL;
 712   return v;
 713 }
 714 
 715 
 716 void oop_Relocation::fix_oop_relocation() {
 717   if (!oop_is_immediate()) {
 718     // get the oop from the pool, and re-insert it into the instruction:
 719     set_value(value());
 720   }
 721 }
 722 
 723 
 724 void oop_Relocation::verify_oop_relocation() {
 725   if (!oop_is_immediate()) {
 726     // get the oop from the pool, and re-insert it into the instruction:
 727     verify_value(value());
 728   }
 729 }
 730 
 731 // meta data versions


< prev index next >