diff options
author | Nicolas Geoffray <ngeoffray@google.com> | 2014-07-04 09:41:32 +0100 |
---|---|---|
committer | Nicolas Geoffray <ngeoffray@google.com> | 2014-07-14 10:06:11 +0100 |
commit | e50383288a75244255d3ecedcc79ffe9caf774cb (patch) | |
tree | 8858489463a57c7b50f7db4d972abec21302b7a7 /compiler/dex/mir_field_info.cc | |
parent | cf90ba7ebe00346651f3b7ce1e5b1f785f7caabd (diff) | |
download | art-e50383288a75244255d3ecedcc79ffe9caf774cb.tar.gz art-e50383288a75244255d3ecedcc79ffe9caf774cb.tar.bz2 art-e50383288a75244255d3ecedcc79ffe9caf774cb.zip |
Support fields in optimizing compiler.
- Required support for temporaries, to be only used by baseline compiler.
- Also fixed a few invalid assumptions around locations and instructions
that don't need materialization. These instructions should not have an Out.
Change-Id: Idc4a30dd95dd18015137300d36bec55fc024cf62
Diffstat (limited to 'compiler/dex/mir_field_info.cc')
-rw-r--r-- | compiler/dex/mir_field_info.cc | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/compiler/dex/mir_field_info.cc b/compiler/dex/mir_field_info.cc index 98866d9c2..68247b780 100644 --- a/compiler/dex/mir_field_info.cc +++ b/compiler/dex/mir_field_info.cc @@ -62,9 +62,9 @@ void MirIFieldLoweringInfo::Resolve(CompilerDriver* compiler_driver, compiler_driver->GetResolvedFieldDexFileLocation(resolved_field, &it->declaring_dex_file_, &it->declaring_class_idx_, &it->declaring_field_idx_); bool is_volatile = compiler_driver->IsFieldVolatile(resolved_field); - + it->field_offset_ = resolved_field->GetOffset(); std::pair<bool, bool> fast_path = compiler_driver->IsFastInstanceField( - dex_cache.Get(), referrer_class.Get(), resolved_field, field_idx, &it->field_offset_); + dex_cache.Get(), referrer_class.Get(), resolved_field, field_idx); it->flags_ = 0u | // Without kFlagIsStatic. (is_volatile ? kFlagIsVolatile : 0u) | (fast_path.first ? kFlagFastGet : 0u) | |