diff options
author | Calin Juravle <calin@google.com> | 2015-01-26 18:54:32 +0000 |
---|---|---|
committer | Nicolas Geoffray <ngeoffray@google.com> | 2015-01-29 12:01:26 +0000 |
commit | 10e244f9e7f6d96a95c910a2bedef5bd3810c637 (patch) | |
tree | bc2b90ce716129115c05f79e21c58fe13b01fd20 /compiler/optimizing/builder.cc | |
parent | ab7f56d9b9838811cb01773e45999e2cda4aa03a (diff) | |
download | art-10e244f9e7f6d96a95c910a2bedef5bd3810c637.tar.gz art-10e244f9e7f6d96a95c910a2bedef5bd3810c637.tar.bz2 art-10e244f9e7f6d96a95c910a2bedef5bd3810c637.zip |
optimizing: NullCheck elimination
How it works:
- run a type analysis to propagate null information on instructions
- during the last instruction simplifier remove null checks for which
the input is known to be not null
The current type analysis is actually a nullability analysis but it will
be reused in follow up CLs to propagate type information: so it keeps
the more convenient name.
Change-Id: I54bb1d32ab24604b4d677d1ecdaf8d60a5ff5ce9
Diffstat (limited to 'compiler/optimizing/builder.cc')
-rw-r--r-- | compiler/optimizing/builder.cc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/compiler/optimizing/builder.cc b/compiler/optimizing/builder.cc index 9c2facb75e..21c58598d0 100644 --- a/compiler/optimizing/builder.cc +++ b/compiler/optimizing/builder.cc @@ -161,7 +161,7 @@ void HGraphBuilder::InitializeParameters(uint16_t number_of_parameters) { if (!dex_compilation_unit_->IsStatic()) { // Add the implicit 'this' argument, not expressed in the signature. HParameterValue* parameter = - new (arena_) HParameterValue(parameter_index++, Primitive::kPrimNot); + new (arena_) HParameterValue(parameter_index++, Primitive::kPrimNot, true); entry_block_->AddInstruction(parameter); HLocal* local = GetLocalAt(locals_index++); entry_block_->AddInstruction(new (arena_) HStoreLocal(local, parameter)); |