summaryrefslogtreecommitdiff
path: root/compiler/optimizing/code_generator_mips.cc
diff options
context:
space:
mode:
authorGoran Jakovljevic <Goran.Jakovljevic@imgtec.com>2017-06-27 14:41:39 +0200
committerGoran Jakovljevic <Goran.Jakovljevic@imgtec.com>2017-07-13 10:17:07 +0200
commit854df416f12c48b52239fe163ab8a7fcac4cddd3 (patch)
treef5cf247f1e71a5242c797b8fab99ded21839267d /compiler/optimizing/code_generator_mips.cc
parente63a91111d13f33028c2988ded53a4659140ca2e (diff)
MIPS: TLAB allocation entrypoints
Add fast paths for TLAB allocation entrypoints for MIPS32 and MIPS64. Also improve rosalloc entrypoints. Note: All tests are executed on CI20 (MIPS32R2) and in QEMU (MIPS32R6 and MIPS64R6), with and without ART_TEST_DEBUG_GC=true. Test: ./testrunner.py --optimizing --target Test: mma test-art-target-gtest Test: mma test-art-host-gtest Change-Id: I92195d2d318b26a19afc5ac46a1844b13b2d5191
Diffstat (limited to 'compiler/optimizing/code_generator_mips.cc')
-rw-r--r--compiler/optimizing/code_generator_mips.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/compiler/optimizing/code_generator_mips.cc b/compiler/optimizing/code_generator_mips.cc
index be8f9e9cf8..23d188d630 100644
--- a/compiler/optimizing/code_generator_mips.cc
+++ b/compiler/optimizing/code_generator_mips.cc
@@ -7859,8 +7859,11 @@ void LocationsBuilderMIPS::VisitNewArray(HNewArray* instruction) {
void InstructionCodeGeneratorMIPS::VisitNewArray(HNewArray* instruction) {
// Note: if heap poisoning is enabled, the entry point takes care
// of poisoning the reference.
- codegen_->InvokeRuntime(kQuickAllocArrayResolved, instruction, instruction->GetDexPc());
+ QuickEntrypointEnum entrypoint =
+ CodeGenerator::GetArrayAllocationEntrypoint(instruction->GetLoadClass()->GetClass());
+ codegen_->InvokeRuntime(entrypoint, instruction, instruction->GetDexPc());
CheckEntrypointTypes<kQuickAllocArrayResolved, void*, mirror::Class*, int32_t>();
+ DCHECK(!codegen_->IsLeafMethod());
}
void LocationsBuilderMIPS::VisitNewInstance(HNewInstance* instruction) {