40 // The atomic cmpxchg is weak, meaning that spurious false negatives are allowed, |
40 // The atomic cmpxchg is weak, meaning that spurious false negatives are allowed, |
41 // but never false positives. |
41 // but never false positives. |
42 const DecoratorSet C2_WEAK_CMPXCHG = DECORATOR_LAST << 3; |
42 const DecoratorSet C2_WEAK_CMPXCHG = DECORATOR_LAST << 3; |
43 // This denotes that a load has control dependency. |
43 // This denotes that a load has control dependency. |
44 const DecoratorSet C2_CONTROL_DEPENDENT_LOAD = DECORATOR_LAST << 4; |
44 const DecoratorSet C2_CONTROL_DEPENDENT_LOAD = DECORATOR_LAST << 4; |
45 // This denotes that a load that must be pinned. |
45 // This denotes that a load that must be pinned, but may float above safepoints. |
46 const DecoratorSet C2_PINNED_LOAD = DECORATOR_LAST << 5; |
46 const DecoratorSet C2_UNKNOWN_CONTROL_LOAD = DECORATOR_LAST << 5; |
47 // This denotes that the access is produced from the sun.misc.Unsafe intrinsics. |
47 // This denotes that the access is produced from the sun.misc.Unsafe intrinsics. |
48 const DecoratorSet C2_UNSAFE_ACCESS = DECORATOR_LAST << 6; |
48 const DecoratorSet C2_UNSAFE_ACCESS = DECORATOR_LAST << 6; |
49 // This denotes that the access mutates state. |
49 // This denotes that the access mutates state. |
50 const DecoratorSet C2_WRITE_ACCESS = DECORATOR_LAST << 7; |
50 const DecoratorSet C2_WRITE_ACCESS = DECORATOR_LAST << 7; |
51 // This denotes that the access reads state. |
51 // This denotes that the access reads state. |