Home | History | Annotate | Download | only in jit

Lines Matching refs:descriptor

147 // Mark the descriptor as "locked", so native tools know the data is being modified.
148 static void ActionSeqlock(JITDescriptor& descriptor) {
149 DCHECK_EQ(descriptor.action_seqlock_.load() & 1, 0u) << "Already locked";
150 descriptor.action_seqlock_.fetch_add(1, std::memory_order_relaxed);
155 // Mark the descriptor as "unlocked", so native tools know the data is safe to read.
156 static void ActionSequnlock(JITDescriptor& descriptor) {
157 DCHECK_EQ(descriptor.action_seqlock_.load() & 1, 1u) << "Already unlocked";
160 descriptor.action_seqlock_.fetch_add(1, std::memory_order_relaxed);
164 JITDescriptor& descriptor,
178 uint64_t timestamp = std::max(descriptor.action_timestamp_ + 1, NanoTime());
180 JITCodeEntry* head = descriptor.head_.load(std::memory_order_relaxed);
190 ActionSeqlock(descriptor);
194 descriptor.head_.store(entry, std::memory_order_relaxed);
195 descriptor.relevant_entry_ = entry;
196 descriptor.action_flag_ = JIT_REGISTER_FN;
197 descriptor.action_timestamp_ = timestamp;
198 ActionSequnlock(descriptor);
205 JITDescriptor& descriptor,
214 uint64_t timestamp = std::max(descriptor.action_timestamp_ + 1, NanoTime());
217 ActionSeqlock(descriptor);
222 descriptor.head_.store(next, std::memory_order_relaxed);
227 descriptor.relevant_entry_ = entry;
228 descriptor.action_flag_ = JIT_UNREGISTER_FN;
229 descriptor.action_timestamp_ = timestamp;
230 ActionSequnlock(descriptor);