39 jint max_length() { return _max_length; }
40 void set_max_length(jint m) { _max_length = m; }
41
42 // testers
43 bool oop_is_typeArray_slow() const { return true; }
44
45 // klass allocation
46 DEFINE_ALLOCATE_PERMANENT(typeArrayKlass);
47 static klassOop create_klass(BasicType type, int scale, const char* name_str,
48 TRAPS);
49 static inline klassOop create_klass(BasicType type, int scale, TRAPS) {
50 return create_klass(type, scale, external_name(type), CHECK_NULL);
51 }
52
53 int oop_size(oop obj) const;
54 int klass_oop_size() const { return object_size(); }
55
56 bool compute_is_subtype_of(klassOop k);
57
58 // Allocation
59 typeArrayOop allocate(int length, TRAPS);
60 typeArrayOop allocate_permanent(int length, TRAPS); // used for class file structures
61 oop multi_allocate(int rank, jint* sizes, TRAPS);
62
63 // Copying
64 void copy_array(arrayOop s, int src_pos, arrayOop d, int dst_pos, int length, TRAPS);
65
66 // Iteration
67 int oop_oop_iterate(oop obj, OopClosure* blk);
68 int oop_oop_iterate_m(oop obj, OopClosure* blk, MemRegion mr);
69
70 // Garbage collection
71 void oop_follow_contents(oop obj);
72 int oop_adjust_pointers(oop obj);
73
74 // Parallel Scavenge and Parallel Old
75 PARALLEL_GC_DECLS
76
77 protected:
78 // Find n'th dimensional array
79 virtual klassOop array_klass_impl(bool or_null, int n, TRAPS);
|
39 jint max_length() { return _max_length; }
40 void set_max_length(jint m) { _max_length = m; }
41
42 // testers
43 bool oop_is_typeArray_slow() const { return true; }
44
45 // klass allocation
46 DEFINE_ALLOCATE_PERMANENT(typeArrayKlass);
47 static klassOop create_klass(BasicType type, int scale, const char* name_str,
48 TRAPS);
49 static inline klassOop create_klass(BasicType type, int scale, TRAPS) {
50 return create_klass(type, scale, external_name(type), CHECK_NULL);
51 }
52
53 int oop_size(oop obj) const;
54 int klass_oop_size() const { return object_size(); }
55
56 bool compute_is_subtype_of(klassOop k);
57
58 // Allocation
59 typeArrayOop allocate_common(int length, bool nozero, TRAPS);
60 typeArrayOop allocate(int length, TRAPS) { return allocate_common(length, false, THREAD); }
61 typeArrayOop allocate_permanent(int length, TRAPS); // used for class file structures
62 oop multi_allocate(int rank, jint* sizes, TRAPS);
63
64 // Copying
65 void copy_array(arrayOop s, int src_pos, arrayOop d, int dst_pos, int length, TRAPS);
66
67 // Iteration
68 int oop_oop_iterate(oop obj, OopClosure* blk);
69 int oop_oop_iterate_m(oop obj, OopClosure* blk, MemRegion mr);
70
71 // Garbage collection
72 void oop_follow_contents(oop obj);
73 int oop_adjust_pointers(oop obj);
74
75 // Parallel Scavenge and Parallel Old
76 PARALLEL_GC_DECLS
77
78 protected:
79 // Find n'th dimensional array
80 virtual klassOop array_klass_impl(bool or_null, int n, TRAPS);
|