--- old/src/share/vm/oops/klass.hpp 2017-04-25 16:45:22.763173529 +0200 +++ new/src/share/vm/oops/klass.hpp 2017-04-25 16:45:22.627173534 +0200 @@ -225,13 +225,9 @@ } } - // 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; } @@ -437,6 +433,8 @@ 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); @@ -457,7 +455,7 @@ 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); @@ -680,11 +678,6 @@ 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.