< 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 >