Mercurial > hg > graal-compiler
comparison src/share/vm/oops/typeArrayKlass.cpp @ 8002:8391fdd36e1f
Merge
author | dlong |
---|---|
date | Sun, 27 Jan 2013 01:07:09 -0800 |
parents | db9981fd3124 |
children | de6a9e811145 |
comparison
equal
deleted
inserted
replaced
7946:6fbe8a57549d | 8002:8391fdd36e1f |
---|---|
37 #include "oops/objArrayKlass.hpp" | 37 #include "oops/objArrayKlass.hpp" |
38 #include "oops/oop.inline.hpp" | 38 #include "oops/oop.inline.hpp" |
39 #include "oops/typeArrayKlass.hpp" | 39 #include "oops/typeArrayKlass.hpp" |
40 #include "oops/typeArrayOop.hpp" | 40 #include "oops/typeArrayOop.hpp" |
41 #include "runtime/handles.inline.hpp" | 41 #include "runtime/handles.inline.hpp" |
42 #include "utilities/macros.hpp" | |
42 | 43 |
43 bool TypeArrayKlass::compute_is_subtype_of(Klass* k) { | 44 bool TypeArrayKlass::compute_is_subtype_of(Klass* k) { |
44 if (!k->oop_is_typeArray()) { | 45 if (!k->oop_is_typeArray()) { |
45 return ArrayKlass::compute_is_subtype_of(k); | 46 return ArrayKlass::compute_is_subtype_of(k); |
46 } | 47 } |
206 assert(obj->is_typeArray(),"must be a type array"); | 207 assert(obj->is_typeArray(),"must be a type array"); |
207 // Performance tweak: We skip iterating over the klass pointer since we | 208 // Performance tweak: We skip iterating over the klass pointer since we |
208 // know that Universe::TypeArrayKlass never moves. | 209 // know that Universe::TypeArrayKlass never moves. |
209 } | 210 } |
210 | 211 |
211 #ifndef SERIALGC | 212 #if INCLUDE_ALL_GCS |
212 void TypeArrayKlass::oop_follow_contents(ParCompactionManager* cm, oop obj) { | 213 void TypeArrayKlass::oop_follow_contents(ParCompactionManager* cm, oop obj) { |
213 assert(obj->is_typeArray(),"must be a type array"); | 214 assert(obj->is_typeArray(),"must be a type array"); |
214 // Performance tweak: We skip iterating over the klass pointer since we | 215 // Performance tweak: We skip iterating over the klass pointer since we |
215 // know that Universe::TypeArrayKlass never moves. | 216 // know that Universe::TypeArrayKlass never moves. |
216 } | 217 } |
217 #endif // SERIALGC | 218 #endif // INCLUDE_ALL_GCS |
218 | 219 |
219 int TypeArrayKlass::oop_adjust_pointers(oop obj) { | 220 int TypeArrayKlass::oop_adjust_pointers(oop obj) { |
220 assert(obj->is_typeArray(),"must be a type array"); | 221 assert(obj->is_typeArray(),"must be a type array"); |
221 typeArrayOop t = typeArrayOop(obj); | 222 typeArrayOop t = typeArrayOop(obj); |
222 // Performance tweak: We skip iterating over the klass pointer since we | 223 // Performance tweak: We skip iterating over the klass pointer since we |
238 // Performance tweak: We skip iterating over the klass pointer since we | 239 // Performance tweak: We skip iterating over the klass pointer since we |
239 // know that Universe::TypeArrayKlass never moves. | 240 // know that Universe::TypeArrayKlass never moves. |
240 return t->object_size(); | 241 return t->object_size(); |
241 } | 242 } |
242 | 243 |
243 #ifndef SERIALGC | 244 #if INCLUDE_ALL_GCS |
244 void TypeArrayKlass::oop_push_contents(PSPromotionManager* pm, oop obj) { | 245 void TypeArrayKlass::oop_push_contents(PSPromotionManager* pm, oop obj) { |
245 ShouldNotReachHere(); | 246 ShouldNotReachHere(); |
246 assert(obj->is_typeArray(),"must be a type array"); | 247 assert(obj->is_typeArray(),"must be a type array"); |
247 } | 248 } |
248 | 249 |
249 int | 250 int |
250 TypeArrayKlass::oop_update_pointers(ParCompactionManager* cm, oop obj) { | 251 TypeArrayKlass::oop_update_pointers(ParCompactionManager* cm, oop obj) { |
251 assert(obj->is_typeArray(),"must be a type array"); | 252 assert(obj->is_typeArray(),"must be a type array"); |
252 return typeArrayOop(obj)->object_size(); | 253 return typeArrayOop(obj)->object_size(); |
253 } | 254 } |
254 #endif // SERIALGC | 255 #endif // INCLUDE_ALL_GCS |
255 | 256 |
256 void TypeArrayKlass::initialize(TRAPS) { | 257 void TypeArrayKlass::initialize(TRAPS) { |
257 // Nothing to do. Having this function is handy since objArrayKlasses can be | 258 // Nothing to do. Having this function is handy since objArrayKlasses can be |
258 // initialized by calling initialize on their bottom_klass, see ObjArrayKlass::initialize | 259 // initialized by calling initialize on their bottom_klass, see ObjArrayKlass::initialize |
259 } | 260 } |