397 {
398 const bool kBypassSafepoint = false;
400 kBypassSafepoint);
401
403
404 {
405 StackZone stack_zone(thread);
406
409 while (true) {
410 for (intptr_t cnt = 0; cnt < 0x1000; cnt++) {
411 for (intptr_t i = 0; i < len_; i++) {
413 arr = ic_data.entries();
414 intptr_t num_checks = arr.Length() / 3;
415 if (num_checks < 0 || num_checks > 5) {
417 abort();
418 }
419 }
420 }
421
422 if (done_->load(std::memory_order_acquire)) {
423 break;
424 }
425
426 TransitionVMToBlocked blocked(thread);
427 }
428 }
429
431 {
432 MonitorLocker ml(monitor_);
433 ++*exited_;
434 ml.Notify();
435 }
436 }
ObjectPtr AtAcquire(intptr_t index) const
static void static void PrintErr(const char *format,...) PRINTF_ATTRIBUTE(1
static Thread * Current()
static void ExitIsolateGroupAsHelper(bool bypass_safepoint)
static bool EnterIsolateGroupAsHelper(IsolateGroup *isolate_group, TaskKind kind, bool bypass_safepoint)