< prev index next >

src/hotspot/share/oops/access.hpp

Print this page
rev 50534 : [mq]: rename_RootAccess


 279 
 280   static bool equals(oop o1, oop o2) {
 281     verify_decorators<INTERNAL_EMPTY>();
 282     return AccessInternal::equals<decorators>(o1, o2);
 283   }
 284 };
 285 
 286 // Helper for performing raw accesses (knows only of memory ordering
 287 // atomicity decorators as well as compressed oops)
 288 template <DecoratorSet decorators = INTERNAL_EMPTY>
 289 class RawAccess: public Access<AS_RAW | decorators> {};
 290 
 291 // Helper for performing normal accesses on the heap. These accesses
 292 // may resolve an accessor on a GC barrier set
 293 template <DecoratorSet decorators = INTERNAL_EMPTY>
 294 class HeapAccess: public Access<IN_HEAP | decorators> {};
 295 
 296 // Helper for performing normal accesses in roots. These accesses
 297 // may resolve an accessor on a GC barrier set
 298 template <DecoratorSet decorators = INTERNAL_EMPTY>
 299 class RootAccess: public Access<IN_ROOT | decorators> {};
 300 
 301 // Helper for array access.
 302 template <DecoratorSet decorators = INTERNAL_EMPTY>
 303 class ArrayAccess: public HeapAccess<IN_HEAP_ARRAY | decorators> {
 304   typedef HeapAccess<IN_HEAP_ARRAY | decorators> AccessT;
 305 public:
 306   template <typename T>
 307   static inline void arraycopy(arrayOop src_obj, size_t src_offset_in_bytes,
 308                                arrayOop dst_obj, size_t dst_offset_in_bytes,
 309                                size_t length) {
 310     AccessT::arraycopy(src_obj, src_offset_in_bytes, reinterpret_cast<const T*>(NULL),
 311                        dst_obj, dst_offset_in_bytes, reinterpret_cast<T*>(NULL),
 312                        length);
 313   }
 314 
 315   template <typename T>
 316   static inline void arraycopy_to_native(arrayOop src_obj, size_t src_offset_in_bytes,
 317                                          T* dst,
 318                                          size_t length) {
 319     AccessT::arraycopy(src_obj, src_offset_in_bytes, reinterpret_cast<const T*>(NULL),




 279 
 280   static bool equals(oop o1, oop o2) {
 281     verify_decorators<INTERNAL_EMPTY>();
 282     return AccessInternal::equals<decorators>(o1, o2);
 283   }
 284 };
 285 
 286 // Helper for performing raw accesses (knows only of memory ordering
 287 // atomicity decorators as well as compressed oops)
 288 template <DecoratorSet decorators = INTERNAL_EMPTY>
 289 class RawAccess: public Access<AS_RAW | decorators> {};
 290 
 291 // Helper for performing normal accesses on the heap. These accesses
 292 // may resolve an accessor on a GC barrier set
 293 template <DecoratorSet decorators = INTERNAL_EMPTY>
 294 class HeapAccess: public Access<IN_HEAP | decorators> {};
 295 
 296 // Helper for performing normal accesses in roots. These accesses
 297 // may resolve an accessor on a GC barrier set
 298 template <DecoratorSet decorators = INTERNAL_EMPTY>
 299 class NativeAccess: public Access<IN_ROOT | decorators> {};
 300 
 301 // Helper for array access.
 302 template <DecoratorSet decorators = INTERNAL_EMPTY>
 303 class ArrayAccess: public HeapAccess<IN_HEAP_ARRAY | decorators> {
 304   typedef HeapAccess<IN_HEAP_ARRAY | decorators> AccessT;
 305 public:
 306   template <typename T>
 307   static inline void arraycopy(arrayOop src_obj, size_t src_offset_in_bytes,
 308                                arrayOop dst_obj, size_t dst_offset_in_bytes,
 309                                size_t length) {
 310     AccessT::arraycopy(src_obj, src_offset_in_bytes, reinterpret_cast<const T*>(NULL),
 311                        dst_obj, dst_offset_in_bytes, reinterpret_cast<T*>(NULL),
 312                        length);
 313   }
 314 
 315   template <typename T>
 316   static inline void arraycopy_to_native(arrayOop src_obj, size_t src_offset_in_bytes,
 317                                          T* dst,
 318                                          size_t length) {
 319     AccessT::arraycopy(src_obj, src_offset_in_bytes, reinterpret_cast<const T*>(NULL),


< prev index next >