hotspot/src/share/vm/oops/cpCache.cpp
changeset 46329 53ccc37bda19
parent 46271 979ebd346ecf
child 46458 3c12af929e7d
equal deleted inserted replaced
46328:6061df52d610 46329:53ccc37bda19
    99 // the damaged entry.  More seriously, the memory synchronization is needed
    99 // the damaged entry.  More seriously, the memory synchronization is needed
   100 // to flush other fields (f1, f2) completely to memory before the bytecodes
   100 // to flush other fields (f1, f2) completely to memory before the bytecodes
   101 // are updated, lest other processors see a non-zero bytecode but zero f1/f2.
   101 // are updated, lest other processors see a non-zero bytecode but zero f1/f2.
   102 void ConstantPoolCacheEntry::set_field(Bytecodes::Code get_code,
   102 void ConstantPoolCacheEntry::set_field(Bytecodes::Code get_code,
   103                                        Bytecodes::Code put_code,
   103                                        Bytecodes::Code put_code,
   104                                        KlassHandle field_holder,
   104                                        Klass* field_holder,
   105                                        int field_index,
   105                                        int field_index,
   106                                        int field_offset,
   106                                        int field_offset,
   107                                        TosState field_type,
   107                                        TosState field_type,
   108                                        bool is_final,
   108                                        bool is_final,
   109                                        bool is_volatile,
   109                                        bool is_volatile,
   110                                        Klass* root_klass) {
   110                                        Klass* root_klass) {
   111   set_f1(field_holder());
   111   set_f1(field_holder);
   112   set_f2(field_offset);
   112   set_f2(field_offset);
   113   assert((field_index & field_index_mask) == field_index,
   113   assert((field_index & field_index_mask) == field_index,
   114          "field index does not fit in low flag bits");
   114          "field index does not fit in low flag bits");
   115   set_field_flags(field_type,
   115   set_field_flags(field_type,
   116                   ((is_volatile ? 1 : 0) << is_volatile_shift) |
   116                   ((is_volatile ? 1 : 0) << is_volatile_shift) |