summaryrefslogtreecommitdiffstats
path: root/compiler/optimizing/builder.cc
diff options
context:
space:
mode:
authorCalin Juravle <calin@google.com>2015-01-26 18:54:32 +0000
committerNicolas Geoffray <ngeoffray@google.com>2015-01-29 12:01:26 +0000
commit10e244f9e7f6d96a95c910a2bedef5bd3810c637 (patch)
treebc2b90ce716129115c05f79e21c58fe13b01fd20 /compiler/optimizing/builder.cc
parentab7f56d9b9838811cb01773e45999e2cda4aa03a (diff)
downloadart-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.cc2
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));