< prev index next >

src/hotspot/share/oops/klass.hpp

Print this page

        

*** 26,35 **** --- 26,36 ---- #define SHARE_OOPS_KLASS_HPP #include "classfile/classLoaderData.hpp" #include "memory/iterator.hpp" #include "memory/memRegion.hpp" + #include "oops/arrayStorageProperties.hpp" #include "oops/markOop.hpp" #include "oops/metadata.hpp" #include "oops/oop.hpp" #include "oops/oopHandle.hpp" #include "utilities/accessFlags.hpp"
*** 481,499 **** Method* lookup_method(const Symbol* name, const Symbol* signature) const { return uncached_lookup_method(name, signature, find_overpass); } // array class with specific rank ! Klass* array_klass(int rank, TRAPS) { return array_klass_impl(false, rank, THREAD); } // array class with this klass as element type ! Klass* array_klass(TRAPS) { return array_klass_impl(false, THREAD); } // These will return NULL instead of allocating on the heap: // NB: these can block for a mutex, like other functions with TRAPS arg. ! Klass* array_klass_or_null(int rank); ! Klass* array_klass_or_null(); virtual oop protection_domain() const = 0; oop class_loader() const; --- 482,507 ---- Method* lookup_method(const Symbol* name, const Symbol* signature) const { return uncached_lookup_method(name, signature, find_overpass); } // array class with specific rank ! Klass* array_klass(int rank, TRAPS) { ! return array_klass_impl(ArrayStorageProperties::empty, false, rank, THREAD); ! } ! Klass* array_klass(ArrayStorageProperties storage_props, int rank, TRAPS) { ! return array_klass_impl(storage_props, false, rank, THREAD); ! } // array class with this klass as element type ! Klass* array_klass(TRAPS) { ! return array_klass_impl(ArrayStorageProperties::empty, false, THREAD); ! } // These will return NULL instead of allocating on the heap: // NB: these can block for a mutex, like other functions with TRAPS arg. ! Klass* array_klass_or_null(ArrayStorageProperties storage_props, int rank); ! Klass* array_klass_or_null(ArrayStorageProperties storage_props); virtual oop protection_domain() const = 0; oop class_loader() const;
*** 502,513 **** // be used safely. All uses of klass_holder need to apply the appropriate barriers, // except during GC. oop klass_holder() const { return class_loader_data()->holder_phantom(); } protected: ! virtual Klass* array_klass_impl(bool or_null, int rank, TRAPS); ! virtual Klass* array_klass_impl(bool or_null, TRAPS); // Error handling when length > max_length or length < 0 static void check_array_allocation_length(int length, int max_length, TRAPS); void set_vtable_length(int len) { _vtable_len= len; } --- 510,521 ---- // be used safely. All uses of klass_holder need to apply the appropriate barriers, // except during GC. oop klass_holder() const { return class_loader_data()->holder_phantom(); } protected: ! virtual Klass* array_klass_impl(ArrayStorageProperties storage_props, bool or_null, int rank, TRAPS); ! virtual Klass* array_klass_impl(ArrayStorageProperties storage_props, bool or_null, TRAPS); // Error handling when length > max_length or length < 0 static void check_array_allocation_length(int length, int max_length, TRAPS); void set_vtable_length(int len) { _vtable_len= len; }
< prev index next >