diff options
-rw-r--r-- | compiler/compiled_method.cc | 9 | ||||
-rw-r--r-- | compiler/compiled_method.h | 10 | ||||
-rw-r--r-- | compiler/dex/quick/codegen_util.cc | 2 | ||||
-rw-r--r-- | compiler/linker/arm/relative_patcher_thumb2_test.cc | 24 | ||||
-rw-r--r-- | compiler/linker/arm64/relative_patcher_arm64_test.cc | 32 | ||||
-rw-r--r-- | compiler/linker/relative_patcher_test.h | 2 | ||||
-rw-r--r-- | compiler/linker/x86/relative_patcher_x86_test.cc | 8 | ||||
-rw-r--r-- | compiler/linker/x86_64/relative_patcher_x86_64_test.cc | 10 |
8 files changed, 50 insertions, 47 deletions
diff --git a/compiler/compiled_method.cc b/compiler/compiled_method.cc index 03370db6c0..eeed877444 100644 --- a/compiler/compiled_method.cc +++ b/compiler/compiled_method.cc @@ -132,7 +132,7 @@ CompiledMethod::CompiledMethod(CompilerDriver* driver, const ArrayRef<const uint8_t>& vmap_table, const ArrayRef<const uint8_t>& native_gc_map, const ArrayRef<const uint8_t>& cfi_info, - const ArrayRef<LinkerPatch>& patches) + const ArrayRef<const LinkerPatch>& patches) : CompiledCode(driver, instruction_set, quick_code, !driver->DedupeEnabled()), owns_arrays_(!driver->DedupeEnabled()), frame_size_in_bytes_(frame_size_in_bytes), core_spill_mask_(core_spill_mask), @@ -179,7 +179,7 @@ CompiledMethod* CompiledMethod::SwapAllocCompiledMethod( const ArrayRef<const uint8_t>& vmap_table, const ArrayRef<const uint8_t>& native_gc_map, const ArrayRef<const uint8_t>& cfi_info, - const ArrayRef<LinkerPatch>& patches) { + const ArrayRef<const LinkerPatch>& patches) { SwapAllocator<CompiledMethod> alloc(driver->GetSwapSpaceAllocator()); CompiledMethod* ret = alloc.allocate(1); alloc.construct(ret, driver, instruction_set, quick_code, frame_size_in_bytes, core_spill_mask, @@ -200,7 +200,8 @@ CompiledMethod* CompiledMethod::SwapAllocCompiledMethodStackMap( CompiledMethod* ret = alloc.allocate(1); alloc.construct(ret, driver, instruction_set, quick_code, frame_size_in_bytes, core_spill_mask, fp_spill_mask, nullptr, ArrayRef<const uint8_t>(), stack_map, - ArrayRef<const uint8_t>(), ArrayRef<const uint8_t>(), ArrayRef<LinkerPatch>()); + ArrayRef<const uint8_t>(), ArrayRef<const uint8_t>(), + ArrayRef<const LinkerPatch>()); return ret; } @@ -217,7 +218,7 @@ CompiledMethod* CompiledMethod::SwapAllocCompiledMethodCFI( alloc.construct(ret, driver, instruction_set, quick_code, frame_size_in_bytes, core_spill_mask, fp_spill_mask, nullptr, ArrayRef<const uint8_t>(), ArrayRef<const uint8_t>(), ArrayRef<const uint8_t>(), - cfi_info, ArrayRef<LinkerPatch>()); + cfi_info, ArrayRef<const LinkerPatch>()); return ret; } diff --git a/compiler/compiled_method.h b/compiler/compiled_method.h index 7497b175fc..506b47b68a 100644 --- a/compiler/compiled_method.h +++ b/compiler/compiled_method.h @@ -320,7 +320,7 @@ class CompiledMethod FINAL : public CompiledCode { const ArrayRef<const uint8_t>& vmap_table, const ArrayRef<const uint8_t>& native_gc_map, const ArrayRef<const uint8_t>& cfi_info, - const ArrayRef<LinkerPatch>& patches = ArrayRef<LinkerPatch>()); + const ArrayRef<const LinkerPatch>& patches = ArrayRef<const LinkerPatch>()); virtual ~CompiledMethod(); @@ -336,7 +336,7 @@ class CompiledMethod FINAL : public CompiledCode { const ArrayRef<const uint8_t>& vmap_table, const ArrayRef<const uint8_t>& native_gc_map, const ArrayRef<const uint8_t>& cfi_info, - const ArrayRef<LinkerPatch>& patches = ArrayRef<LinkerPatch>()); + const ArrayRef<const LinkerPatch>& patches = ArrayRef<const LinkerPatch>()); static CompiledMethod* SwapAllocCompiledMethodStackMap( CompilerDriver* driver, @@ -391,8 +391,8 @@ class CompiledMethod FINAL : public CompiledCode { return cfi_info_; } - const SwapVector<LinkerPatch>& GetPatches() const { - return patches_; + ArrayRef<const LinkerPatch> GetPatches() const { + return ArrayRef<const LinkerPatch>(patches_); } private: @@ -417,7 +417,7 @@ class CompiledMethod FINAL : public CompiledCode { // For quick code, a FDE entry for the debug_frame section. SwapVector<uint8_t>* cfi_info_; // For quick code, linker patches needed by the method. - SwapVector<LinkerPatch> patches_; + const SwapVector<LinkerPatch> patches_; }; } // namespace art diff --git a/compiler/dex/quick/codegen_util.cc b/compiler/dex/quick/codegen_util.cc index 483a5d06cc..f944c11931 100644 --- a/compiler/dex/quick/codegen_util.cc +++ b/compiler/dex/quick/codegen_util.cc @@ -1171,7 +1171,7 @@ CompiledMethod* Mir2Lir::GetCompiledMethod() { ArrayRef<const uint8_t>(vmap_encoder.GetData()), ArrayRef<const uint8_t>(native_gc_map_), cfi_ref, - ArrayRef<LinkerPatch>(patches_)); + ArrayRef<const LinkerPatch>(patches_)); } size_t Mir2Lir::GetMaxPossibleCompilerTemps() const { diff --git a/compiler/linker/arm/relative_patcher_thumb2_test.cc b/compiler/linker/arm/relative_patcher_thumb2_test.cc index abdfd6d64b..3b397cc5fb 100644 --- a/compiler/linker/arm/relative_patcher_thumb2_test.cc +++ b/compiler/linker/arm/relative_patcher_thumb2_test.cc @@ -39,14 +39,14 @@ class Thumb2RelativePatcherTest : public RelativePatcherTest { static constexpr uint32_t kBlMinusMax = 0xf400d000; bool Create2MethodsWithGap(const ArrayRef<const uint8_t>& method1_code, - const ArrayRef<LinkerPatch>& method1_patches, + const ArrayRef<const LinkerPatch>& method1_patches, const ArrayRef<const uint8_t>& method3_code, - const ArrayRef<LinkerPatch>& method3_patches, + const ArrayRef<const LinkerPatch>& method3_patches, uint32_t distance_without_thunks) { CHECK_EQ(distance_without_thunks % kArmAlignment, 0u); const uint32_t method1_offset = CompiledCode::AlignCode(kTrampolineSize, kThumb2) + sizeof(OatQuickMethodHeader); - AddCompiledMethod(MethodRef(1u), method1_code, ArrayRef<LinkerPatch>(method1_patches)); + AddCompiledMethod(MethodRef(1u), method1_code, method1_patches); // We want to put the method3 at a very precise offset. const uint32_t method3_offset = method1_offset + distance_without_thunks; @@ -59,7 +59,7 @@ class Thumb2RelativePatcherTest : public RelativePatcherTest { const uint32_t method2_size = (method3_offset - sizeof(OatQuickMethodHeader) - method2_offset); std::vector<uint8_t> method2_raw_code(method2_size); ArrayRef<const uint8_t> method2_code(method2_raw_code); - AddCompiledMethod(MethodRef(2u), method2_code, ArrayRef<LinkerPatch>()); + AddCompiledMethod(MethodRef(2u), method2_code, ArrayRef<const LinkerPatch>()); AddCompiledMethod(MethodRef(3u), method3_code, method3_patches); @@ -139,7 +139,7 @@ TEST_F(Thumb2RelativePatcherTest, CallSelf) { LinkerPatch patches[] = { LinkerPatch::RelativeCodePatch(0u, nullptr, 1u), }; - AddCompiledMethod(MethodRef(1u), kCallCode, ArrayRef<LinkerPatch>(patches)); + AddCompiledMethod(MethodRef(1u), kCallCode, ArrayRef<const LinkerPatch>(patches)); Link(); static const uint8_t expected_code[] = { @@ -152,11 +152,11 @@ TEST_F(Thumb2RelativePatcherTest, CallOther) { LinkerPatch method1_patches[] = { LinkerPatch::RelativeCodePatch(0u, nullptr, 2u), }; - AddCompiledMethod(MethodRef(1u), kCallCode, ArrayRef<LinkerPatch>(method1_patches)); + AddCompiledMethod(MethodRef(1u), kCallCode, ArrayRef<const LinkerPatch>(method1_patches)); LinkerPatch method2_patches[] = { LinkerPatch::RelativeCodePatch(0u, nullptr, 1u), }; - AddCompiledMethod(MethodRef(2u), kCallCode, ArrayRef<LinkerPatch>(method2_patches)); + AddCompiledMethod(MethodRef(2u), kCallCode, ArrayRef<const LinkerPatch>(method2_patches)); Link(); uint32_t method1_offset = GetMethodOffset(1u); @@ -179,7 +179,7 @@ TEST_F(Thumb2RelativePatcherTest, CallTrampoline) { LinkerPatch patches[] = { LinkerPatch::RelativeCodePatch(0u, nullptr, 2u), }; - AddCompiledMethod(MethodRef(1u), kCallCode, ArrayRef<LinkerPatch>(patches)); + AddCompiledMethod(MethodRef(1u), kCallCode, ArrayRef<const LinkerPatch>(patches)); Link(); uint32_t method1_offset = GetMethodOffset(1u); @@ -201,7 +201,7 @@ TEST_F(Thumb2RelativePatcherTest, CallOtherAlmostTooFarAfter) { constexpr uint32_t max_positive_disp = 16 * MB - 2u + 4u /* PC adjustment */; bool thunk_in_gap = Create2MethodsWithGap(method1_code, method1_patches, - kNopCode, ArrayRef<LinkerPatch>(), + kNopCode, ArrayRef<const LinkerPatch>(), bl_offset_in_method1 + max_positive_disp); ASSERT_FALSE(thunk_in_gap); // There should be no thunk. @@ -220,7 +220,7 @@ TEST_F(Thumb2RelativePatcherTest, CallOtherAlmostTooFarBefore) { }; constexpr uint32_t just_over_max_negative_disp = 16 * MB - 4u /* PC adjustment */; - bool thunk_in_gap = Create2MethodsWithGap(kNopCode, ArrayRef<LinkerPatch>(), + bool thunk_in_gap = Create2MethodsWithGap(kNopCode, ArrayRef<const LinkerPatch>(), method3_code, method3_patches, just_over_max_negative_disp - bl_offset_in_method3); ASSERT_FALSE(thunk_in_gap); // There should be no thunk. @@ -241,7 +241,7 @@ TEST_F(Thumb2RelativePatcherTest, CallOtherJustTooFarAfter) { constexpr uint32_t just_over_max_positive_disp = 16 * MB + 4u /* PC adjustment */; bool thunk_in_gap = Create2MethodsWithGap(method1_code, method1_patches, - kNopCode, ArrayRef<LinkerPatch>(), + kNopCode, ArrayRef<const LinkerPatch>(), bl_offset_in_method1 + just_over_max_positive_disp); ASSERT_TRUE(thunk_in_gap); @@ -269,7 +269,7 @@ TEST_F(Thumb2RelativePatcherTest, CallOtherJustTooFarBefore) { }; constexpr uint32_t just_over_max_negative_disp = 16 * MB + 2 - 4u /* PC adjustment */; - bool thunk_in_gap = Create2MethodsWithGap(kNopCode, ArrayRef<LinkerPatch>(), + bool thunk_in_gap = Create2MethodsWithGap(kNopCode, ArrayRef<const LinkerPatch>(), method3_code, method3_patches, just_over_max_negative_disp - bl_offset_in_method3); ASSERT_FALSE(thunk_in_gap); // There should be a thunk but it should be after the method2. diff --git a/compiler/linker/arm64/relative_patcher_arm64_test.cc b/compiler/linker/arm64/relative_patcher_arm64_test.cc index b0399369a6..b36e6d0b07 100644 --- a/compiler/linker/arm64/relative_patcher_arm64_test.cc +++ b/compiler/linker/arm64/relative_patcher_arm64_test.cc @@ -43,14 +43,14 @@ class Arm64RelativePatcherTest : public RelativePatcherTest { static constexpr uint32_t kLdurInsn = 0xf840405fu; uint32_t Create2MethodsWithGap(const ArrayRef<const uint8_t>& method1_code, - const ArrayRef<LinkerPatch>& method1_patches, + const ArrayRef<const LinkerPatch>& method1_patches, const ArrayRef<const uint8_t>& last_method_code, - const ArrayRef<LinkerPatch>& last_method_patches, + const ArrayRef<const LinkerPatch>& last_method_patches, uint32_t distance_without_thunks) { CHECK_EQ(distance_without_thunks % kArm64Alignment, 0u); const uint32_t method1_offset = CompiledCode::AlignCode(kTrampolineSize, kArm64) + sizeof(OatQuickMethodHeader); - AddCompiledMethod(MethodRef(1u), method1_code, ArrayRef<LinkerPatch>(method1_patches)); + AddCompiledMethod(MethodRef(1u), method1_code, method1_patches); const uint32_t gap_start = CompiledCode::AlignCode(method1_offset + method1_code.size(), kArm64); @@ -70,13 +70,13 @@ class Arm64RelativePatcherTest : public RelativePatcherTest { uint32_t chunk_code_size = kSmallChunkSize - sizeof(OatQuickMethodHeader); gap_code.resize(chunk_code_size, 0u); AddCompiledMethod(MethodRef(method_idx), ArrayRef<const uint8_t>(gap_code), - ArrayRef<LinkerPatch>()); + ArrayRef<const LinkerPatch>()); method_idx += 1u; } uint32_t chunk_code_size = gap_size - sizeof(OatQuickMethodHeader); gap_code.resize(chunk_code_size, 0u); AddCompiledMethod(MethodRef(method_idx), ArrayRef<const uint8_t>(gap_code), - ArrayRef<LinkerPatch>()); + ArrayRef<const LinkerPatch>()); method_idx += 1u; // Add the last method and link @@ -174,7 +174,8 @@ class Arm64RelativePatcherTest : public RelativePatcherTest { LinkerPatch::DexCacheArrayPatch(num_nops * 4u , nullptr, num_nops * 4u, element_offset), LinkerPatch::DexCacheArrayPatch(num_nops * 4u + 4u, nullptr, num_nops * 4u, element_offset), }; - AddCompiledMethod(MethodRef(1u), ArrayRef<const uint8_t>(code), ArrayRef<LinkerPatch>(patches)); + AddCompiledMethod(MethodRef(1u), ArrayRef<const uint8_t>(code), + ArrayRef<const LinkerPatch>(patches)); Link(); uint32_t method1_offset = GetMethodOffset(1u); @@ -202,7 +203,8 @@ class Arm64RelativePatcherTest : public RelativePatcherTest { LinkerPatch::DexCacheArrayPatch(num_nops * 4u , nullptr, num_nops * 4u, element_offset), LinkerPatch::DexCacheArrayPatch(num_nops * 4u + 8u, nullptr, num_nops * 4u, element_offset), }; - AddCompiledMethod(MethodRef(1u), ArrayRef<const uint8_t>(code), ArrayRef<LinkerPatch>(patches)); + AddCompiledMethod(MethodRef(1u), ArrayRef<const uint8_t>(code), + ArrayRef<const LinkerPatch>(patches)); Link(); } @@ -300,7 +302,7 @@ TEST_F(Arm64RelativePatcherTestDefault, CallSelf) { LinkerPatch patches[] = { LinkerPatch::RelativeCodePatch(0u, nullptr, 1u), }; - AddCompiledMethod(MethodRef(1u), kCallCode, ArrayRef<LinkerPatch>(patches)); + AddCompiledMethod(MethodRef(1u), kCallCode, ArrayRef<const LinkerPatch>(patches)); Link(); static const uint8_t expected_code[] = { @@ -313,11 +315,11 @@ TEST_F(Arm64RelativePatcherTestDefault, CallOther) { LinkerPatch method1_patches[] = { LinkerPatch::RelativeCodePatch(0u, nullptr, 2u), }; - AddCompiledMethod(MethodRef(1u), kCallCode, ArrayRef<LinkerPatch>(method1_patches)); + AddCompiledMethod(MethodRef(1u), kCallCode, ArrayRef<const LinkerPatch>(method1_patches)); LinkerPatch method2_patches[] = { LinkerPatch::RelativeCodePatch(0u, nullptr, 1u), }; - AddCompiledMethod(MethodRef(2u), kCallCode, ArrayRef<LinkerPatch>(method2_patches)); + AddCompiledMethod(MethodRef(2u), kCallCode, ArrayRef<const LinkerPatch>(method2_patches)); Link(); uint32_t method1_offset = GetMethodOffset(1u); @@ -340,7 +342,7 @@ TEST_F(Arm64RelativePatcherTestDefault, CallTrampoline) { LinkerPatch patches[] = { LinkerPatch::RelativeCodePatch(0u, nullptr, 2u), }; - AddCompiledMethod(MethodRef(1u), kCallCode, ArrayRef<LinkerPatch>(patches)); + AddCompiledMethod(MethodRef(1u), kCallCode, ArrayRef<const LinkerPatch>(patches)); Link(); uint32_t method1_offset = GetMethodOffset(1u); @@ -363,7 +365,7 @@ TEST_F(Arm64RelativePatcherTestDefault, CallOtherAlmostTooFarAfter) { constexpr uint32_t max_positive_disp = 128 * MB - 4u; uint32_t last_method_idx = Create2MethodsWithGap(method1_code, method1_patches, - kNopCode, ArrayRef<LinkerPatch>(), + kNopCode, ArrayRef<const LinkerPatch>(), bl_offset_in_method1 + max_positive_disp); ASSERT_EQ(expected_last_method_idx, last_method_idx); @@ -386,7 +388,7 @@ TEST_F(Arm64RelativePatcherTestDefault, CallOtherAlmostTooFarBefore) { }; constexpr uint32_t max_negative_disp = 128 * MB; - uint32_t last_method_idx = Create2MethodsWithGap(kNopCode, ArrayRef<LinkerPatch>(), + uint32_t last_method_idx = Create2MethodsWithGap(kNopCode, ArrayRef<const LinkerPatch>(), last_method_code, last_method_patches, max_negative_disp - bl_offset_in_last_method); uint32_t method1_offset = GetMethodOffset(1u); @@ -411,7 +413,7 @@ TEST_F(Arm64RelativePatcherTestDefault, CallOtherJustTooFarAfter) { constexpr uint32_t just_over_max_positive_disp = 128 * MB; uint32_t last_method_idx = Create2MethodsWithGap( - method1_code, method1_patches, kNopCode, ArrayRef<LinkerPatch>(), + method1_code, method1_patches, kNopCode, ArrayRef<const LinkerPatch>(), bl_offset_in_method1 + just_over_max_positive_disp); ASSERT_EQ(expected_last_method_idx, last_method_idx); @@ -440,7 +442,7 @@ TEST_F(Arm64RelativePatcherTestDefault, CallOtherJustTooFarBefore) { constexpr uint32_t just_over_max_negative_disp = 128 * MB + 4; uint32_t last_method_idx = Create2MethodsWithGap( - kNopCode, ArrayRef<LinkerPatch>(), last_method_code, last_method_patches, + kNopCode, ArrayRef<const LinkerPatch>(), last_method_code, last_method_patches, just_over_max_negative_disp - bl_offset_in_last_method); uint32_t method1_offset = GetMethodOffset(1u); uint32_t last_method_offset = GetMethodOffset(last_method_idx); diff --git a/compiler/linker/relative_patcher_test.h b/compiler/linker/relative_patcher_test.h index 08167b3309..70630f366f 100644 --- a/compiler/linker/relative_patcher_test.h +++ b/compiler/linker/relative_patcher_test.h @@ -69,7 +69,7 @@ class RelativePatcherTest : public testing::Test { void AddCompiledMethod(MethodReference method_ref, const ArrayRef<const uint8_t>& code, - const ArrayRef<LinkerPatch>& patches) { + const ArrayRef<const LinkerPatch>& patches) { compiled_method_refs_.push_back(method_ref); compiled_methods_.emplace_back(new CompiledMethod( &driver_, instruction_set_, code, diff --git a/compiler/linker/x86/relative_patcher_x86_test.cc b/compiler/linker/x86/relative_patcher_x86_test.cc index c18a743b6b..15ac47e7a4 100644 --- a/compiler/linker/x86/relative_patcher_x86_test.cc +++ b/compiler/linker/x86/relative_patcher_x86_test.cc @@ -45,7 +45,7 @@ TEST_F(X86RelativePatcherTest, CallSelf) { LinkerPatch patches[] = { LinkerPatch::RelativeCodePatch(kCallCode.size() - 4u, nullptr, 1u), }; - AddCompiledMethod(MethodRef(1u), kCallCode, ArrayRef<LinkerPatch>(patches)); + AddCompiledMethod(MethodRef(1u), kCallCode, ArrayRef<const LinkerPatch>(patches)); Link(); static const uint8_t expected_code[] = { @@ -58,11 +58,11 @@ TEST_F(X86RelativePatcherTest, CallOther) { LinkerPatch method1_patches[] = { LinkerPatch::RelativeCodePatch(kCallCode.size() - 4u, nullptr, 2u), }; - AddCompiledMethod(MethodRef(1u), kCallCode, ArrayRef<LinkerPatch>(method1_patches)); + AddCompiledMethod(MethodRef(1u), kCallCode, ArrayRef<const LinkerPatch>(method1_patches)); LinkerPatch method2_patches[] = { LinkerPatch::RelativeCodePatch(kCallCode.size() - 4u, nullptr, 1u), }; - AddCompiledMethod(MethodRef(2u), kCallCode, ArrayRef<LinkerPatch>(method2_patches)); + AddCompiledMethod(MethodRef(2u), kCallCode, ArrayRef<const LinkerPatch>(method2_patches)); Link(); uint32_t method1_offset = GetMethodOffset(1u); @@ -87,7 +87,7 @@ TEST_F(X86RelativePatcherTest, CallTrampoline) { LinkerPatch patches[] = { LinkerPatch::RelativeCodePatch(kCallCode.size() - 4u, nullptr, 2u), }; - AddCompiledMethod(MethodRef(1u), kCallCode, ArrayRef<LinkerPatch>(patches)); + AddCompiledMethod(MethodRef(1u), kCallCode, ArrayRef<const LinkerPatch>(patches)); Link(); auto result = method_offset_map_.FindMethodOffset(MethodRef(1)); diff --git a/compiler/linker/x86_64/relative_patcher_x86_64_test.cc b/compiler/linker/x86_64/relative_patcher_x86_64_test.cc index 9d9529ced7..36e0f01a50 100644 --- a/compiler/linker/x86_64/relative_patcher_x86_64_test.cc +++ b/compiler/linker/x86_64/relative_patcher_x86_64_test.cc @@ -55,7 +55,7 @@ TEST_F(X86_64RelativePatcherTest, CallSelf) { LinkerPatch patches[] = { LinkerPatch::RelativeCodePatch(kCallCode.size() - 4u, nullptr, 1u), }; - AddCompiledMethod(MethodRef(1u), kCallCode, ArrayRef<LinkerPatch>(patches)); + AddCompiledMethod(MethodRef(1u), kCallCode, ArrayRef<const LinkerPatch>(patches)); Link(); static const uint8_t expected_code[] = { @@ -68,11 +68,11 @@ TEST_F(X86_64RelativePatcherTest, CallOther) { LinkerPatch method1_patches[] = { LinkerPatch::RelativeCodePatch(kCallCode.size() - 4u, nullptr, 2u), }; - AddCompiledMethod(MethodRef(1u), kCallCode, ArrayRef<LinkerPatch>(method1_patches)); + AddCompiledMethod(MethodRef(1u), kCallCode, ArrayRef<const LinkerPatch>(method1_patches)); LinkerPatch method2_patches[] = { LinkerPatch::RelativeCodePatch(kCallCode.size() - 4u, nullptr, 1u), }; - AddCompiledMethod(MethodRef(2u), kCallCode, ArrayRef<LinkerPatch>(method2_patches)); + AddCompiledMethod(MethodRef(2u), kCallCode, ArrayRef<const LinkerPatch>(method2_patches)); Link(); uint32_t method1_offset = GetMethodOffset(1u); @@ -97,7 +97,7 @@ TEST_F(X86_64RelativePatcherTest, CallTrampoline) { LinkerPatch patches[] = { LinkerPatch::RelativeCodePatch(kCallCode.size() - 4u, nullptr, 2u), }; - AddCompiledMethod(MethodRef(1u), kCallCode, ArrayRef<LinkerPatch>(patches)); + AddCompiledMethod(MethodRef(1u), kCallCode, ArrayRef<const LinkerPatch>(patches)); Link(); auto result = method_offset_map_.FindMethodOffset(MethodRef(1u)); @@ -117,7 +117,7 @@ TEST_F(X86_64RelativePatcherTest, DexCacheReference) { LinkerPatch patches[] = { LinkerPatch::DexCacheArrayPatch(kDexCacheLoadCode.size() - 4u, nullptr, 0u, kElementOffset), }; - AddCompiledMethod(MethodRef(1u), kDexCacheLoadCode, ArrayRef<LinkerPatch>(patches)); + AddCompiledMethod(MethodRef(1u), kDexCacheLoadCode, ArrayRef<const LinkerPatch>(patches)); Link(); auto result = method_offset_map_.FindMethodOffset(MethodRef(1u)); |