diff options
| author | 2015-06-19 17:38:55 +0000 | |
|---|---|---|
| committer | 2015-06-19 17:38:56 +0000 | |
| commit | e102f1937ca14df87594469430d2e6e0ebe0f357 (patch) | |
| tree | df8cb62b5ddd25f2ecb038639287c6b2d8f42abd /compiler/optimizing | |
| parent | e4bb626ff09e409c9482e515716de7cd595ea466 (diff) | |
| parent | cad65427d39c8ca9849d49d049ca6d263ada938a (diff) | |
Merge "Fix StringChange for optimizing compiler."
Diffstat (limited to 'compiler/optimizing')
| -rw-r--r-- | compiler/optimizing/builder.cc | 2 | ||||
| -rw-r--r-- | compiler/optimizing/code_generator_x86_64.cc | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/compiler/optimizing/builder.cc b/compiler/optimizing/builder.cc index b568f31a57..2a555e46ac 100644 --- a/compiler/optimizing/builder.cc +++ b/compiler/optimizing/builder.cc @@ -662,7 +662,7 @@ bool HGraphBuilder::BuildInvoke(const Instruction& instruction, (target_method.dex_method_index == outer_compilation_unit_->GetDexMethodIndex()) && (target_method.dex_file == outer_compilation_unit_->GetDexFile()); - if (optimized_invoke_type == kStatic) { + if (optimized_invoke_type == kStatic && !is_string_init) { ScopedObjectAccess soa(Thread::Current()); StackHandleScope<4> hs(soa.Self()); Handle<mirror::DexCache> dex_cache(hs.NewHandle( diff --git a/compiler/optimizing/code_generator_x86_64.cc b/compiler/optimizing/code_generator_x86_64.cc index e64540be43..e55de8f98a 100644 --- a/compiler/optimizing/code_generator_x86_64.cc +++ b/compiler/optimizing/code_generator_x86_64.cc @@ -391,7 +391,7 @@ void CodeGeneratorX86_64::GenerateStaticOrDirectCall(HInvokeStaticOrDirect* invo if (invoke->IsStringInit()) { CpuRegister reg = temp.AsRegister<CpuRegister>(); // temp = thread->string_init_entrypoint - __ gs()->movl(reg, Address::Absolute(invoke->GetStringInitOffset())); + __ gs()->movq(reg, Address::Absolute(invoke->GetStringInitOffset(), true)); // (temp + offset_of_quick_compiled_code)() __ call(Address(reg, ArtMethod::EntryPointFromQuickCompiledCodeOffset( kX86_64WordSize).SizeValue())); |