< prev index next >

src/hotspot/share/oops/klass.hpp

Print this page

*** 200,224 **** enum StaticLookupMode { find_static, skip_static }; enum PrivateLookupMode { find_private, skip_private }; bool is_klass() const volatile { return true; } ! // super Klass* super() const { return _super; } void set_super(Klass* k) { _super = k; } // initializes _super link, _primary_supers & _secondary_supers arrays ! void initialize_supers(Klass* k, Array<Klass*>* transitive_interfaces, TRAPS); ! void initialize_supers_impl1(Klass* k); ! void initialize_supers_impl2(Klass* k); // klass-specific helper for initializing _secondary_supers virtual GrowableArray<Klass*>* compute_secondary_supers(int num_extra_slots, ! Array<Klass*>* transitive_interfaces); // java_super is the Java-level super type as specified by Class.getSuperClass. ! virtual Klass* java_super() const { return NULL; } juint super_check_offset() const { return _super_check_offset; } void set_super_check_offset(juint o) { _super_check_offset = o; } Klass* secondary_super_cache() const { return _secondary_super_cache; } --- 200,224 ---- enum StaticLookupMode { find_static, skip_static }; enum PrivateLookupMode { find_private, skip_private }; bool is_klass() const volatile { return true; } ! // super() cannot be InstanceKlass* -- Java arrays are covariant, and _super is used ! // to implement that. NB: the _super of "[Ljava/lang/Integer;" is "[Ljava/lang/Number;" ! // If this is not what your code expects, you're probably looking for Klass::java_super(). Klass* super() const { return _super; } void set_super(Klass* k) { _super = k; } // initializes _super link, _primary_supers & _secondary_supers arrays ! void initialize_supers(Klass* k, Array<InstanceKlass*>* transitive_interfaces, TRAPS); // klass-specific helper for initializing _secondary_supers virtual GrowableArray<Klass*>* compute_secondary_supers(int num_extra_slots, ! Array<InstanceKlass*>* transitive_interfaces); // java_super is the Java-level super type as specified by Class.getSuperClass. ! virtual InstanceKlass* java_super() const { return NULL; } juint super_check_offset() const { return _super_check_offset; } void set_super_check_offset(juint o) { _super_check_offset = o; } Klass* secondary_super_cache() const { return _secondary_super_cache; }
*** 707,717 **** virtual void verify_on(outputStream* st); void verify() { verify_on(tty); } #ifndef PRODUCT bool verify_vtable_index(int index); - bool verify_itable_index(int index); #endif virtual void oop_verify_on(oop obj, outputStream* st); static bool is_null(narrowKlass obj); --- 707,716 ----
< prev index next >