< prev index next >
src/hotspot/share/oops/klass.hpp
Print this page
@@ -26,10 +26,11 @@
#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,19 +482,26 @@
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); }
+ 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(false, THREAD); }
+ 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(int rank);
- Klass* array_klass_or_null();
+ 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,12 +510,12 @@
// 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);
+ 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 >