< prev index next >

src/share/vm/oops/klass.hpp

Print this page
rev 12906 : [mq]: gc_interface

@@ -223,17 +223,13 @@
       assert(_primary_supers[d] == this, "proper init");
       return d;
     }
   }
 
-  // store an oop into a field of a Klass
-  void klass_oop_store(oop* p, oop v);
-  void klass_oop_store(volatile oop* p, oop v);
-
   // java mirror
   oop java_mirror() const              { return _java_mirror; }
-  void set_java_mirror(oop m) { klass_oop_store(&_java_mirror, m); }
+  void set_java_mirror(oop m);
 
   // modifier flags
   jint modifier_flags() const          { return _modifier_flags; }
   void set_modifier_flags(jint flags)  { _modifier_flags = flags; }
 

@@ -435,10 +431,12 @@
   virtual void initialize(TRAPS);
   // lookup operation for MethodLookupCache
   friend class MethodLookupCache;
   virtual Klass* find_field(Symbol* name, Symbol* signature, fieldDescriptor* fd) const;
   virtual Method* uncached_lookup_method(const Symbol* name, const Symbol* signature, OverpassLookupMode overpass_mode) const;
+
+  virtual oop* klass_holder_addr() const;
  public:
   Method* lookup_method(const Symbol* name, const Symbol* signature) const {
     return uncached_lookup_method(name, signature, find_overpass);
   }
 

@@ -455,11 +453,11 @@
 
   virtual oop protection_domain() const = 0;
 
   oop class_loader() const;
 
-  virtual oop klass_holder() const      { return class_loader(); }
+  oop klass_holder() const;
 
  protected:
   virtual Klass* array_klass_impl(bool or_null, int rank, TRAPS);
   virtual Klass* array_klass_impl(bool or_null, TRAPS);
 

@@ -678,15 +676,10 @@
   static narrowKlass encode_klass_not_null(Klass* v);
   static narrowKlass encode_klass(Klass* v);
 
   static Klass* decode_klass_not_null(narrowKlass v);
   static Klass* decode_klass(narrowKlass v);
-
- private:
-  // barriers used by klass_oop_store
-  void klass_update_barrier_set(oop v);
-  void klass_update_barrier_set_pre(oop* p, oop v);
 };
 
 // Helper to convert the oop iterate macro suffixes into bool values that can be used by template functions.
 #define nvs_nv_to_bool true
 #define nvs_v_to_bool  false
< prev index next >