diff options
Diffstat (limited to 'compiler/optimizing/instruction_simplifier.cc')
-rw-r--r-- | compiler/optimizing/instruction_simplifier.cc | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/compiler/optimizing/instruction_simplifier.cc b/compiler/optimizing/instruction_simplifier.cc index cf1cbd578c..3164ce138f 100644 --- a/compiler/optimizing/instruction_simplifier.cc +++ b/compiler/optimizing/instruction_simplifier.cc @@ -2330,6 +2330,21 @@ void InstructionSimplifierVisitor::VisitInvoke(HInvoke* instruction) { case Intrinsics::kUnsafeFullFence: SimplifyMemBarrier(instruction, MemBarrierKind::kAnyAny); break; + case Intrinsics::kVarHandleFullFence: + SimplifyMemBarrier(instruction, MemBarrierKind::kAnyAny); + break; + case Intrinsics::kVarHandleAcquireFence: + SimplifyMemBarrier(instruction, MemBarrierKind::kLoadAny); + break; + case Intrinsics::kVarHandleReleaseFence: + SimplifyMemBarrier(instruction, MemBarrierKind::kAnyStore); + break; + case Intrinsics::kVarHandleLoadLoadFence: + SimplifyMemBarrier(instruction, MemBarrierKind::kLoadAny); + break; + case Intrinsics::kVarHandleStoreStoreFence: + SimplifyMemBarrier(instruction, MemBarrierKind::kStoreStore); + break; default: break; } |