diff options
author | Vladimir Marko <vmarko@google.com> | 2015-05-06 14:12:42 +0100 |
---|---|---|
committer | Vladimir Marko <vmarko@google.com> | 2015-08-19 12:23:37 +0100 |
commit | 9b688a095afbae21112df5d495487ac5231b12d0 (patch) | |
tree | e5e881d4d124803e66f1e90c1e0a0e4c90d22e13 /compiler/optimizing/code_generator.cc | |
parent | 009c34cba875885d9540696f33255a9b355d6e15 (diff) |
Optimizing: Better invoke-static/-direct dispatch.
Add framework for different types of loading ArtMethod*
and code pointer retrieval. Implement invoke-static and
invoke-direct calls the same way as Quick. Document the
dispatch kinds in HInvokeStaticOrDirect's new enumerations
MethodLoadKind and CodePtrLocation.
PC-relative loads from dex cache arrays are used only for
x86-64 and arm64. The implementation for other architectures
will be done in separate CLs.
Change-Id: I468ca4d422dbd14748e1ba6b45289f0d31734d94
Diffstat (limited to 'compiler/optimizing/code_generator.cc')
-rw-r--r-- | compiler/optimizing/code_generator.cc | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/compiler/optimizing/code_generator.cc b/compiler/optimizing/code_generator.cc index d0b5ffd255..8fe3170b37 100644 --- a/compiler/optimizing/code_generator.cc +++ b/compiler/optimizing/code_generator.cc @@ -249,6 +249,10 @@ void CodeGenerator::Finalize(CodeAllocator* allocator) { GetAssembler()->FinalizeInstructions(code); } +void CodeGenerator::EmitLinkerPatches(ArenaVector<LinkerPatch>* linker_patches ATTRIBUTE_UNUSED) { + // No linker patches by default. +} + size_t CodeGenerator::FindFreeEntry(bool* array, size_t length) { for (size_t i = 0; i < length; ++i) { if (!array[i]) { |