< prev index next >

src/hotspot/share/oops/typeArrayKlass.hpp

8211446: Replace oop_pc_follow_contents with oop_iterate and closure

61 
62   int oop_size(oop obj) const;                                                                                             
63 
64   bool compute_is_subtype_of(Klass* k);                                                                                    
65 
66   // Allocation                                                                                                            
67   typeArrayOop allocate_common(int length, bool do_zero, TRAPS);                                                           
68   typeArrayOop allocate(int length, TRAPS) { return allocate_common(length, true, THREAD); }                               
69   oop multi_allocate(int rank, jint* sizes, TRAPS);                                                                        
70 
71   oop protection_domain() const { return NULL; }                                                                           
72 
73   // Copying                                                                                                               
74   void  copy_array(arrayOop s, int src_pos, arrayOop d, int dst_pos, int length, TRAPS);                                   
75 
76   // GC specific object visitors                                                                                           
77   //                                                                                                                       
78 
79 #if INCLUDE_PARALLELGC                                                                                                     
80   // Parallel Compact                                                                                                      
81   void oop_pc_follow_contents(oop obj, ParCompactionManager* cm);                                                          
82   void oop_pc_update_pointers(oop obj, ParCompactionManager* cm);                                                          
83 #endif                                                                                                                     
84 
85   // Oop iterators. Since there are no oops in TypeArrayKlasses,                                                           
86   // these functions only return the size of the object.                                                                   
87 
88  private:                                                                                                                  
89   // The implementation used by all oop_oop_iterate functions in TypeArrayKlasses.                                         
90   inline void oop_oop_iterate_impl(oop obj, OopIterateClosure* closure);                                                   
91 
92  public:                                                                                                                   
93   // Wraps oop_oop_iterate_impl to conform to macros.                                                                      
94   template <typename T, typename OopClosureType>                                                                           
95   inline void oop_oop_iterate(oop obj, OopClosureType* closure);                                                           
96 
97   // Wraps oop_oop_iterate_impl to conform to macros.                                                                      
98   template <typename T, typename OopClosureType>                                                                           
99   inline void oop_oop_iterate_bounded(oop obj, OopClosureType* closure, MemRegion mr);                                     
100 

61 
62   int oop_size(oop obj) const;
63 
64   bool compute_is_subtype_of(Klass* k);
65 
66   // Allocation
67   typeArrayOop allocate_common(int length, bool do_zero, TRAPS);
68   typeArrayOop allocate(int length, TRAPS) { return allocate_common(length, true, THREAD); }
69   oop multi_allocate(int rank, jint* sizes, TRAPS);
70 
71   oop protection_domain() const { return NULL; }
72 
73   // Copying
74   void  copy_array(arrayOop s, int src_pos, arrayOop d, int dst_pos, int length, TRAPS);
75 
76   // GC specific object visitors
77   //
78 
79 #if INCLUDE_PARALLELGC
80   // Parallel Compact

81   void oop_pc_update_pointers(oop obj, ParCompactionManager* cm);
82 #endif
83 
84   // Oop iterators. Since there are no oops in TypeArrayKlasses,
85   // these functions only return the size of the object.
86 
87  private:
88   // The implementation used by all oop_oop_iterate functions in TypeArrayKlasses.
89   inline void oop_oop_iterate_impl(oop obj, OopIterateClosure* closure);
90 
91  public:
92   // Wraps oop_oop_iterate_impl to conform to macros.
93   template <typename T, typename OopClosureType>
94   inline void oop_oop_iterate(oop obj, OopClosureType* closure);
95 
96   // Wraps oop_oop_iterate_impl to conform to macros.
97   template <typename T, typename OopClosureType>
98   inline void oop_oop_iterate_bounded(oop obj, OopClosureType* closure, MemRegion mr);
99 
< prev index next >