equal
deleted
inserted
replaced
61 // Compute protection domain |
61 // Compute protection domain |
62 oop protection_domain() { return Klass::cast(bottom_klass())->protection_domain(); } |
62 oop protection_domain() { return Klass::cast(bottom_klass())->protection_domain(); } |
63 // Compute class loader |
63 // Compute class loader |
64 oop class_loader() const { return Klass::cast(bottom_klass())->class_loader(); } |
64 oop class_loader() const { return Klass::cast(bottom_klass())->class_loader(); } |
65 |
65 |
|
66 private: |
|
67 // Either oop or narrowOop depending on UseCompressedOops. |
|
68 // must be called from within objArrayKlass.cpp |
|
69 template <class T> void do_copy(arrayOop s, T* src, arrayOop d, |
|
70 T* dst, int length, TRAPS); |
66 protected: |
71 protected: |
67 // Returns the objArrayKlass for n'th dimension. |
72 // Returns the objArrayKlass for n'th dimension. |
68 virtual klassOop array_klass_impl(bool or_null, int n, TRAPS); |
73 virtual klassOop array_klass_impl(bool or_null, int n, TRAPS); |
69 |
74 |
70 // Returns the array class with this class as element type. |
75 // Returns the array class with this class as element type. |
99 return oop_oop_iterate_v_m(obj, blk, mr); |
104 return oop_oop_iterate_v_m(obj, blk, mr); |
100 } |
105 } |
101 #define ObjArrayKlass_OOP_OOP_ITERATE_DECL(OopClosureType, nv_suffix) \ |
106 #define ObjArrayKlass_OOP_OOP_ITERATE_DECL(OopClosureType, nv_suffix) \ |
102 int oop_oop_iterate##nv_suffix(oop obj, OopClosureType* blk); \ |
107 int oop_oop_iterate##nv_suffix(oop obj, OopClosureType* blk); \ |
103 int oop_oop_iterate##nv_suffix##_m(oop obj, OopClosureType* blk, \ |
108 int oop_oop_iterate##nv_suffix##_m(oop obj, OopClosureType* blk, \ |
104 MemRegion mr); |
109 MemRegion mr); \ |
|
110 int oop_oop_iterate_range##nv_suffix(oop obj, OopClosureType* blk, \ |
|
111 int start, int end); |
105 |
112 |
106 ALL_OOP_OOP_ITERATE_CLOSURES_1(ObjArrayKlass_OOP_OOP_ITERATE_DECL) |
113 ALL_OOP_OOP_ITERATE_CLOSURES_1(ObjArrayKlass_OOP_OOP_ITERATE_DECL) |
107 ALL_OOP_OOP_ITERATE_CLOSURES_3(ObjArrayKlass_OOP_OOP_ITERATE_DECL) |
114 ALL_OOP_OOP_ITERATE_CLOSURES_3(ObjArrayKlass_OOP_OOP_ITERATE_DECL) |
108 |
115 |
109 // JVM support |
116 // JVM support |
122 public: |
129 public: |
123 // Verification |
130 // Verification |
124 const char* internal_name() const; |
131 const char* internal_name() const; |
125 void oop_verify_on(oop obj, outputStream* st); |
132 void oop_verify_on(oop obj, outputStream* st); |
126 void oop_verify_old_oop(oop obj, oop* p, bool allow_dirty); |
133 void oop_verify_old_oop(oop obj, oop* p, bool allow_dirty); |
|
134 void oop_verify_old_oop(oop obj, narrowOop* p, bool allow_dirty); |
127 |
135 |
128 }; |
136 }; |