src/share/vm/oops/instanceKlass.hpp

Print this page
rev 6796 : [mq]: templateOopIterate
rev 6798 : [mq]: oneSwitch
rev 6800 : [mq]: replaceTemplateDispatchWithMacroDispatch

*** 117,127 **** int itable_len, int static_field_size, int nonstatic_oop_map_size, ReferenceType rt, AccessFlags access_flags, ! bool is_anonymous); public: static InstanceKlass* allocate_instance_klass( ClassLoaderData* loader_data, int vtable_len, int itable_len, --- 117,128 ---- int itable_len, int static_field_size, int nonstatic_oop_map_size, ReferenceType rt, AccessFlags access_flags, ! bool is_anonymous, ! DispatchTag tag = _instance); public: static InstanceKlass* allocate_instance_klass( ClassLoaderData* loader_data, int vtable_len, int itable_len,
*** 132,142 **** Symbol* name, Klass* super_klass, bool is_anonymous, TRAPS); ! InstanceKlass() { assert(DumpSharedSpaces || UseSharedSpaces, "only for CDS"); } // See "The Java Virtual Machine Specification" section 2.16.2-5 for a detailed description // of the class loading & initialization procedure, and the use of the states. enum ClassState { allocated, // allocated (but not yet linked) --- 133,143 ---- Symbol* name, Klass* super_klass, bool is_anonymous, TRAPS); ! InstanceKlass(DispatchTag tag = _instance) : Klass(tag) { assert(DumpSharedSpaces || UseSharedSpaces, "only for CDS"); } // See "The Java Virtual Machine Specification" section 2.16.2-5 for a detailed description // of the class loading & initialization procedure, and the use of the states. enum ClassState { allocated, // allocated (but not yet linked)
*** 951,983 **** PARALLEL_GC_DECLS // Naming const char* signature_name() const; ! // Iterators ! int oop_oop_iterate(oop obj, ExtendedOopClosure* blk) { ! return oop_oop_iterate_v(obj, blk); ! } ! int oop_oop_iterate_m(oop obj, ExtendedOopClosure* blk, MemRegion mr) { ! return oop_oop_iterate_v_m(obj, blk, mr); ! } ! ! #define InstanceKlass_OOP_OOP_ITERATE_DECL(OopClosureType, nv_suffix) \ ! int oop_oop_iterate##nv_suffix(oop obj, OopClosureType* blk); \ ! int oop_oop_iterate##nv_suffix##_m(oop obj, OopClosureType* blk, \ ! MemRegion mr); ! ! ALL_OOP_OOP_ITERATE_CLOSURES_1(InstanceKlass_OOP_OOP_ITERATE_DECL) ! ALL_OOP_OOP_ITERATE_CLOSURES_2(InstanceKlass_OOP_OOP_ITERATE_DECL) #if INCLUDE_ALL_GCS ! #define InstanceKlass_OOP_OOP_ITERATE_BACKWARDS_DECL(OopClosureType, nv_suffix) \ ! int oop_oop_iterate_backwards##nv_suffix(oop obj, OopClosureType* blk); ! ! ALL_OOP_OOP_ITERATE_CLOSURES_1(InstanceKlass_OOP_OOP_ITERATE_BACKWARDS_DECL) ! ALL_OOP_OOP_ITERATE_CLOSURES_2(InstanceKlass_OOP_OOP_ITERATE_BACKWARDS_DECL) #endif // INCLUDE_ALL_GCS u2 idnum_allocated_count() const { return _idnum_allocated_count; } private: --- 952,970 ---- PARALLEL_GC_DECLS // Naming const char* signature_name() const; ! template <bool nv, typename OopClosureType> ! int oop_oop_iterate(oop obj, OopClosureType* blk); ! template <bool nv, typename OopClosureType> ! int oop_oop_iterate_m(oop obj, OopClosureType* blk, MemRegion mr); #if INCLUDE_ALL_GCS ! template <bool nv, typename OopClosureType> ! int oop_oop_iterate_backwards(oop obj, OopClosureType* blk); #endif // INCLUDE_ALL_GCS u2 idnum_allocated_count() const { return _idnum_allocated_count; } private: