< prev index next >
src/hotspot/share/oops/accessDecorators.hpp
BarrierSetC1
*/
#ifndef SHARE_OOPS_ACCESSDECORATORS_HPP
#define SHARE_OOPS_ACCESSDECORATORS_HPP
+ #include "metaprogramming/integralConstant.hpp"
+ #include "utilities/globalDefinitions.hpp"
+
// A decorator is an attribute or property that affects the way a memory access is performed in some way.
// There are different groups of decorators. Some have to do with memory ordering, others to do with,
// e.g. strength of references, strength of GC barriers, or whether compression should be applied or not.
// Some decorators are set at buildtime, such as whether primitives require GC barriers or not, others
// at callsites such as whether an access is in the heap or not, and others are resolved at runtime
***************
const DecoratorSet ARRAYCOPY_ALIGNED = UCONST64(1) << 30;
const DecoratorSet ARRAYCOPY_DECORATOR_MASK = ARRAYCOPY_CHECKCAST | ARRAYCOPY_DISJOINT |
ARRAYCOPY_DISJOINT | ARRAYCOPY_ARRAYOF |
ARRAYCOPY_ATOMIC | ARRAYCOPY_ALIGNED;
+ // Keep track of the last decorator.
+ const DecoratorSet DECORATOR_LAST = UCONST64(1) << 30;
+
#endif // SHARE_OOPS_ACCESSDECORATORS_HPP
< prev index next >