< prev index next >
src/share/vm/oops/klass.hpp
Print this page
rev 12906 : [mq]: gc_interface
*** 223,239 ****
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); }
// modifier flags
jint modifier_flags() const { return _modifier_flags; }
void set_modifier_flags(jint flags) { _modifier_flags = flags; }
--- 223,235 ----
assert(_primary_supers[d] == this, "proper init");
return d;
}
}
// java mirror
oop java_mirror() const { return _java_mirror; }
! 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,444 ****
--- 431,442 ----
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,465 ****
virtual oop protection_domain() const = 0;
oop class_loader() const;
! virtual oop klass_holder() const { return class_loader(); }
protected:
virtual Klass* array_klass_impl(bool or_null, int rank, TRAPS);
virtual Klass* array_klass_impl(bool or_null, TRAPS);
--- 453,463 ----
virtual oop protection_domain() const = 0;
oop class_loader() const;
! 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,692 ****
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
--- 676,685 ----
< prev index next >