diff options
-rw-r--r-- | compiler/optimizing/intrinsics_arm64.cc | 17 | ||||
-rw-r--r-- | compiler/optimizing/intrinsics_arm_vixl.cc | 17 | ||||
-rw-r--r-- | compiler/optimizing/intrinsics_x86.cc | 17 | ||||
-rw-r--r-- | compiler/optimizing/intrinsics_x86_64.cc | 17 |
4 files changed, 4 insertions, 64 deletions
diff --git a/compiler/optimizing/intrinsics_arm64.cc b/compiler/optimizing/intrinsics_arm64.cc index 8d576ca8d5..5963b7f37a 100644 --- a/compiler/optimizing/intrinsics_arm64.cc +++ b/compiler/optimizing/intrinsics_arm64.cc @@ -739,25 +739,10 @@ static void GenUnsafeGet(HInvoke* invoke, } } -static bool UnsafeGetIntrinsicOnCallList(Intrinsics intrinsic) { - switch (intrinsic) { - case Intrinsics::kUnsafeGetObject: - case Intrinsics::kUnsafeGetObjectVolatile: - case Intrinsics::kJdkUnsafeGetReference: - case Intrinsics::kJdkUnsafeGetReferenceVolatile: - case Intrinsics::kJdkUnsafeGetReferenceAcquire: - return true; - default: - break; - } - return false; -} - static void CreateUnsafeGetLocations(ArenaAllocator* allocator, HInvoke* invoke, CodeGeneratorARM64* codegen) { - bool can_call = - codegen->EmitReadBarrier() && UnsafeGetIntrinsicOnCallList(invoke->GetIntrinsic()); + bool can_call = codegen->EmitReadBarrier() && IsUnsafeGetReference(invoke); LocationSummary* locations = new (allocator) LocationSummary(invoke, can_call diff --git a/compiler/optimizing/intrinsics_arm_vixl.cc b/compiler/optimizing/intrinsics_arm_vixl.cc index 0190c12623..5c231ecbc7 100644 --- a/compiler/optimizing/intrinsics_arm_vixl.cc +++ b/compiler/optimizing/intrinsics_arm_vixl.cc @@ -2802,26 +2802,11 @@ static void GenerateIntrinsicGet(HInvoke* invoke, } } -static bool UnsafeGetIntrinsicOnCallList(Intrinsics intrinsic) { - switch (intrinsic) { - case Intrinsics::kUnsafeGetObject: - case Intrinsics::kUnsafeGetObjectVolatile: - case Intrinsics::kJdkUnsafeGetReference: - case Intrinsics::kJdkUnsafeGetReferenceVolatile: - case Intrinsics::kJdkUnsafeGetReferenceAcquire: - return true; - default: - break; - } - return false; -} - static void CreateUnsafeGetLocations(HInvoke* invoke, CodeGeneratorARMVIXL* codegen, DataType::Type type, bool atomic) { - bool can_call = - codegen->EmitReadBarrier() && UnsafeGetIntrinsicOnCallList(invoke->GetIntrinsic()); + bool can_call = codegen->EmitReadBarrier() && IsUnsafeGetReference(invoke); ArenaAllocator* allocator = invoke->GetBlock()->GetGraph()->GetAllocator(); LocationSummary* locations = new (allocator) LocationSummary(invoke, diff --git a/compiler/optimizing/intrinsics_x86.cc b/compiler/optimizing/intrinsics_x86.cc index 575a1d376e..3589f4aedf 100644 --- a/compiler/optimizing/intrinsics_x86.cc +++ b/compiler/optimizing/intrinsics_x86.cc @@ -1739,27 +1739,12 @@ static void GenUnsafeGet(HInvoke* invoke, } } -static bool UnsafeGetIntrinsicOnCallList(Intrinsics intrinsic) { - switch (intrinsic) { - case Intrinsics::kUnsafeGetObject: - case Intrinsics::kUnsafeGetObjectVolatile: - case Intrinsics::kJdkUnsafeGetReference: - case Intrinsics::kJdkUnsafeGetReferenceVolatile: - case Intrinsics::kJdkUnsafeGetReferenceAcquire: - return true; - default: - break; - } - return false; -} - static void CreateIntIntIntToIntLocations(ArenaAllocator* allocator, HInvoke* invoke, CodeGeneratorX86* codegen, DataType::Type type, bool is_volatile) { - bool can_call = - codegen->EmitReadBarrier() && UnsafeGetIntrinsicOnCallList(invoke->GetIntrinsic()); + bool can_call = codegen->EmitReadBarrier() && IsUnsafeGetReference(invoke); LocationSummary* locations = new (allocator) LocationSummary(invoke, can_call diff --git a/compiler/optimizing/intrinsics_x86_64.cc b/compiler/optimizing/intrinsics_x86_64.cc index a1c1291f9b..cf0495454c 100644 --- a/compiler/optimizing/intrinsics_x86_64.cc +++ b/compiler/optimizing/intrinsics_x86_64.cc @@ -1916,25 +1916,10 @@ static void GenUnsafeGet(HInvoke* invoke, } } -static bool UnsafeGetIntrinsicOnCallList(Intrinsics intrinsic) { - switch (intrinsic) { - case Intrinsics::kUnsafeGetObject: - case Intrinsics::kUnsafeGetObjectVolatile: - case Intrinsics::kJdkUnsafeGetReference: - case Intrinsics::kJdkUnsafeGetReferenceVolatile: - case Intrinsics::kJdkUnsafeGetReferenceAcquire: - return true; - default: - break; - } - return false; -} - static void CreateIntIntIntToIntLocations(ArenaAllocator* allocator, HInvoke* invoke, CodeGeneratorX86_64* codegen) { - bool can_call = - codegen->EmitReadBarrier() && UnsafeGetIntrinsicOnCallList(invoke->GetIntrinsic()); + bool can_call = codegen->EmitReadBarrier() && IsUnsafeGetReference(invoke); LocationSummary* locations = new (allocator) LocationSummary(invoke, can_call |