Print this page


Split Close
Expand all
Collapse all
          --- old/src/share/vm/classfile/javaClasses.hpp
          +++ new/src/share/vm/classfile/javaClasses.hpp
↓ open down ↓ 763 lines elided ↑ open up ↑
 764  764    static int number_of_fake_oop_fields;
 765  765  
 766  766    // Accessors
 767  767    static oop referent(oop ref) {
 768  768      return ref->obj_field(referent_offset);
 769  769    }
 770  770    static void set_referent(oop ref, oop value) {
 771  771      ref->obj_field_put(referent_offset, value);
 772  772    }
 773  773    static void set_referent_raw(oop ref, oop value) {
 774      -    ref->obj_field_raw_put(referent_offset, value);
      774 +    ref->obj_field_put_raw(referent_offset, value);
 775  775    }
 776  776    static HeapWord* referent_addr(oop ref) {
 777  777      return ref->obj_field_addr<HeapWord>(referent_offset);
 778  778    }
 779  779    static oop next(oop ref) {
 780  780      return ref->obj_field(next_offset);
 781  781    }
 782  782    static void set_next(oop ref, oop value) {
 783  783      ref->obj_field_put(next_offset, value);
 784  784    }
 785  785    static void set_next_raw(oop ref, oop value) {
 786      -    ref->obj_field_raw_put(next_offset, value);
      786 +    ref->obj_field_put_raw(next_offset, value);
 787  787    }
 788  788    static HeapWord* next_addr(oop ref) {
 789  789      return ref->obj_field_addr<HeapWord>(next_offset);
 790  790    }
 791  791    static oop discovered(oop ref) {
 792  792      return ref->obj_field(discovered_offset);
 793  793    }
 794  794    static void set_discovered(oop ref, oop value) {
 795  795      ref->obj_field_put(discovered_offset, value);
 796  796    }
 797  797    static void set_discovered_raw(oop ref, oop value) {
 798      -    ref->obj_field_raw_put(discovered_offset, value);
      798 +    ref->obj_field_put_raw(discovered_offset, value);
 799  799    }
 800  800    static HeapWord* discovered_addr(oop ref) {
 801  801      return ref->obj_field_addr<HeapWord>(discovered_offset);
 802  802    }
 803  803    // Accessors for statics
 804  804    static oop  pending_list_lock();
 805  805    static oop  pending_list();
 806  806  
 807  807    static HeapWord*  pending_list_addr();
 808  808  };
↓ open down ↓ 347 lines elided ↑ open up ↑
1156 1156  
1157 1157  private:
1158 1158    static int _target_offset;
1159 1159    static int _caller_method_offset;
1160 1160    static int _caller_bci_offset;
1161 1161  
1162 1162    static void compute_offsets();
1163 1163  
1164 1164  public:
1165 1165    // Accessors
1166      -  static oop            target(oop site);
1167      -  static void       set_target(oop site, oop target);
     1166 +  static oop              target(         oop site)             { return site->obj_field(             _target_offset);         }
     1167 +  static void         set_target(         oop site, oop target) {        site->obj_field_put(         _target_offset, target); }
1168 1168  
1169      -  static oop            caller_method(oop site);
1170      -  static void       set_caller_method(oop site, oop ref);
     1169 +  static volatile oop     target_volatile(oop site)             { return site->obj_field_volatile(    _target_offset);         }
     1170 +  static void         set_target_volatile(oop site, oop target) {        site->obj_field_put_volatile(_target_offset, target); }
1171 1171  
1172      -  static jint           caller_bci(oop site);
1173      -  static void       set_caller_bci(oop site, jint bci);
     1172 +  static oop              caller_method(oop site);
     1173 +  static void         set_caller_method(oop site, oop ref);
     1174 +
     1175 +  static jint             caller_bci(oop site);
     1176 +  static void         set_caller_bci(oop site, jint bci);
1174 1177  
1175 1178    // Testers
1176 1179    static bool is_subclass(klassOop klass) {
1177 1180      return Klass::cast(klass)->is_subclass_of(SystemDictionary::CallSite_klass());
1178 1181    }
1179 1182    static bool is_instance(oop obj) {
1180 1183      return obj != NULL && is_subclass(obj->klass());
1181 1184    }
1182 1185  
1183 1186    // Accessors for code generation:
↓ open down ↓ 173 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX