< 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 >