diff options
author | Calin Juravle <calin@google.com> | 2016-03-16 14:40:08 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2016-03-16 14:40:08 +0000 |
commit | 914d71ead70bb6f2084b2ed39a9fd58fd014f67d (patch) | |
tree | 50f30d6e47d18aa6c3ccec9f05727b4898268b20 /compiler/optimizing/code_generator_arm.cc | |
parent | 1583e624d4c970d8e571b265b9a8f08402d91f82 (diff) | |
parent | 2ae48182573da7087bffc2873730bc758ec29696 (diff) |
Merge "Clean up NullCheck generation and record stats about it."
Diffstat (limited to 'compiler/optimizing/code_generator_arm.cc')
-rw-r--r-- | compiler/optimizing/code_generator_arm.cc | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/compiler/optimizing/code_generator_arm.cc b/compiler/optimizing/code_generator_arm.cc index 46f08a8d6a..2b54ff8655 100644 --- a/compiler/optimizing/code_generator_arm.cc +++ b/compiler/optimizing/code_generator_arm.cc @@ -4285,19 +4285,19 @@ void LocationsBuilderARM::VisitNullCheck(HNullCheck* instruction) { } } -void InstructionCodeGeneratorARM::GenerateImplicitNullCheck(HNullCheck* instruction) { - if (codegen_->CanMoveNullCheckToUser(instruction)) { +void CodeGeneratorARM::GenerateImplicitNullCheck(HNullCheck* instruction) { + if (CanMoveNullCheckToUser(instruction)) { return; } Location obj = instruction->GetLocations()->InAt(0); __ LoadFromOffset(kLoadWord, IP, obj.AsRegister<Register>(), 0); - codegen_->RecordPcInfo(instruction, instruction->GetDexPc()); + RecordPcInfo(instruction, instruction->GetDexPc()); } -void InstructionCodeGeneratorARM::GenerateExplicitNullCheck(HNullCheck* instruction) { +void CodeGeneratorARM::GenerateExplicitNullCheck(HNullCheck* instruction) { SlowPathCode* slow_path = new (GetGraph()->GetArena()) NullCheckSlowPathARM(instruction); - codegen_->AddSlowPath(slow_path); + AddSlowPath(slow_path); LocationSummary* locations = instruction->GetLocations(); Location obj = locations->InAt(0); @@ -4306,11 +4306,7 @@ void InstructionCodeGeneratorARM::GenerateExplicitNullCheck(HNullCheck* instruct } void InstructionCodeGeneratorARM::VisitNullCheck(HNullCheck* instruction) { - if (codegen_->IsImplicitNullCheckAllowed(instruction)) { - GenerateImplicitNullCheck(instruction); - } else { - GenerateExplicitNullCheck(instruction); - } + codegen_->GenerateNullCheck(instruction); } void LocationsBuilderARM::VisitArrayGet(HArrayGet* instruction) { |