Lines Matching refs:AccessMode

127   static int32_t AccessModesBitMask(VarHandle::AccessMode mode) {  in AccessModesBitMask()
132 static int32_t AccessModesBitMask(VarHandle::AccessMode first, Args... args) { in AccessModesBitMask()
233 VarHandle::AccessMode access_mode, in AccessModeMatch()
242 VarHandle::AccessMode access_mode, in AccessModeExactMatch()
254 VarHandle::AccessMode access_mode, in AccessModeWithConversionsMatch()
266 VarHandle::AccessMode access_mode, in AccessModeNoMatch()
282 int32_t mask = AccessModesBitMask(VarHandle::AccessMode::kGet, in TEST_F()
283 VarHandle::AccessMode::kGetAndSet, in TEST_F()
284 VarHandle::AccessMode::kGetAndBitwiseXor); in TEST_F()
291 EXPECT_TRUE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kGet)); in TEST_F()
292 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kSet)); in TEST_F()
293 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kGetVolatile)); in TEST_F()
294 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kSetVolatile)); in TEST_F()
295 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kGetAcquire)); in TEST_F()
296 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kSetRelease)); in TEST_F()
297 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kGetOpaque)); in TEST_F()
298 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kSetOpaque)); in TEST_F()
299 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kCompareAndSet)); in TEST_F()
300 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kCompareAndExchange)); in TEST_F()
301 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kCompareAndExchangeAcquire)); in TEST_F()
302 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kCompareAndExchangeRelease)); in TEST_F()
303 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kWeakCompareAndSetPlain)); in TEST_F()
304 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kWeakCompareAndSet)); in TEST_F()
305 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kWeakCompareAndSetAcquire)); in TEST_F()
306 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kWeakCompareAndSetRelease)); in TEST_F()
307 EXPECT_TRUE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndSet)); in TEST_F()
308 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndSetAcquire)); in TEST_F()
309 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndSetRelease)); in TEST_F()
310 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndAdd)); in TEST_F()
311 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndAddAcquire)); in TEST_F()
312 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndAddRelease)); in TEST_F()
313 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseOr)); in TEST_F()
314 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseOrRelease)); in TEST_F()
315 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseOrAcquire)); in TEST_F()
316 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseAnd)); in TEST_F()
317 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseAndRelease)); in TEST_F()
318 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseAndAcquire)); in TEST_F()
319 EXPECT_TRUE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseXor)); in TEST_F()
320 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseXorRelease)); in TEST_F()
321 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseXorAcquire)); in TEST_F()
325 const VarHandle::AccessMode access_mode = VarHandle::AccessMode::kGet; in TEST_F()
335 const VarHandle::AccessMode access_mode = VarHandle::AccessMode::kSet; in TEST_F()
345 const VarHandle::AccessMode access_mode = VarHandle::AccessMode::kCompareAndSet; in TEST_F()
357 const VarHandle::AccessMode access_mode = VarHandle::AccessMode::kCompareAndExchange; in TEST_F()
368 const VarHandle::AccessMode access_mode = VarHandle::AccessMode::kGetAndAdd; in TEST_F()
382 auto test_mode = [=](VarHandle::AccessMode access_mode, Handle<MethodType> method_type) in TEST_F()
386 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGet, get)); in TEST_F()
387 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kSet, set)); in TEST_F()
388 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetVolatile, get)); in TEST_F()
389 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kSetVolatile, set)); in TEST_F()
390 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAcquire, get)); in TEST_F()
391 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kSetRelease, set)); in TEST_F()
392 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetOpaque, get)); in TEST_F()
393 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kSetOpaque, set)); in TEST_F()
394 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kCompareAndSet, compareAndSet)); in TEST_F()
395 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kCompareAndExchange, compareAndExchange)); in TEST_F()
396 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kCompareAndExchangeAcquire, compareAndExchange)); in TEST_F()
397 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kCompareAndExchangeRelease, compareAndExchange)); in TEST_F()
398 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kWeakCompareAndSetPlain, compareAndSet)); in TEST_F()
399 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kWeakCompareAndSet, compareAndSet)); in TEST_F()
400 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kWeakCompareAndSetAcquire, compareAndSet)); in TEST_F()
401 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kWeakCompareAndSetRelease, compareAndSet)); in TEST_F()
402 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndSet, getAndUpdate)); in TEST_F()
403 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndSetAcquire, getAndUpdate)); in TEST_F()
404 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndSetRelease, getAndUpdate)); in TEST_F()
405 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndAdd, getAndUpdate)); in TEST_F()
406 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndAddAcquire, getAndUpdate)); in TEST_F()
407 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndAddRelease, getAndUpdate)); in TEST_F()
408 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseOr, getAndUpdate)); in TEST_F()
409 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseOrRelease, getAndUpdate)); in TEST_F()
410 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseOrAcquire, getAndUpdate)); in TEST_F()
411 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseAnd, getAndUpdate)); in TEST_F()
412 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseAndRelease, getAndUpdate)); in TEST_F()
413 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseAndAcquire, getAndUpdate)); in TEST_F()
414 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseXor, getAndUpdate)); in TEST_F()
415 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseXorRelease, getAndUpdate)); in TEST_F()
416 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseXorAcquire, getAndUpdate)); in TEST_F()
422 VarHandle::GetAccessModeTemplate(VarHandle::AccessMode::kGet)); in TEST_F()
424 VarHandle::GetAccessModeTemplate(VarHandle::AccessMode::kSet)); in TEST_F()
426 VarHandle::GetAccessModeTemplate(VarHandle::AccessMode::kGetVolatile)); in TEST_F()
428 VarHandle::GetAccessModeTemplate(VarHandle::AccessMode::kSetVolatile)); in TEST_F()
430 VarHandle::GetAccessModeTemplate(VarHandle::AccessMode::kGetAcquire)); in TEST_F()
432 VarHandle::GetAccessModeTemplate(VarHandle::AccessMode::kSetRelease)); in TEST_F()
434 VarHandle::GetAccessModeTemplate(VarHandle::AccessMode::kGetOpaque)); in TEST_F()
436 VarHandle::GetAccessModeTemplate(VarHandle::AccessMode::kSetOpaque)); in TEST_F()
438 VarHandle::GetAccessModeTemplate(VarHandle::AccessMode::kCompareAndSet)); in TEST_F()
440 VarHandle::GetAccessModeTemplate(VarHandle::AccessMode::kCompareAndExchange)); in TEST_F()
442 VarHandle::GetAccessModeTemplate(VarHandle::AccessMode::kCompareAndExchangeAcquire)); in TEST_F()
444 VarHandle::GetAccessModeTemplate(VarHandle::AccessMode::kCompareAndExchangeRelease)); in TEST_F()
446 VarHandle::GetAccessModeTemplate(VarHandle::AccessMode::kWeakCompareAndSetPlain)); in TEST_F()
448 VarHandle::GetAccessModeTemplate(VarHandle::AccessMode::kWeakCompareAndSet)); in TEST_F()
450 VarHandle::GetAccessModeTemplate(VarHandle::AccessMode::kWeakCompareAndSetAcquire)); in TEST_F()
452 VarHandle::GetAccessModeTemplate(VarHandle::AccessMode::kWeakCompareAndSetRelease)); in TEST_F()
454 VarHandle::GetAccessModeTemplate(VarHandle::AccessMode::kGetAndSet)); in TEST_F()
456 VarHandle::GetAccessModeTemplate(VarHandle::AccessMode::kGetAndSetAcquire)); in TEST_F()
458 VarHandle::GetAccessModeTemplate(VarHandle::AccessMode::kGetAndSetRelease)); in TEST_F()
460 VarHandle::GetAccessModeTemplate(VarHandle::AccessMode::kGetAndBitwiseOr)); in TEST_F()
462 VarHandle::GetAccessModeTemplate(VarHandle::AccessMode::kGetAndBitwiseOrRelease)); in TEST_F()
464 VarHandle::GetAccessModeTemplate(VarHandle::AccessMode::kGetAndBitwiseOrAcquire)); in TEST_F()
466 VarHandle::GetAccessModeTemplate(VarHandle::AccessMode::kGetAndBitwiseAnd)); in TEST_F()
468 VarHandle::GetAccessModeTemplate(VarHandle::AccessMode::kGetAndBitwiseAndRelease)); in TEST_F()
470 VarHandle::GetAccessModeTemplate(VarHandle::AccessMode::kGetAndBitwiseAndAcquire)); in TEST_F()
472 VarHandle::GetAccessModeTemplate(VarHandle::AccessMode::kGetAndBitwiseXor)); in TEST_F()
474 VarHandle::GetAccessModeTemplate(VarHandle::AccessMode::kGetAndBitwiseXorRelease)); in TEST_F()
476 VarHandle::GetAccessModeTemplate(VarHandle::AccessMode::kGetAndBitwiseXorAcquire)); in TEST_F()
485 int32_t mask = AccessModesBitMask(VarHandle::AccessMode::kSet, in TEST_F()
486 VarHandle::AccessMode::kGetOpaque, in TEST_F()
487 VarHandle::AccessMode::kGetAndBitwiseAndRelease); in TEST_F()
494 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kGet)); in TEST_F()
495 EXPECT_TRUE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kSet)); in TEST_F()
496 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kGetVolatile)); in TEST_F()
497 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kSetVolatile)); in TEST_F()
498 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kGetAcquire)); in TEST_F()
499 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kSetRelease)); in TEST_F()
500 EXPECT_TRUE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kGetOpaque)); in TEST_F()
501 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kSetOpaque)); in TEST_F()
502 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kCompareAndSet)); in TEST_F()
503 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kCompareAndExchange)); in TEST_F()
504 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kCompareAndExchangeAcquire)); in TEST_F()
505 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kCompareAndExchangeRelease)); in TEST_F()
506 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kWeakCompareAndSetPlain)); in TEST_F()
507 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kWeakCompareAndSet)); in TEST_F()
508 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kWeakCompareAndSetAcquire)); in TEST_F()
509 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kWeakCompareAndSetRelease)); in TEST_F()
510 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndSet)); in TEST_F()
511 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndSetAcquire)); in TEST_F()
512 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndSetRelease)); in TEST_F()
513 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndAdd)); in TEST_F()
514 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndAddAcquire)); in TEST_F()
515 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndAddRelease)); in TEST_F()
516 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseOr)); in TEST_F()
517 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseOrRelease)); in TEST_F()
518 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseOrAcquire)); in TEST_F()
519 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseAnd)); in TEST_F()
520 EXPECT_TRUE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseAndRelease)); in TEST_F()
521 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseAndAcquire)); in TEST_F()
522 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseXor)); in TEST_F()
523 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseXorRelease)); in TEST_F()
524 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseXorAcquire)); in TEST_F()
528 const VarHandle::AccessMode access_mode = VarHandle::AccessMode::kGet; in TEST_F()
537 const VarHandle::AccessMode access_mode = VarHandle::AccessMode::kSet; in TEST_F()
546 const VarHandle::AccessMode access_mode = VarHandle::AccessMode::kCompareAndSet; in TEST_F()
555 const VarHandle::AccessMode access_mode = VarHandle::AccessMode::kCompareAndExchange; in TEST_F()
565 const VarHandle::AccessMode access_mode = VarHandle::AccessMode::kGetAndAdd; in TEST_F()
579 auto test_mode = [=](VarHandle::AccessMode access_mode, Handle<MethodType> method_type) in TEST_F()
583 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGet, get)); in TEST_F()
584 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kSet, set)); in TEST_F()
585 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetVolatile, get)); in TEST_F()
586 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kSetVolatile, set)); in TEST_F()
587 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAcquire, get)); in TEST_F()
588 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kSetRelease, set)); in TEST_F()
589 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetOpaque, get)); in TEST_F()
590 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kSetOpaque, set)); in TEST_F()
591 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kCompareAndSet, compareAndSet)); in TEST_F()
592 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kCompareAndExchange, compareAndExchange)); in TEST_F()
593 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kCompareAndExchangeAcquire, compareAndExchange)); in TEST_F()
594 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kCompareAndExchangeRelease, compareAndExchange)); in TEST_F()
595 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kWeakCompareAndSetPlain, compareAndSet)); in TEST_F()
596 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kWeakCompareAndSet, compareAndSet)); in TEST_F()
597 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kWeakCompareAndSetAcquire, compareAndSet)); in TEST_F()
598 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kWeakCompareAndSetRelease, compareAndSet)); in TEST_F()
599 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndSet, getAndUpdate)); in TEST_F()
600 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndSetAcquire, getAndUpdate)); in TEST_F()
601 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndSetRelease, getAndUpdate)); in TEST_F()
602 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndAdd, getAndUpdate)); in TEST_F()
603 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndAddAcquire, getAndUpdate)); in TEST_F()
604 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndAddRelease, getAndUpdate)); in TEST_F()
605 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseOr, getAndUpdate)); in TEST_F()
606 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseOrRelease, getAndUpdate)); in TEST_F()
607 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseOrAcquire, getAndUpdate)); in TEST_F()
608 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseAnd, getAndUpdate)); in TEST_F()
609 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseAndRelease, getAndUpdate)); in TEST_F()
610 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseAndAcquire, getAndUpdate)); in TEST_F()
611 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseXor, getAndUpdate)); in TEST_F()
612 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseXorRelease, getAndUpdate)); in TEST_F()
613 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseXorAcquire, getAndUpdate)); in TEST_F()
622 int32_t mask = AccessModesBitMask(VarHandle::AccessMode::kGet, in TEST_F()
623 VarHandle::AccessMode::kSet, in TEST_F()
624 VarHandle::AccessMode::kGetVolatile, in TEST_F()
625 VarHandle::AccessMode::kSetVolatile, in TEST_F()
626 VarHandle::AccessMode::kGetAcquire, in TEST_F()
627 VarHandle::AccessMode::kSetRelease, in TEST_F()
628 VarHandle::AccessMode::kGetOpaque, in TEST_F()
629 VarHandle::AccessMode::kSetOpaque, in TEST_F()
630 VarHandle::AccessMode::kCompareAndSet, in TEST_F()
631 VarHandle::AccessMode::kCompareAndExchange, in TEST_F()
632 VarHandle::AccessMode::kCompareAndExchangeAcquire, in TEST_F()
633 VarHandle::AccessMode::kCompareAndExchangeRelease, in TEST_F()
634 VarHandle::AccessMode::kWeakCompareAndSetPlain, in TEST_F()
635 VarHandle::AccessMode::kWeakCompareAndSet, in TEST_F()
636 VarHandle::AccessMode::kWeakCompareAndSetAcquire, in TEST_F()
637 VarHandle::AccessMode::kWeakCompareAndSetRelease, in TEST_F()
638 VarHandle::AccessMode::kGetAndSet, in TEST_F()
639 VarHandle::AccessMode::kGetAndSetAcquire, in TEST_F()
640 VarHandle::AccessMode::kGetAndSetRelease, in TEST_F()
641 VarHandle::AccessMode::kGetAndAdd, in TEST_F()
642 VarHandle::AccessMode::kGetAndAddAcquire, in TEST_F()
643 VarHandle::AccessMode::kGetAndAddRelease, in TEST_F()
644 VarHandle::AccessMode::kGetAndBitwiseOr, in TEST_F()
645 VarHandle::AccessMode::kGetAndBitwiseOrRelease, in TEST_F()
646 VarHandle::AccessMode::kGetAndBitwiseOrAcquire, in TEST_F()
647 VarHandle::AccessMode::kGetAndBitwiseAnd, in TEST_F()
648 VarHandle::AccessMode::kGetAndBitwiseAndRelease, in TEST_F()
649 VarHandle::AccessMode::kGetAndBitwiseAndAcquire, in TEST_F()
650 VarHandle::AccessMode::kGetAndBitwiseXor, in TEST_F()
651 VarHandle::AccessMode::kGetAndBitwiseXorRelease, in TEST_F()
652 VarHandle::AccessMode::kGetAndBitwiseXorAcquire); in TEST_F()
661 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGet)); in TEST_F()
662 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kSet)); in TEST_F()
663 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetVolatile)); in TEST_F()
664 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kSetVolatile)); in TEST_F()
665 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAcquire)); in TEST_F()
666 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kSetRelease)); in TEST_F()
667 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetOpaque)); in TEST_F()
668 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kSetOpaque)); in TEST_F()
669 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kCompareAndSet)); in TEST_F()
670 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kCompareAndExchange)); in TEST_F()
671 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kCompareAndExchangeAcquire)); in TEST_F()
672 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kCompareAndExchangeRelease)); in TEST_F()
673 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kWeakCompareAndSetPlain)); in TEST_F()
674 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kWeakCompareAndSet)); in TEST_F()
675 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kWeakCompareAndSetAcquire)); in TEST_F()
676 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kWeakCompareAndSetRelease)); in TEST_F()
677 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndSet)); in TEST_F()
678 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndSetAcquire)); in TEST_F()
679 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndSetRelease)); in TEST_F()
680 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndAdd)); in TEST_F()
681 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndAddAcquire)); in TEST_F()
682 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndAddRelease)); in TEST_F()
683 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseOr)); in TEST_F()
684 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseOrRelease)); in TEST_F()
685 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseOrAcquire)); in TEST_F()
686 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseAnd)); in TEST_F()
687 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseAndRelease)); in TEST_F()
688 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseAndAcquire)); in TEST_F()
689 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseXor)); in TEST_F()
690 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseXorRelease)); in TEST_F()
691 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseXorAcquire)); in TEST_F()
695 const VarHandle::AccessMode access_mode = VarHandle::AccessMode::kGet; in TEST_F()
704 const VarHandle::AccessMode access_mode = VarHandle::AccessMode::kSet; in TEST_F()
713 const VarHandle::AccessMode access_mode = VarHandle::AccessMode::kCompareAndSet; in TEST_F()
722 const VarHandle::AccessMode access_mode = VarHandle::AccessMode::kCompareAndExchange; in TEST_F()
731 const VarHandle::AccessMode access_mode = VarHandle::AccessMode::kGetAndAdd; in TEST_F()
749 auto test_mode = [=](VarHandle::AccessMode access_mode, Handle<MethodType> method_type) in TEST_F()
753 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGet, get)); in TEST_F()
754 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kSet, set)); in TEST_F()
755 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetVolatile, get)); in TEST_F()
756 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kSetVolatile, set)); in TEST_F()
757 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAcquire, get)); in TEST_F()
758 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kSetRelease, set)); in TEST_F()
759 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetOpaque, get)); in TEST_F()
760 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kSetOpaque, set)); in TEST_F()
761 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kCompareAndSet, compareAndSet)); in TEST_F()
762 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kCompareAndExchange, compareAndExchange)); in TEST_F()
763 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kCompareAndExchangeAcquire, compareAndExchange)); in TEST_F()
764 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kCompareAndExchangeRelease, compareAndExchange)); in TEST_F()
765 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kWeakCompareAndSetPlain, compareAndSet)); in TEST_F()
766 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kWeakCompareAndSet, compareAndSet)); in TEST_F()
767 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kWeakCompareAndSetAcquire, compareAndSet)); in TEST_F()
768 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kWeakCompareAndSetRelease, compareAndSet)); in TEST_F()
769 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndSet, getAndUpdate)); in TEST_F()
770 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndSetAcquire, getAndUpdate)); in TEST_F()
771 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndSetRelease, getAndUpdate)); in TEST_F()
772 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndAdd, getAndUpdate)); in TEST_F()
773 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndAddAcquire, getAndUpdate)); in TEST_F()
774 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndAddRelease, getAndUpdate)); in TEST_F()
775 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseOr, getAndUpdate)); in TEST_F()
776 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseOrRelease, getAndUpdate)); in TEST_F()
777 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseOrAcquire, getAndUpdate)); in TEST_F()
778 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseAnd, getAndUpdate)); in TEST_F()
779 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseAndRelease, getAndUpdate)); in TEST_F()
780 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseAndAcquire, getAndUpdate)); in TEST_F()
781 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseXor, getAndUpdate)); in TEST_F()
782 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseXorRelease, getAndUpdate)); in TEST_F()
783 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseXorAcquire, getAndUpdate)); in TEST_F()
792 int32_t mask = AccessModesBitMask(VarHandle::AccessMode::kGet, in TEST_F()
793 VarHandle::AccessMode::kGetVolatile, in TEST_F()
794 VarHandle::AccessMode::kGetAcquire, in TEST_F()
795 VarHandle::AccessMode::kGetOpaque, in TEST_F()
796 VarHandle::AccessMode::kCompareAndSet, in TEST_F()
797 VarHandle::AccessMode::kCompareAndExchangeAcquire, in TEST_F()
798 VarHandle::AccessMode::kWeakCompareAndSetPlain, in TEST_F()
799 VarHandle::AccessMode::kWeakCompareAndSetAcquire, in TEST_F()
800 VarHandle::AccessMode::kGetAndSet, in TEST_F()
801 VarHandle::AccessMode::kGetAndSetRelease, in TEST_F()
802 VarHandle::AccessMode::kGetAndAddAcquire, in TEST_F()
803 VarHandle::AccessMode::kGetAndBitwiseOr, in TEST_F()
804 VarHandle::AccessMode::kGetAndBitwiseOrAcquire, in TEST_F()
805 VarHandle::AccessMode::kGetAndBitwiseAndRelease, in TEST_F()
806 VarHandle::AccessMode::kGetAndBitwiseXor, in TEST_F()
807 VarHandle::AccessMode::kGetAndBitwiseXorAcquire); in TEST_F()
817 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGet)); in TEST_F()
818 EXPECT_FALSE(vh->IsAccessModeSupported(VarHandle::AccessMode::kSet)); in TEST_F()
819 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetVolatile)); in TEST_F()
820 EXPECT_FALSE(vh->IsAccessModeSupported(VarHandle::AccessMode::kSetVolatile)); in TEST_F()
821 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAcquire)); in TEST_F()
822 EXPECT_FALSE(vh->IsAccessModeSupported(VarHandle::AccessMode::kSetRelease)); in TEST_F()
823 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetOpaque)); in TEST_F()
824 EXPECT_FALSE(vh->IsAccessModeSupported(VarHandle::AccessMode::kSetOpaque)); in TEST_F()
825 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kCompareAndSet)); in TEST_F()
826 EXPECT_FALSE(vh->IsAccessModeSupported(VarHandle::AccessMode::kCompareAndExchange)); in TEST_F()
827 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kCompareAndExchangeAcquire)); in TEST_F()
828 EXPECT_FALSE(vh->IsAccessModeSupported(VarHandle::AccessMode::kCompareAndExchangeRelease)); in TEST_F()
829 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kWeakCompareAndSetPlain)); in TEST_F()
830 EXPECT_FALSE(vh->IsAccessModeSupported(VarHandle::AccessMode::kWeakCompareAndSet)); in TEST_F()
831 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kWeakCompareAndSetAcquire)); in TEST_F()
832 EXPECT_FALSE(vh->IsAccessModeSupported(VarHandle::AccessMode::kWeakCompareAndSetRelease)); in TEST_F()
833 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndSet)); in TEST_F()
834 EXPECT_FALSE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndSetAcquire)); in TEST_F()
835 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndSetRelease)); in TEST_F()
836 EXPECT_FALSE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndAdd)); in TEST_F()
837 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndAddAcquire)); in TEST_F()
838 EXPECT_FALSE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndAddRelease)); in TEST_F()
839 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseOr)); in TEST_F()
840 EXPECT_FALSE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseOrRelease)); in TEST_F()
841 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseOrAcquire)); in TEST_F()
842 EXPECT_FALSE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseAnd)); in TEST_F()
843 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseAndRelease)); in TEST_F()
844 EXPECT_FALSE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseAndAcquire)); in TEST_F()
845 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseXor)); in TEST_F()
846 EXPECT_FALSE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseXorRelease)); in TEST_F()
847 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseXorAcquire)); in TEST_F()
851 const VarHandle::AccessMode access_mode = VarHandle::AccessMode::kGet; in TEST_F()
860 const VarHandle::AccessMode access_mode = VarHandle::AccessMode::kSet; in TEST_F()
869 const VarHandle::AccessMode access_mode = VarHandle::AccessMode::kCompareAndSet; in TEST_F()
878 const VarHandle::AccessMode access_mode = VarHandle::AccessMode::kCompareAndExchange; in TEST_F()
887 const VarHandle::AccessMode access_mode = VarHandle::AccessMode::kGetAndAdd; in TEST_F()
901 auto test_mode = [=](VarHandle::AccessMode access_mode, Handle<MethodType> method_type) in TEST_F()
905 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGet, get)); in TEST_F()
906 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kSet, set)); in TEST_F()
907 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetVolatile, get)); in TEST_F()
908 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kSetVolatile, set)); in TEST_F()
909 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAcquire, get)); in TEST_F()
910 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kSetRelease, set)); in TEST_F()
911 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetOpaque, get)); in TEST_F()
912 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kSetOpaque, set)); in TEST_F()
913 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kCompareAndSet, compareAndSet)); in TEST_F()
914 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kCompareAndExchange, compareAndExchange)); in TEST_F()
915 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kCompareAndExchangeAcquire, compareAndExchange)); in TEST_F()
916 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kCompareAndExchangeRelease, compareAndExchange)); in TEST_F()
917 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kWeakCompareAndSetPlain, compareAndSet)); in TEST_F()
918 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kWeakCompareAndSet, compareAndSet)); in TEST_F()
919 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kWeakCompareAndSetAcquire, compareAndSet)); in TEST_F()
920 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kWeakCompareAndSetRelease, compareAndSet)); in TEST_F()
921 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndSet, getAndUpdate)); in TEST_F()
922 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndSetAcquire, getAndUpdate)); in TEST_F()
923 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndSetRelease, getAndUpdate)); in TEST_F()
924 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndAdd, getAndUpdate)); in TEST_F()
925 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndAddAcquire, getAndUpdate)); in TEST_F()
926 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndAddRelease, getAndUpdate)); in TEST_F()
927 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseOr, getAndUpdate)); in TEST_F()
928 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseOrRelease, getAndUpdate)); in TEST_F()
929 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseOrAcquire, getAndUpdate)); in TEST_F()
930 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseAnd, getAndUpdate)); in TEST_F()
931 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseAndRelease, getAndUpdate)); in TEST_F()
932 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseAndAcquire, getAndUpdate)); in TEST_F()
933 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseXor, getAndUpdate)); in TEST_F()
934 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseXorRelease, getAndUpdate)); in TEST_F()
935 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseXorAcquire, getAndUpdate)); in TEST_F()
944 int32_t mask = AccessModesBitMask(VarHandle::AccessMode::kGet, in TEST_F()
945 VarHandle::AccessMode::kGetVolatile, in TEST_F()
946 VarHandle::AccessMode::kGetAcquire, in TEST_F()
947 VarHandle::AccessMode::kGetOpaque, in TEST_F()
948 VarHandle::AccessMode::kCompareAndSet, in TEST_F()
949 VarHandle::AccessMode::kCompareAndExchangeAcquire, in TEST_F()
950 VarHandle::AccessMode::kWeakCompareAndSetPlain, in TEST_F()
951 VarHandle::AccessMode::kWeakCompareAndSetAcquire, in TEST_F()
952 VarHandle::AccessMode::kGetAndSet, in TEST_F()
953 VarHandle::AccessMode::kGetAndSetRelease, in TEST_F()
954 VarHandle::AccessMode::kGetAndAddAcquire, in TEST_F()
955 VarHandle::AccessMode::kGetAndBitwiseOr, in TEST_F()
956 VarHandle::AccessMode::kGetAndBitwiseOrAcquire, in TEST_F()
957 VarHandle::AccessMode::kGetAndBitwiseAndRelease, in TEST_F()
958 VarHandle::AccessMode::kGetAndBitwiseXor, in TEST_F()
959 VarHandle::AccessMode::kGetAndBitwiseXorAcquire); in TEST_F()
969 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGet)); in TEST_F()
970 EXPECT_FALSE(vh->IsAccessModeSupported(VarHandle::AccessMode::kSet)); in TEST_F()
971 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetVolatile)); in TEST_F()
972 EXPECT_FALSE(vh->IsAccessModeSupported(VarHandle::AccessMode::kSetVolatile)); in TEST_F()
973 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAcquire)); in TEST_F()
974 EXPECT_FALSE(vh->IsAccessModeSupported(VarHandle::AccessMode::kSetRelease)); in TEST_F()
975 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetOpaque)); in TEST_F()
976 EXPECT_FALSE(vh->IsAccessModeSupported(VarHandle::AccessMode::kSetOpaque)); in TEST_F()
977 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kCompareAndSet)); in TEST_F()
978 EXPECT_FALSE(vh->IsAccessModeSupported(VarHandle::AccessMode::kCompareAndExchange)); in TEST_F()
979 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kCompareAndExchangeAcquire)); in TEST_F()
980 EXPECT_FALSE(vh->IsAccessModeSupported(VarHandle::AccessMode::kCompareAndExchangeRelease)); in TEST_F()
981 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kWeakCompareAndSetPlain)); in TEST_F()
982 EXPECT_FALSE(vh->IsAccessModeSupported(VarHandle::AccessMode::kWeakCompareAndSet)); in TEST_F()
983 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kWeakCompareAndSetAcquire)); in TEST_F()
984 EXPECT_FALSE(vh->IsAccessModeSupported(VarHandle::AccessMode::kWeakCompareAndSetRelease)); in TEST_F()
985 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndSet)); in TEST_F()
986 EXPECT_FALSE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndSetAcquire)); in TEST_F()
987 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndSetRelease)); in TEST_F()
988 EXPECT_FALSE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndAdd)); in TEST_F()
989 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndAddAcquire)); in TEST_F()
990 EXPECT_FALSE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndAddRelease)); in TEST_F()
991 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseOr)); in TEST_F()
992 EXPECT_FALSE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseOrRelease)); in TEST_F()
993 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseOrAcquire)); in TEST_F()
994 EXPECT_FALSE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseAnd)); in TEST_F()
995 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseAndRelease)); in TEST_F()
996 EXPECT_FALSE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseAndAcquire)); in TEST_F()
997 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseXor)); in TEST_F()
998 EXPECT_FALSE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseXorRelease)); in TEST_F()
999 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseXorAcquire)); in TEST_F()
1003 const VarHandle::AccessMode access_mode = VarHandle::AccessMode::kGet; in TEST_F()
1012 const VarHandle::AccessMode access_mode = VarHandle::AccessMode::kSet; in TEST_F()
1021 const VarHandle::AccessMode access_mode = VarHandle::AccessMode::kCompareAndSet; in TEST_F()
1030 const VarHandle::AccessMode access_mode = VarHandle::AccessMode::kCompareAndExchange; in TEST_F()
1039 const VarHandle::AccessMode access_mode = VarHandle::AccessMode::kGetAndAdd; in TEST_F()
1054 auto test_mode = [=](VarHandle::AccessMode access_mode, Handle<MethodType> method_type) in TEST_F()
1058 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGet, get)); in TEST_F()
1059 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kSet, set)); in TEST_F()
1060 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetVolatile, get)); in TEST_F()
1061 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kSetVolatile, set)); in TEST_F()
1062 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAcquire, get)); in TEST_F()
1063 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kSetRelease, set)); in TEST_F()
1064 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetOpaque, get)); in TEST_F()
1065 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kSetOpaque, set)); in TEST_F()
1066 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kCompareAndSet, compareAndSet)); in TEST_F()
1067 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kCompareAndExchange, compareAndExchange)); in TEST_F()
1068 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kCompareAndExchangeAcquire, compareAndExchange)); in TEST_F()
1069 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kCompareAndExchangeRelease, compareAndExchange)); in TEST_F()
1070 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kWeakCompareAndSetPlain, compareAndSet)); in TEST_F()
1071 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kWeakCompareAndSet, compareAndSet)); in TEST_F()
1072 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kWeakCompareAndSetAcquire, compareAndSet)); in TEST_F()
1073 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kWeakCompareAndSetRelease, compareAndSet)); in TEST_F()
1074 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndSet, getAndUpdate)); in TEST_F()
1075 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndSetAcquire, getAndUpdate)); in TEST_F()
1076 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndSetRelease, getAndUpdate)); in TEST_F()
1077 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndAdd, getAndUpdate)); in TEST_F()
1078 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndAddAcquire, getAndUpdate)); in TEST_F()
1079 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndAddRelease, getAndUpdate)); in TEST_F()
1080 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseOr, getAndUpdate)); in TEST_F()
1081 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseOrRelease, getAndUpdate)); in TEST_F()
1082 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseOrAcquire, getAndUpdate)); in TEST_F()
1083 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseAnd, getAndUpdate)); in TEST_F()
1084 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseAndRelease, getAndUpdate)); in TEST_F()
1085 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseAndAcquire, getAndUpdate)); in TEST_F()
1086 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseXor, getAndUpdate)); in TEST_F()
1087 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseXorRelease, getAndUpdate)); in TEST_F()
1088 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseXorAcquire, getAndUpdate)); in TEST_F()
1093 VarHandle::AccessMode access_mode; in TEST_F()
1103 EXPECT_EQ(VarHandle::AccessMode::kCompareAndExchange, access_mode); in TEST_F()
1105 EXPECT_EQ(VarHandle::AccessMode::kCompareAndExchangeAcquire, access_mode); in TEST_F()
1107 EXPECT_EQ(VarHandle::AccessMode::kCompareAndExchangeRelease, access_mode); in TEST_F()
1109 EXPECT_EQ(VarHandle::AccessMode::kCompareAndSet, access_mode); in TEST_F()
1111 EXPECT_EQ(VarHandle::AccessMode::kGet, access_mode); in TEST_F()
1113 EXPECT_EQ(VarHandle::AccessMode::kGetAcquire, access_mode); in TEST_F()
1115 EXPECT_EQ(VarHandle::AccessMode::kGetAndAdd, access_mode); in TEST_F()
1117 EXPECT_EQ(VarHandle::AccessMode::kGetAndAddAcquire, access_mode); in TEST_F()
1119 EXPECT_EQ(VarHandle::AccessMode::kGetAndAddRelease, access_mode); in TEST_F()
1121 EXPECT_EQ(VarHandle::AccessMode::kGetAndBitwiseAnd, access_mode); in TEST_F()
1123 EXPECT_EQ(VarHandle::AccessMode::kGetAndBitwiseAndAcquire, access_mode); in TEST_F()
1125 EXPECT_EQ(VarHandle::AccessMode::kGetAndBitwiseAndRelease, access_mode); in TEST_F()
1127 EXPECT_EQ(VarHandle::AccessMode::kGetAndBitwiseOr, access_mode); in TEST_F()
1129 EXPECT_EQ(VarHandle::AccessMode::kGetAndBitwiseOrAcquire, access_mode); in TEST_F()
1131 EXPECT_EQ(VarHandle::AccessMode::kGetAndBitwiseOrRelease, access_mode); in TEST_F()
1133 EXPECT_EQ(VarHandle::AccessMode::kGetAndBitwiseXor, access_mode); in TEST_F()
1135 EXPECT_EQ(VarHandle::AccessMode::kGetAndBitwiseXorAcquire, access_mode); in TEST_F()
1137 EXPECT_EQ(VarHandle::AccessMode::kGetAndBitwiseXorRelease, access_mode); in TEST_F()
1139 EXPECT_EQ(VarHandle::AccessMode::kGetAndSet, access_mode); in TEST_F()
1141 EXPECT_EQ(VarHandle::AccessMode::kGetAndSetAcquire, access_mode); in TEST_F()
1143 EXPECT_EQ(VarHandle::AccessMode::kGetAndSetRelease, access_mode); in TEST_F()
1145 EXPECT_EQ(VarHandle::AccessMode::kGetOpaque, access_mode); in TEST_F()
1147 EXPECT_EQ(VarHandle::AccessMode::kGetVolatile, access_mode); in TEST_F()
1149 EXPECT_EQ(VarHandle::AccessMode::kSet, access_mode); in TEST_F()
1151 EXPECT_EQ(VarHandle::AccessMode::kSetOpaque, access_mode); in TEST_F()
1153 EXPECT_EQ(VarHandle::AccessMode::kSetRelease, access_mode); in TEST_F()
1155 EXPECT_EQ(VarHandle::AccessMode::kSetVolatile, access_mode); in TEST_F()
1157 EXPECT_EQ(VarHandle::AccessMode::kWeakCompareAndSet, access_mode); in TEST_F()
1159 EXPECT_EQ(VarHandle::AccessMode::kWeakCompareAndSetAcquire, access_mode); in TEST_F()
1161 EXPECT_EQ(VarHandle::AccessMode::kWeakCompareAndSetPlain, access_mode); in TEST_F()
1163 EXPECT_EQ(VarHandle::AccessMode::kWeakCompareAndSetRelease, access_mode); in TEST_F()