131 if (!VM_Version::supports_atomic_getset4()) return false;
132 #endif
133 break;
134 case vmIntrinsics::_arraycopy:
135 case vmIntrinsics::_currentTimeMillis:
136 case vmIntrinsics::_nanoTime:
137 case vmIntrinsics::_Reference_get:
138 // Use the intrinsic version of Reference.get() so that the value in
139 // the referent field can be registered by the G1 pre-barrier code.
140 // Also to prevent commoning reads from this field across safepoint
141 // since GC can change its value.
142 case vmIntrinsics::_loadFence:
143 case vmIntrinsics::_storeFence:
144 case vmIntrinsics::_fullFence:
145 case vmIntrinsics::_floatToRawIntBits:
146 case vmIntrinsics::_intBitsToFloat:
147 case vmIntrinsics::_doubleToRawLongBits:
148 case vmIntrinsics::_longBitsToDouble:
149 case vmIntrinsics::_getClass:
150 case vmIntrinsics::_isInstance:
151 case vmIntrinsics::_currentThread:
152 case vmIntrinsics::_dabs:
153 case vmIntrinsics::_dsqrt:
154 case vmIntrinsics::_dsin:
155 case vmIntrinsics::_dcos:
156 case vmIntrinsics::_dtan:
157 case vmIntrinsics::_dlog:
158 case vmIntrinsics::_dlog10:
159 case vmIntrinsics::_dexp:
160 case vmIntrinsics::_dpow:
161 case vmIntrinsics::_getObject:
162 case vmIntrinsics::_getBoolean:
163 case vmIntrinsics::_getByte:
164 case vmIntrinsics::_getShort:
165 case vmIntrinsics::_getChar:
166 case vmIntrinsics::_getInt:
167 case vmIntrinsics::_getLong:
168 case vmIntrinsics::_getFloat:
169 case vmIntrinsics::_getDouble:
170 case vmIntrinsics::_putObject:
|
131 if (!VM_Version::supports_atomic_getset4()) return false;
132 #endif
133 break;
134 case vmIntrinsics::_arraycopy:
135 case vmIntrinsics::_currentTimeMillis:
136 case vmIntrinsics::_nanoTime:
137 case vmIntrinsics::_Reference_get:
138 // Use the intrinsic version of Reference.get() so that the value in
139 // the referent field can be registered by the G1 pre-barrier code.
140 // Also to prevent commoning reads from this field across safepoint
141 // since GC can change its value.
142 case vmIntrinsics::_loadFence:
143 case vmIntrinsics::_storeFence:
144 case vmIntrinsics::_fullFence:
145 case vmIntrinsics::_floatToRawIntBits:
146 case vmIntrinsics::_intBitsToFloat:
147 case vmIntrinsics::_doubleToRawLongBits:
148 case vmIntrinsics::_longBitsToDouble:
149 case vmIntrinsics::_getClass:
150 case vmIntrinsics::_isInstance:
151 case vmIntrinsics::_isPrimitive:
152 case vmIntrinsics::_currentThread:
153 case vmIntrinsics::_dabs:
154 case vmIntrinsics::_dsqrt:
155 case vmIntrinsics::_dsin:
156 case vmIntrinsics::_dcos:
157 case vmIntrinsics::_dtan:
158 case vmIntrinsics::_dlog:
159 case vmIntrinsics::_dlog10:
160 case vmIntrinsics::_dexp:
161 case vmIntrinsics::_dpow:
162 case vmIntrinsics::_getObject:
163 case vmIntrinsics::_getBoolean:
164 case vmIntrinsics::_getByte:
165 case vmIntrinsics::_getShort:
166 case vmIntrinsics::_getChar:
167 case vmIntrinsics::_getInt:
168 case vmIntrinsics::_getLong:
169 case vmIntrinsics::_getFloat:
170 case vmIntrinsics::_getDouble:
171 case vmIntrinsics::_putObject:
|