Lines Matching refs:VarHandle

127   static int32_t AccessModesBitMask(VarHandle::AccessMode mode) {  in AccessModesBitMask()
132 static int32_t AccessModesBitMask(VarHandle::AccessMode first, Args... args) { in AccessModesBitMask()
137 static void InitializeVarHandle(ObjPtr<VarHandle> vh, in InitializeVarHandle()
141 vh->SetFieldObject<false>(VarHandle::VarTypeOffset(), var_type.Get()); in InitializeVarHandle()
142 vh->SetField32<false>(VarHandle::AccessModesBitMaskOffset(), access_modes_bit_mask); in InitializeVarHandle()
145 static void InitializeVarHandle(ObjPtr<VarHandle> vh, in InitializeVarHandle()
151 vh->SetFieldObject<false>(VarHandle::CoordinateType0Offset(), coordinate_type0.Get()); in InitializeVarHandle()
154 static void InitializeVarHandle(ObjPtr<VarHandle> vh, in InitializeVarHandle()
161 vh->SetFieldObject<false>(VarHandle::CoordinateType0Offset(), coordinate_type0.Get()); in InitializeVarHandle()
162 vh->SetFieldObject<false>(VarHandle::CoordinateType1Offset(), coordinate_type1.Get()); in InitializeVarHandle()
232 static bool AccessModeMatch(ObjPtr<VarHandle> vh, in AccessModeMatch()
233 VarHandle::AccessMode access_mode, in AccessModeMatch()
235 VarHandle::MatchKind expected_match) in AccessModeMatch()
242 VarHandle::AccessMode access_mode, in AccessModeExactMatch()
249 VarHandle::MatchKind::kExact); in AccessModeExactMatch()
254 VarHandle::AccessMode access_mode, in AccessModeWithConversionsMatch()
261 VarHandle::MatchKind::kWithConversions); in AccessModeWithConversionsMatch()
266 VarHandle::AccessMode access_mode, in AccessModeNoMatch()
273 VarHandle::MatchKind::kNone); 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()
426 int32_t mask = AccessModesBitMask(VarHandle::AccessMode::kSet, in TEST_F()
427 VarHandle::AccessMode::kGetOpaque, in TEST_F()
428 VarHandle::AccessMode::kGetAndBitwiseAndRelease); in TEST_F()
435 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kGet)); in TEST_F()
436 EXPECT_TRUE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kSet)); in TEST_F()
437 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kGetVolatile)); in TEST_F()
438 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kSetVolatile)); in TEST_F()
439 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kGetAcquire)); in TEST_F()
440 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kSetRelease)); in TEST_F()
441 EXPECT_TRUE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kGetOpaque)); in TEST_F()
442 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kSetOpaque)); in TEST_F()
443 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kCompareAndSet)); in TEST_F()
444 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kCompareAndExchange)); in TEST_F()
445 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kCompareAndExchangeAcquire)); in TEST_F()
446 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kCompareAndExchangeRelease)); in TEST_F()
447 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kWeakCompareAndSetPlain)); in TEST_F()
448 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kWeakCompareAndSet)); in TEST_F()
449 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kWeakCompareAndSetAcquire)); in TEST_F()
450 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kWeakCompareAndSetRelease)); in TEST_F()
451 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndSet)); in TEST_F()
452 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndSetAcquire)); in TEST_F()
453 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndSetRelease)); in TEST_F()
454 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndAdd)); in TEST_F()
455 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndAddAcquire)); in TEST_F()
456 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndAddRelease)); in TEST_F()
457 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseOr)); in TEST_F()
458 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseOrRelease)); in TEST_F()
459 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseOrAcquire)); in TEST_F()
460 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseAnd)); in TEST_F()
461 EXPECT_TRUE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseAndRelease)); in TEST_F()
462 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseAndAcquire)); in TEST_F()
463 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseXor)); in TEST_F()
464 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseXorRelease)); in TEST_F()
465 EXPECT_FALSE(fvh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseXorAcquire)); in TEST_F()
469 const VarHandle::AccessMode access_mode = VarHandle::AccessMode::kGet; in TEST_F()
478 const VarHandle::AccessMode access_mode = VarHandle::AccessMode::kSet; in TEST_F()
487 const VarHandle::AccessMode access_mode = VarHandle::AccessMode::kCompareAndSet; in TEST_F()
496 const VarHandle::AccessMode access_mode = VarHandle::AccessMode::kCompareAndExchange; in TEST_F()
506 const VarHandle::AccessMode access_mode = VarHandle::AccessMode::kGetAndAdd; in TEST_F()
520 auto test_mode = [=](VarHandle::AccessMode access_mode, Handle<MethodType> method_type) in TEST_F()
524 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGet, get)); in TEST_F()
525 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kSet, set)); in TEST_F()
526 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetVolatile, get)); in TEST_F()
527 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kSetVolatile, set)); in TEST_F()
528 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAcquire, get)); in TEST_F()
529 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kSetRelease, set)); in TEST_F()
530 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetOpaque, get)); in TEST_F()
531 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kSetOpaque, set)); in TEST_F()
532 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kCompareAndSet, compareAndSet)); in TEST_F()
533 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kCompareAndExchange, compareAndExchange)); in TEST_F()
534 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kCompareAndExchangeAcquire, compareAndExchange)); in TEST_F()
535 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kCompareAndExchangeRelease, compareAndExchange)); in TEST_F()
536 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kWeakCompareAndSetPlain, compareAndSet)); in TEST_F()
537 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kWeakCompareAndSet, compareAndSet)); in TEST_F()
538 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kWeakCompareAndSetAcquire, compareAndSet)); in TEST_F()
539 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kWeakCompareAndSetRelease, compareAndSet)); in TEST_F()
540 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndSet, getAndUpdate)); in TEST_F()
541 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndSetAcquire, getAndUpdate)); in TEST_F()
542 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndSetRelease, getAndUpdate)); in TEST_F()
543 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndAdd, getAndUpdate)); in TEST_F()
544 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndAddAcquire, getAndUpdate)); in TEST_F()
545 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndAddRelease, getAndUpdate)); in TEST_F()
546 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseOr, getAndUpdate)); in TEST_F()
547 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseOrRelease, getAndUpdate)); in TEST_F()
548 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseOrAcquire, getAndUpdate)); in TEST_F()
549 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseAnd, getAndUpdate)); in TEST_F()
550 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseAndRelease, getAndUpdate)); in TEST_F()
551 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseAndAcquire, getAndUpdate)); in TEST_F()
552 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseXor, getAndUpdate)); in TEST_F()
553 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseXorRelease, getAndUpdate)); in TEST_F()
554 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseXorAcquire, getAndUpdate)); in TEST_F()
563 int32_t mask = AccessModesBitMask(VarHandle::AccessMode::kGet, in TEST_F()
564 VarHandle::AccessMode::kSet, in TEST_F()
565 VarHandle::AccessMode::kGetVolatile, in TEST_F()
566 VarHandle::AccessMode::kSetVolatile, in TEST_F()
567 VarHandle::AccessMode::kGetAcquire, in TEST_F()
568 VarHandle::AccessMode::kSetRelease, in TEST_F()
569 VarHandle::AccessMode::kGetOpaque, in TEST_F()
570 VarHandle::AccessMode::kSetOpaque, in TEST_F()
571 VarHandle::AccessMode::kCompareAndSet, in TEST_F()
572 VarHandle::AccessMode::kCompareAndExchange, in TEST_F()
573 VarHandle::AccessMode::kCompareAndExchangeAcquire, in TEST_F()
574 VarHandle::AccessMode::kCompareAndExchangeRelease, in TEST_F()
575 VarHandle::AccessMode::kWeakCompareAndSetPlain, in TEST_F()
576 VarHandle::AccessMode::kWeakCompareAndSet, in TEST_F()
577 VarHandle::AccessMode::kWeakCompareAndSetAcquire, in TEST_F()
578 VarHandle::AccessMode::kWeakCompareAndSetRelease, in TEST_F()
579 VarHandle::AccessMode::kGetAndSet, in TEST_F()
580 VarHandle::AccessMode::kGetAndSetAcquire, in TEST_F()
581 VarHandle::AccessMode::kGetAndSetRelease, in TEST_F()
582 VarHandle::AccessMode::kGetAndAdd, in TEST_F()
583 VarHandle::AccessMode::kGetAndAddAcquire, in TEST_F()
584 VarHandle::AccessMode::kGetAndAddRelease, in TEST_F()
585 VarHandle::AccessMode::kGetAndBitwiseOr, in TEST_F()
586 VarHandle::AccessMode::kGetAndBitwiseOrRelease, in TEST_F()
587 VarHandle::AccessMode::kGetAndBitwiseOrAcquire, in TEST_F()
588 VarHandle::AccessMode::kGetAndBitwiseAnd, in TEST_F()
589 VarHandle::AccessMode::kGetAndBitwiseAndRelease, in TEST_F()
590 VarHandle::AccessMode::kGetAndBitwiseAndAcquire, in TEST_F()
591 VarHandle::AccessMode::kGetAndBitwiseXor, in TEST_F()
592 VarHandle::AccessMode::kGetAndBitwiseXorRelease, in TEST_F()
593 VarHandle::AccessMode::kGetAndBitwiseXorAcquire); in TEST_F()
602 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGet)); in TEST_F()
603 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kSet)); in TEST_F()
604 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetVolatile)); in TEST_F()
605 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kSetVolatile)); in TEST_F()
606 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAcquire)); in TEST_F()
607 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kSetRelease)); in TEST_F()
608 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetOpaque)); in TEST_F()
609 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kSetOpaque)); in TEST_F()
610 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kCompareAndSet)); in TEST_F()
611 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kCompareAndExchange)); in TEST_F()
612 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kCompareAndExchangeAcquire)); in TEST_F()
613 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kCompareAndExchangeRelease)); in TEST_F()
614 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kWeakCompareAndSetPlain)); in TEST_F()
615 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kWeakCompareAndSet)); in TEST_F()
616 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kWeakCompareAndSetAcquire)); in TEST_F()
617 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kWeakCompareAndSetRelease)); in TEST_F()
618 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndSet)); in TEST_F()
619 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndSetAcquire)); in TEST_F()
620 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndSetRelease)); in TEST_F()
621 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndAdd)); in TEST_F()
622 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndAddAcquire)); in TEST_F()
623 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndAddRelease)); in TEST_F()
624 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseOr)); in TEST_F()
625 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseOrRelease)); in TEST_F()
626 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseOrAcquire)); in TEST_F()
627 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseAnd)); in TEST_F()
628 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseAndRelease)); in TEST_F()
629 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseAndAcquire)); in TEST_F()
630 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseXor)); in TEST_F()
631 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseXorRelease)); in TEST_F()
632 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseXorAcquire)); in TEST_F()
636 const VarHandle::AccessMode access_mode = VarHandle::AccessMode::kGet; in TEST_F()
645 const VarHandle::AccessMode access_mode = VarHandle::AccessMode::kSet; in TEST_F()
654 const VarHandle::AccessMode access_mode = VarHandle::AccessMode::kCompareAndSet; in TEST_F()
663 const VarHandle::AccessMode access_mode = VarHandle::AccessMode::kCompareAndExchange; in TEST_F()
672 const VarHandle::AccessMode access_mode = VarHandle::AccessMode::kGetAndAdd; in TEST_F()
690 auto test_mode = [=](VarHandle::AccessMode access_mode, Handle<MethodType> method_type) in TEST_F()
694 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGet, get)); in TEST_F()
695 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kSet, set)); in TEST_F()
696 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetVolatile, get)); in TEST_F()
697 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kSetVolatile, set)); in TEST_F()
698 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAcquire, get)); in TEST_F()
699 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kSetRelease, set)); in TEST_F()
700 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetOpaque, get)); in TEST_F()
701 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kSetOpaque, set)); in TEST_F()
702 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kCompareAndSet, compareAndSet)); in TEST_F()
703 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kCompareAndExchange, compareAndExchange)); in TEST_F()
704 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kCompareAndExchangeAcquire, compareAndExchange)); in TEST_F()
705 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kCompareAndExchangeRelease, compareAndExchange)); in TEST_F()
706 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kWeakCompareAndSetPlain, compareAndSet)); in TEST_F()
707 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kWeakCompareAndSet, compareAndSet)); in TEST_F()
708 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kWeakCompareAndSetAcquire, compareAndSet)); in TEST_F()
709 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kWeakCompareAndSetRelease, compareAndSet)); in TEST_F()
710 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndSet, getAndUpdate)); in TEST_F()
711 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndSetAcquire, getAndUpdate)); in TEST_F()
712 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndSetRelease, getAndUpdate)); in TEST_F()
713 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndAdd, getAndUpdate)); in TEST_F()
714 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndAddAcquire, getAndUpdate)); in TEST_F()
715 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndAddRelease, getAndUpdate)); in TEST_F()
716 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseOr, getAndUpdate)); in TEST_F()
717 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseOrRelease, getAndUpdate)); in TEST_F()
718 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseOrAcquire, getAndUpdate)); in TEST_F()
719 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseAnd, getAndUpdate)); in TEST_F()
720 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseAndRelease, getAndUpdate)); in TEST_F()
721 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseAndAcquire, getAndUpdate)); in TEST_F()
722 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseXor, getAndUpdate)); in TEST_F()
723 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseXorRelease, getAndUpdate)); in TEST_F()
724 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseXorAcquire, getAndUpdate)); in TEST_F()
733 int32_t mask = AccessModesBitMask(VarHandle::AccessMode::kGet, in TEST_F()
734 VarHandle::AccessMode::kGetVolatile, in TEST_F()
735 VarHandle::AccessMode::kGetAcquire, in TEST_F()
736 VarHandle::AccessMode::kGetOpaque, in TEST_F()
737 VarHandle::AccessMode::kCompareAndSet, in TEST_F()
738 VarHandle::AccessMode::kCompareAndExchangeAcquire, in TEST_F()
739 VarHandle::AccessMode::kWeakCompareAndSetPlain, in TEST_F()
740 VarHandle::AccessMode::kWeakCompareAndSetAcquire, in TEST_F()
741 VarHandle::AccessMode::kGetAndSet, in TEST_F()
742 VarHandle::AccessMode::kGetAndSetRelease, in TEST_F()
743 VarHandle::AccessMode::kGetAndAddAcquire, in TEST_F()
744 VarHandle::AccessMode::kGetAndBitwiseOr, in TEST_F()
745 VarHandle::AccessMode::kGetAndBitwiseOrAcquire, in TEST_F()
746 VarHandle::AccessMode::kGetAndBitwiseAndRelease, in TEST_F()
747 VarHandle::AccessMode::kGetAndBitwiseXor, in TEST_F()
748 VarHandle::AccessMode::kGetAndBitwiseXorAcquire); in TEST_F()
758 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGet)); in TEST_F()
759 EXPECT_FALSE(vh->IsAccessModeSupported(VarHandle::AccessMode::kSet)); in TEST_F()
760 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetVolatile)); in TEST_F()
761 EXPECT_FALSE(vh->IsAccessModeSupported(VarHandle::AccessMode::kSetVolatile)); in TEST_F()
762 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAcquire)); in TEST_F()
763 EXPECT_FALSE(vh->IsAccessModeSupported(VarHandle::AccessMode::kSetRelease)); in TEST_F()
764 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetOpaque)); in TEST_F()
765 EXPECT_FALSE(vh->IsAccessModeSupported(VarHandle::AccessMode::kSetOpaque)); in TEST_F()
766 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kCompareAndSet)); in TEST_F()
767 EXPECT_FALSE(vh->IsAccessModeSupported(VarHandle::AccessMode::kCompareAndExchange)); in TEST_F()
768 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kCompareAndExchangeAcquire)); in TEST_F()
769 EXPECT_FALSE(vh->IsAccessModeSupported(VarHandle::AccessMode::kCompareAndExchangeRelease)); in TEST_F()
770 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kWeakCompareAndSetPlain)); in TEST_F()
771 EXPECT_FALSE(vh->IsAccessModeSupported(VarHandle::AccessMode::kWeakCompareAndSet)); in TEST_F()
772 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kWeakCompareAndSetAcquire)); in TEST_F()
773 EXPECT_FALSE(vh->IsAccessModeSupported(VarHandle::AccessMode::kWeakCompareAndSetRelease)); in TEST_F()
774 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndSet)); in TEST_F()
775 EXPECT_FALSE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndSetAcquire)); in TEST_F()
776 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndSetRelease)); in TEST_F()
777 EXPECT_FALSE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndAdd)); in TEST_F()
778 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndAddAcquire)); in TEST_F()
779 EXPECT_FALSE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndAddRelease)); in TEST_F()
780 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseOr)); in TEST_F()
781 EXPECT_FALSE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseOrRelease)); in TEST_F()
782 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseOrAcquire)); in TEST_F()
783 EXPECT_FALSE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseAnd)); in TEST_F()
784 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseAndRelease)); in TEST_F()
785 EXPECT_FALSE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseAndAcquire)); in TEST_F()
786 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseXor)); in TEST_F()
787 EXPECT_FALSE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseXorRelease)); in TEST_F()
788 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseXorAcquire)); in TEST_F()
792 const VarHandle::AccessMode access_mode = VarHandle::AccessMode::kGet; in TEST_F()
801 const VarHandle::AccessMode access_mode = VarHandle::AccessMode::kSet; in TEST_F()
810 const VarHandle::AccessMode access_mode = VarHandle::AccessMode::kCompareAndSet; in TEST_F()
819 const VarHandle::AccessMode access_mode = VarHandle::AccessMode::kCompareAndExchange; in TEST_F()
828 const VarHandle::AccessMode access_mode = VarHandle::AccessMode::kGetAndAdd; in TEST_F()
842 auto test_mode = [=](VarHandle::AccessMode access_mode, Handle<MethodType> method_type) in TEST_F()
846 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGet, get)); in TEST_F()
847 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kSet, set)); in TEST_F()
848 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetVolatile, get)); in TEST_F()
849 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kSetVolatile, set)); in TEST_F()
850 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAcquire, get)); in TEST_F()
851 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kSetRelease, set)); in TEST_F()
852 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetOpaque, get)); in TEST_F()
853 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kSetOpaque, set)); in TEST_F()
854 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kCompareAndSet, compareAndSet)); in TEST_F()
855 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kCompareAndExchange, compareAndExchange)); in TEST_F()
856 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kCompareAndExchangeAcquire, compareAndExchange)); in TEST_F()
857 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kCompareAndExchangeRelease, compareAndExchange)); in TEST_F()
858 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kWeakCompareAndSetPlain, compareAndSet)); in TEST_F()
859 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kWeakCompareAndSet, compareAndSet)); in TEST_F()
860 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kWeakCompareAndSetAcquire, compareAndSet)); in TEST_F()
861 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kWeakCompareAndSetRelease, compareAndSet)); in TEST_F()
862 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndSet, getAndUpdate)); in TEST_F()
863 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndSetAcquire, getAndUpdate)); in TEST_F()
864 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndSetRelease, getAndUpdate)); in TEST_F()
865 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndAdd, getAndUpdate)); in TEST_F()
866 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndAddAcquire, getAndUpdate)); in TEST_F()
867 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndAddRelease, getAndUpdate)); in TEST_F()
868 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseOr, getAndUpdate)); in TEST_F()
869 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseOrRelease, getAndUpdate)); in TEST_F()
870 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseOrAcquire, getAndUpdate)); in TEST_F()
871 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseAnd, getAndUpdate)); in TEST_F()
872 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseAndRelease, getAndUpdate)); in TEST_F()
873 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseAndAcquire, getAndUpdate)); in TEST_F()
874 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseXor, getAndUpdate)); in TEST_F()
875 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseXorRelease, getAndUpdate)); in TEST_F()
876 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseXorAcquire, getAndUpdate)); in TEST_F()
885 int32_t mask = AccessModesBitMask(VarHandle::AccessMode::kGet, in TEST_F()
886 VarHandle::AccessMode::kGetVolatile, in TEST_F()
887 VarHandle::AccessMode::kGetAcquire, in TEST_F()
888 VarHandle::AccessMode::kGetOpaque, in TEST_F()
889 VarHandle::AccessMode::kCompareAndSet, in TEST_F()
890 VarHandle::AccessMode::kCompareAndExchangeAcquire, in TEST_F()
891 VarHandle::AccessMode::kWeakCompareAndSetPlain, in TEST_F()
892 VarHandle::AccessMode::kWeakCompareAndSetAcquire, in TEST_F()
893 VarHandle::AccessMode::kGetAndSet, in TEST_F()
894 VarHandle::AccessMode::kGetAndSetRelease, in TEST_F()
895 VarHandle::AccessMode::kGetAndAddAcquire, in TEST_F()
896 VarHandle::AccessMode::kGetAndBitwiseOr, in TEST_F()
897 VarHandle::AccessMode::kGetAndBitwiseOrAcquire, in TEST_F()
898 VarHandle::AccessMode::kGetAndBitwiseAndRelease, in TEST_F()
899 VarHandle::AccessMode::kGetAndBitwiseXor, in TEST_F()
900 VarHandle::AccessMode::kGetAndBitwiseXorAcquire); in TEST_F()
910 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGet)); in TEST_F()
911 EXPECT_FALSE(vh->IsAccessModeSupported(VarHandle::AccessMode::kSet)); in TEST_F()
912 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetVolatile)); in TEST_F()
913 EXPECT_FALSE(vh->IsAccessModeSupported(VarHandle::AccessMode::kSetVolatile)); in TEST_F()
914 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAcquire)); in TEST_F()
915 EXPECT_FALSE(vh->IsAccessModeSupported(VarHandle::AccessMode::kSetRelease)); in TEST_F()
916 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetOpaque)); in TEST_F()
917 EXPECT_FALSE(vh->IsAccessModeSupported(VarHandle::AccessMode::kSetOpaque)); in TEST_F()
918 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kCompareAndSet)); in TEST_F()
919 EXPECT_FALSE(vh->IsAccessModeSupported(VarHandle::AccessMode::kCompareAndExchange)); in TEST_F()
920 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kCompareAndExchangeAcquire)); in TEST_F()
921 EXPECT_FALSE(vh->IsAccessModeSupported(VarHandle::AccessMode::kCompareAndExchangeRelease)); in TEST_F()
922 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kWeakCompareAndSetPlain)); in TEST_F()
923 EXPECT_FALSE(vh->IsAccessModeSupported(VarHandle::AccessMode::kWeakCompareAndSet)); in TEST_F()
924 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kWeakCompareAndSetAcquire)); in TEST_F()
925 EXPECT_FALSE(vh->IsAccessModeSupported(VarHandle::AccessMode::kWeakCompareAndSetRelease)); in TEST_F()
926 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndSet)); in TEST_F()
927 EXPECT_FALSE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndSetAcquire)); in TEST_F()
928 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndSetRelease)); in TEST_F()
929 EXPECT_FALSE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndAdd)); in TEST_F()
930 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndAddAcquire)); in TEST_F()
931 EXPECT_FALSE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndAddRelease)); in TEST_F()
932 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseOr)); in TEST_F()
933 EXPECT_FALSE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseOrRelease)); in TEST_F()
934 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseOrAcquire)); in TEST_F()
935 EXPECT_FALSE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseAnd)); in TEST_F()
936 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseAndRelease)); in TEST_F()
937 EXPECT_FALSE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseAndAcquire)); in TEST_F()
938 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseXor)); in TEST_F()
939 EXPECT_FALSE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseXorRelease)); in TEST_F()
940 EXPECT_TRUE(vh->IsAccessModeSupported(VarHandle::AccessMode::kGetAndBitwiseXorAcquire)); in TEST_F()
944 const VarHandle::AccessMode access_mode = VarHandle::AccessMode::kGet; in TEST_F()
953 const VarHandle::AccessMode access_mode = VarHandle::AccessMode::kSet; in TEST_F()
962 const VarHandle::AccessMode access_mode = VarHandle::AccessMode::kCompareAndSet; in TEST_F()
971 const VarHandle::AccessMode access_mode = VarHandle::AccessMode::kCompareAndExchange; in TEST_F()
980 const VarHandle::AccessMode access_mode = VarHandle::AccessMode::kGetAndAdd; in TEST_F()
995 auto test_mode = [=](VarHandle::AccessMode access_mode, Handle<MethodType> method_type) in TEST_F()
999 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGet, get)); in TEST_F()
1000 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kSet, set)); in TEST_F()
1001 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetVolatile, get)); in TEST_F()
1002 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kSetVolatile, set)); in TEST_F()
1003 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAcquire, get)); in TEST_F()
1004 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kSetRelease, set)); in TEST_F()
1005 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetOpaque, get)); in TEST_F()
1006 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kSetOpaque, set)); in TEST_F()
1007 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kCompareAndSet, compareAndSet)); in TEST_F()
1008 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kCompareAndExchange, compareAndExchange)); in TEST_F()
1009 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kCompareAndExchangeAcquire, compareAndExchange)); in TEST_F()
1010 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kCompareAndExchangeRelease, compareAndExchange)); in TEST_F()
1011 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kWeakCompareAndSetPlain, compareAndSet)); in TEST_F()
1012 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kWeakCompareAndSet, compareAndSet)); in TEST_F()
1013 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kWeakCompareAndSetAcquire, compareAndSet)); in TEST_F()
1014 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kWeakCompareAndSetRelease, compareAndSet)); in TEST_F()
1015 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndSet, getAndUpdate)); in TEST_F()
1016 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndSetAcquire, getAndUpdate)); in TEST_F()
1017 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndSetRelease, getAndUpdate)); in TEST_F()
1018 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndAdd, getAndUpdate)); in TEST_F()
1019 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndAddAcquire, getAndUpdate)); in TEST_F()
1020 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndAddRelease, getAndUpdate)); in TEST_F()
1021 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseOr, getAndUpdate)); in TEST_F()
1022 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseOrRelease, getAndUpdate)); in TEST_F()
1023 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseOrAcquire, getAndUpdate)); in TEST_F()
1024 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseAnd, getAndUpdate)); in TEST_F()
1025 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseAndRelease, getAndUpdate)); in TEST_F()
1026 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseAndAcquire, getAndUpdate)); in TEST_F()
1027 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseXor, getAndUpdate)); in TEST_F()
1028 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseXorRelease, getAndUpdate)); in TEST_F()
1029 EXPECT_TRUE(test_mode(VarHandle::AccessMode::kGetAndBitwiseXorAcquire, getAndUpdate)); in TEST_F()
1034 VarHandle::AccessMode access_mode; in TEST_F()
1037 EXPECT_FALSE(VarHandle::GetAccessModeByMethodName(nullptr, &access_mode)); in TEST_F()
1038 EXPECT_FALSE(VarHandle::GetAccessModeByMethodName("", &access_mode)); in TEST_F()
1039 EXPECT_FALSE(VarHandle::GetAccessModeByMethodName("CompareAndExchange", &access_mode)); in TEST_F()
1040 EXPECT_FALSE(VarHandle::GetAccessModeByMethodName("compareAndExchangX", &access_mode)); in TEST_F()
1043 EXPECT_TRUE(VarHandle::GetAccessModeByMethodName("compareAndExchange", &access_mode)); in TEST_F()
1044 EXPECT_EQ(VarHandle::AccessMode::kCompareAndExchange, access_mode); in TEST_F()
1045 EXPECT_TRUE(VarHandle::GetAccessModeByMethodName("compareAndExchangeAcquire", &access_mode)); in TEST_F()
1046 EXPECT_EQ(VarHandle::AccessMode::kCompareAndExchangeAcquire, access_mode); in TEST_F()
1047 EXPECT_TRUE(VarHandle::GetAccessModeByMethodName("compareAndExchangeRelease", &access_mode)); in TEST_F()
1048 EXPECT_EQ(VarHandle::AccessMode::kCompareAndExchangeRelease, access_mode); in TEST_F()
1049 EXPECT_TRUE(VarHandle::GetAccessModeByMethodName("compareAndSet", &access_mode)); in TEST_F()
1050 EXPECT_EQ(VarHandle::AccessMode::kCompareAndSet, access_mode); in TEST_F()
1051 EXPECT_TRUE(VarHandle::GetAccessModeByMethodName("get", &access_mode)); in TEST_F()
1052 EXPECT_EQ(VarHandle::AccessMode::kGet, access_mode); in TEST_F()
1053 EXPECT_TRUE(VarHandle::GetAccessModeByMethodName("getAcquire", &access_mode)); in TEST_F()
1054 EXPECT_EQ(VarHandle::AccessMode::kGetAcquire, access_mode); in TEST_F()
1055 EXPECT_TRUE(VarHandle::GetAccessModeByMethodName("getAndAdd", &access_mode)); in TEST_F()
1056 EXPECT_EQ(VarHandle::AccessMode::kGetAndAdd, access_mode); in TEST_F()
1057 EXPECT_TRUE(VarHandle::GetAccessModeByMethodName("getAndAddAcquire", &access_mode)); in TEST_F()
1058 EXPECT_EQ(VarHandle::AccessMode::kGetAndAddAcquire, access_mode); in TEST_F()
1059 EXPECT_TRUE(VarHandle::GetAccessModeByMethodName("getAndAddRelease", &access_mode)); in TEST_F()
1060 EXPECT_EQ(VarHandle::AccessMode::kGetAndAddRelease, access_mode); in TEST_F()
1061 EXPECT_TRUE(VarHandle::GetAccessModeByMethodName("getAndBitwiseAnd", &access_mode)); in TEST_F()
1062 EXPECT_EQ(VarHandle::AccessMode::kGetAndBitwiseAnd, access_mode); in TEST_F()
1063 EXPECT_TRUE(VarHandle::GetAccessModeByMethodName("getAndBitwiseAndAcquire", &access_mode)); in TEST_F()
1064 EXPECT_EQ(VarHandle::AccessMode::kGetAndBitwiseAndAcquire, access_mode); in TEST_F()
1065 EXPECT_TRUE(VarHandle::GetAccessModeByMethodName("getAndBitwiseAndRelease", &access_mode)); in TEST_F()
1066 EXPECT_EQ(VarHandle::AccessMode::kGetAndBitwiseAndRelease, access_mode); in TEST_F()
1067 EXPECT_TRUE(VarHandle::GetAccessModeByMethodName("getAndBitwiseOr", &access_mode)); in TEST_F()
1068 EXPECT_EQ(VarHandle::AccessMode::kGetAndBitwiseOr, access_mode); in TEST_F()
1069 EXPECT_TRUE(VarHandle::GetAccessModeByMethodName("getAndBitwiseOrAcquire", &access_mode)); in TEST_F()
1070 EXPECT_EQ(VarHandle::AccessMode::kGetAndBitwiseOrAcquire, access_mode); in TEST_F()
1071 EXPECT_TRUE(VarHandle::GetAccessModeByMethodName("getAndBitwiseOrRelease", &access_mode)); in TEST_F()
1072 EXPECT_EQ(VarHandle::AccessMode::kGetAndBitwiseOrRelease, access_mode); in TEST_F()
1073 EXPECT_TRUE(VarHandle::GetAccessModeByMethodName("getAndBitwiseXor", &access_mode)); in TEST_F()
1074 EXPECT_EQ(VarHandle::AccessMode::kGetAndBitwiseXor, access_mode); in TEST_F()
1075 EXPECT_TRUE(VarHandle::GetAccessModeByMethodName("getAndBitwiseXorAcquire", &access_mode)); in TEST_F()
1076 EXPECT_EQ(VarHandle::AccessMode::kGetAndBitwiseXorAcquire, access_mode); in TEST_F()
1077 EXPECT_TRUE(VarHandle::GetAccessModeByMethodName("getAndBitwiseXorRelease", &access_mode)); in TEST_F()
1078 EXPECT_EQ(VarHandle::AccessMode::kGetAndBitwiseXorRelease, access_mode); in TEST_F()
1079 EXPECT_TRUE(VarHandle::GetAccessModeByMethodName("getAndSet", &access_mode)); in TEST_F()
1080 EXPECT_EQ(VarHandle::AccessMode::kGetAndSet, access_mode); in TEST_F()
1081 EXPECT_TRUE(VarHandle::GetAccessModeByMethodName("getAndSetAcquire", &access_mode)); in TEST_F()
1082 EXPECT_EQ(VarHandle::AccessMode::kGetAndSetAcquire, access_mode); in TEST_F()
1083 EXPECT_TRUE(VarHandle::GetAccessModeByMethodName("getAndSetRelease", &access_mode)); in TEST_F()
1084 EXPECT_EQ(VarHandle::AccessMode::kGetAndSetRelease, access_mode); in TEST_F()
1085 EXPECT_TRUE(VarHandle::GetAccessModeByMethodName("getOpaque", &access_mode)); in TEST_F()
1086 EXPECT_EQ(VarHandle::AccessMode::kGetOpaque, access_mode); in TEST_F()
1087 EXPECT_TRUE(VarHandle::GetAccessModeByMethodName("getVolatile", &access_mode)); in TEST_F()
1088 EXPECT_EQ(VarHandle::AccessMode::kGetVolatile, access_mode); in TEST_F()
1089 EXPECT_TRUE(VarHandle::GetAccessModeByMethodName("set", &access_mode)); in TEST_F()
1090 EXPECT_EQ(VarHandle::AccessMode::kSet, access_mode); in TEST_F()
1091 EXPECT_TRUE(VarHandle::GetAccessModeByMethodName("setOpaque", &access_mode)); in TEST_F()
1092 EXPECT_EQ(VarHandle::AccessMode::kSetOpaque, access_mode); in TEST_F()
1093 EXPECT_TRUE(VarHandle::GetAccessModeByMethodName("setRelease", &access_mode)); in TEST_F()
1094 EXPECT_EQ(VarHandle::AccessMode::kSetRelease, access_mode); in TEST_F()
1095 EXPECT_TRUE(VarHandle::GetAccessModeByMethodName("setVolatile", &access_mode)); in TEST_F()
1096 EXPECT_EQ(VarHandle::AccessMode::kSetVolatile, access_mode); in TEST_F()
1097 EXPECT_TRUE(VarHandle::GetAccessModeByMethodName("weakCompareAndSet", &access_mode)); in TEST_F()
1098 EXPECT_EQ(VarHandle::AccessMode::kWeakCompareAndSet, access_mode); in TEST_F()
1099 EXPECT_TRUE(VarHandle::GetAccessModeByMethodName("weakCompareAndSetAcquire", &access_mode)); in TEST_F()
1100 EXPECT_EQ(VarHandle::AccessMode::kWeakCompareAndSetAcquire, access_mode); in TEST_F()
1101 EXPECT_TRUE(VarHandle::GetAccessModeByMethodName("weakCompareAndSetPlain", &access_mode)); in TEST_F()
1102 EXPECT_EQ(VarHandle::AccessMode::kWeakCompareAndSetPlain, access_mode); in TEST_F()
1103 EXPECT_TRUE(VarHandle::GetAccessModeByMethodName("weakCompareAndSetRelease", &access_mode)); in TEST_F()
1104 EXPECT_EQ(VarHandle::AccessMode::kWeakCompareAndSetRelease, access_mode); in TEST_F()