summaryrefslogtreecommitdiffstats
path: root/compiler/optimizing/code_generator_arm.cc
diff options
context:
space:
mode:
authorMathieu Chartier <mathieuc@google.com>2014-11-24 18:29:54 -0800
committerMathieu Chartier <mathieuc@google.com>2014-11-25 16:02:04 -0800
commiteace45873190a27302b3644c32ec82854b59d299 (patch)
tree73fbf327839263b6847bdc4359ac1dbea2b897e3 /compiler/optimizing/code_generator_arm.cc
parent8ac8d5556fae9c728bcebcc9036a1bbf40087c76 (diff)
downloadart-eace45873190a27302b3644c32ec82854b59d299.tar.gz
art-eace45873190a27302b3644c32ec82854b59d299.tar.bz2
art-eace45873190a27302b3644c32ec82854b59d299.zip
Move dexCacheStrings from ArtMethod to Class
Adds one load for const strings which are not direct. Saves >= 60KB of memory avg per app. Image size: -350KB. Bug: 17643507 Change-Id: I2d1a3253d9de09682be9bc6b420a29513d592cc8 (cherry picked from commit f521f423b66e952f746885dd9f6cf8ef2788955d)
Diffstat (limited to 'compiler/optimizing/code_generator_arm.cc')
-rw-r--r--compiler/optimizing/code_generator_arm.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/compiler/optimizing/code_generator_arm.cc b/compiler/optimizing/code_generator_arm.cc
index a204e21495..890cfdd0e6 100644
--- a/compiler/optimizing/code_generator_arm.cc
+++ b/compiler/optimizing/code_generator_arm.cc
@@ -3135,8 +3135,8 @@ void InstructionCodeGeneratorARM::VisitLoadString(HLoadString* load) {
Register out = load->GetLocations()->Out().As<Register>();
codegen_->LoadCurrentMethod(out);
- __ LoadFromOffset(
- kLoadWord, out, out, mirror::ArtMethod::DexCacheStringsOffset().Int32Value());
+ __ LoadFromOffset(kLoadWord, out, out, mirror::ArtMethod::DeclaringClassOffset().Int32Value());
+ __ LoadFromOffset(kLoadWord, out, out, mirror::Class::DexCacheStringsOffset().Int32Value());
__ LoadFromOffset(kLoadWord, out, out, CodeGenerator::GetCacheOffset(load->GetStringIndex()));
__ cmp(out, ShifterOperand(0));
__ b(slow_path->GetEntryLabel(), EQ);