161 inline void jdk_internal_vm_StackChunk::release_set_flags(oop chunk, uint8_t value) {
162 Atomic::release_store(chunk->field_addr<uint8_t>(_flags_offset), value);
163 }
164
165 inline bool jdk_internal_vm_StackChunk::try_set_flags(oop chunk, uint8_t expected_value, uint8_t new_value) {
166 return Atomic::cmpxchg(chunk->field_addr<uint8_t>(_flags_offset), expected_value, new_value) == expected_value;
167 }
168
169 inline int jdk_internal_vm_StackChunk::maxThawingSize(oop chunk) {
170 return chunk->int_field(_maxThawingSize_offset);
171 }
172
173 inline void jdk_internal_vm_StackChunk::set_maxThawingSize(oop chunk, int value) {
174 #ifdef ASSERT
175 jint old = maxThawingSize(chunk);
176 log_develop_trace(continuations)("%s max_size: %d -> %d", value >= old ? "add" : "sub", old, value);
177 #endif
178 chunk->int_field_put(_maxThawingSize_offset, value);
179 }
180
181 #endif // SHARE_RUNTIME_CONTINUATIONJAVACLASSES_INLINE_HPP
|
161 inline void jdk_internal_vm_StackChunk::release_set_flags(oop chunk, uint8_t value) {
162 Atomic::release_store(chunk->field_addr<uint8_t>(_flags_offset), value);
163 }
164
165 inline bool jdk_internal_vm_StackChunk::try_set_flags(oop chunk, uint8_t expected_value, uint8_t new_value) {
166 return Atomic::cmpxchg(chunk->field_addr<uint8_t>(_flags_offset), expected_value, new_value) == expected_value;
167 }
168
169 inline int jdk_internal_vm_StackChunk::maxThawingSize(oop chunk) {
170 return chunk->int_field(_maxThawingSize_offset);
171 }
172
173 inline void jdk_internal_vm_StackChunk::set_maxThawingSize(oop chunk, int value) {
174 #ifdef ASSERT
175 jint old = maxThawingSize(chunk);
176 log_develop_trace(continuations)("%s max_size: %d -> %d", value >= old ? "add" : "sub", old, value);
177 #endif
178 chunk->int_field_put(_maxThawingSize_offset, value);
179 }
180
181 inline uint8_t jdk_internal_vm_StackChunk::lockStackSize(oop chunk) {
182 return Atomic::load(chunk->field_addr<uint8_t>(_lockStackSize_offset));
183 }
184
185 inline void jdk_internal_vm_StackChunk::set_lockStackSize(oop chunk, uint8_t value) {
186 Atomic::store(chunk->field_addr<uint8_t>(_lockStackSize_offset), value);
187 }
188
189 inline address jdk_internal_vm_StackChunk::objectMonitor(oop chunk) {
190 return chunk->address_field(_objectMonitor_offset);
191 }
192
193 inline void jdk_internal_vm_StackChunk::set_objectMonitor(oop chunk, address value) {
194 chunk->address_field_put(_objectMonitor_offset, value);
195 }
196
197 #endif // SHARE_RUNTIME_CONTINUATIONJAVACLASSES_INLINE_HPP
|