Mercurial > hg > graal-jvmci-8
comparison src/share/vm/oops/objArrayOop.hpp @ 342:37f87013dfd8
6711316: Open source the Garbage-First garbage collector
Summary: First mercurial integration of the code for the Garbage-First garbage collector.
Reviewed-by: apetrusenko, iveresov, jmasa, sgoldman, tonyp, ysr
author | ysr |
---|---|
date | Thu, 05 Jun 2008 15:57:56 -0700 |
parents | ba764ed4b6f2 |
children | 1ee8caae33af |
comparison
equal
deleted
inserted
replaced
189:0b27f3512f9e | 342:37f87013dfd8 |
---|---|
27 | 27 |
28 class objArrayOopDesc : public arrayOopDesc { | 28 class objArrayOopDesc : public arrayOopDesc { |
29 friend class objArrayKlass; | 29 friend class objArrayKlass; |
30 friend class Runtime1; | 30 friend class Runtime1; |
31 friend class psPromotionManager; | 31 friend class psPromotionManager; |
32 friend class CSMarkOopClosure; | |
33 friend class G1ParScanPartialArrayClosure; | |
32 | 34 |
33 template <class T> T* obj_at_addr(int index) const { | 35 template <class T> T* obj_at_addr(int index) const { |
34 assert(is_within_bounds(index), "index out of bounds"); | 36 assert(is_within_bounds(index), "index out of bounds"); |
35 return &((T*)base())[index]; | 37 return &((T*)base())[index]; |
36 } | 38 } |
86 // special iterators for index ranges, returns size of object | 88 // special iterators for index ranges, returns size of object |
87 #define ObjArrayOop_OOP_ITERATE_DECL(OopClosureType, nv_suffix) \ | 89 #define ObjArrayOop_OOP_ITERATE_DECL(OopClosureType, nv_suffix) \ |
88 int oop_iterate_range(OopClosureType* blk, int start, int end); | 90 int oop_iterate_range(OopClosureType* blk, int start, int end); |
89 | 91 |
90 ALL_OOP_OOP_ITERATE_CLOSURES_1(ObjArrayOop_OOP_ITERATE_DECL) | 92 ALL_OOP_OOP_ITERATE_CLOSURES_1(ObjArrayOop_OOP_ITERATE_DECL) |
91 ALL_OOP_OOP_ITERATE_CLOSURES_3(ObjArrayOop_OOP_ITERATE_DECL) | 93 ALL_OOP_OOP_ITERATE_CLOSURES_2(ObjArrayOop_OOP_ITERATE_DECL) |
92 }; | 94 }; |