summaryrefslogtreecommitdiff
path: root/compiler/optimizing/code_generator_mips.h
diff options
context:
space:
mode:
authorAlexey Frunze <Alexey.Frunze@imgtec.com>2017-01-03 17:11:38 -0800
committerAlexey Frunze <Alexey.Frunze@imgtec.com>2017-01-30 09:05:44 -0800
commit6b892cd757db7e163b54c8a0ef5ba777b1a4772c (patch)
treeb0e65b596158ef9207983305517ae66ab5f87b67 /compiler/optimizing/code_generator_mips.h
parente38436063fb4baf88152344b465eeeb1b7f6dce5 (diff)
MIPS32R6: Improve PC-relative string/class loads and invokes.
Use PC-relative addressing on MIPS32R6 instead of HMipsDexCacheArraysBase and allow such PC-relative addressing in presence of irreducible loops. Also save a couple of instructions when handling string and class loads from bss. Test: test-art-host-gtest Test: booted MIPS32R2 in QEMU Test: "make -j1 ART_TEST_DEFAULT_COMPILER=false ART_TEST_OPTIMIZING=true ART_TEST_INTERPRETER=false ART_TEST_JIT=false ART_TEST_PIC_TEST=true test-art-target-run-test" Test: booted MIPS64 (with 2nd arch MIPS32R6) in QEMU Test: "make -j1 ART_TEST_DEFAULT_COMPILER=false ART_TEST_OPTIMIZING=true ART_TEST_INTERPRETER=false ART_TEST_JIT=false ART_TEST_PIC_TEST=true test-art-target-run-test32" Change-Id: I5d0fcbf271541294a3d4479987d52e2aaff084d9
Diffstat (limited to 'compiler/optimizing/code_generator_mips.h')
-rw-r--r--compiler/optimizing/code_generator_mips.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/compiler/optimizing/code_generator_mips.h b/compiler/optimizing/code_generator_mips.h
index c8fd325999..e92eeef88f 100644
--- a/compiler/optimizing/code_generator_mips.h
+++ b/compiler/optimizing/code_generator_mips.h
@@ -463,7 +463,7 @@ class CodeGeneratorMIPS : public CodeGenerator {
Literal* DeduplicateBootImageTypeLiteral(const DexFile& dex_file, dex::TypeIndex type_index);
Literal* DeduplicateBootImageAddressLiteral(uint32_t address);
- void EmitPcRelativeAddressPlaceholder(PcRelativePatchInfo* info, Register out, Register base);
+ void EmitPcRelativeAddressPlaceholderHigh(PcRelativePatchInfo* info, Register out, Register base);
private:
Register GetInvokeStaticOrDirectExtraParameter(HInvokeStaticOrDirect* invoke, Register temp);