diff options
author | Calin Juravle <calin@google.com> | 2015-01-08 17:35:35 +0000 |
---|---|---|
committer | Calin Juravle <calin@google.com> | 2015-01-16 17:27:03 +0000 |
commit | cd6dffedf1bd8e6dfb3fb0c933551f9a90f7de3f (patch) | |
tree | 0d83e9fdf65bded684d6e836078f253e63b7e11f /compiler/optimizing/code_generator.cc | |
parent | 12c03ac7575db242a6f35739bb459e8277115da4 (diff) | |
download | art-cd6dffedf1bd8e6dfb3fb0c933551f9a90f7de3f.tar.gz art-cd6dffedf1bd8e6dfb3fb0c933551f9a90f7de3f.tar.bz2 art-cd6dffedf1bd8e6dfb3fb0c933551f9a90f7de3f.zip |
Add implicit null checks for the optimizing compiler
- for backends: arm, arm64, x86, x86_64
- fixed parameter passing for CodeGenerator
- 003-omnibus-opcodes test verifies that NullPointerExceptions work as
expected
Change-Id: I1b302acd353342504716c9169a80706cf3aba2c8
Diffstat (limited to 'compiler/optimizing/code_generator.cc')
-rw-r--r-- | compiler/optimizing/code_generator.cc | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/compiler/optimizing/code_generator.cc b/compiler/optimizing/code_generator.cc index 9e8907078b..08cbb20ecd 100644 --- a/compiler/optimizing/code_generator.cc +++ b/compiler/optimizing/code_generator.cc @@ -330,23 +330,25 @@ bool CodeGenerator::GoesToNextBlock(HBasicBlock* current, HBasicBlock* next) con CodeGenerator* CodeGenerator::Create(HGraph* graph, InstructionSet instruction_set, - const InstructionSetFeatures& isa_features) { + const InstructionSetFeatures& isa_features, + const CompilerOptions& compiler_options) { switch (instruction_set) { case kArm: case kThumb2: { return new arm::CodeGeneratorARM(graph, - isa_features.AsArmInstructionSetFeatures()); + *isa_features.AsArmInstructionSetFeatures(), + compiler_options); } case kArm64: { - return new arm64::CodeGeneratorARM64(graph); + return new arm64::CodeGeneratorARM64(graph, compiler_options); } case kMips: return nullptr; case kX86: { - return new x86::CodeGeneratorX86(graph); + return new x86::CodeGeneratorX86(graph, compiler_options); } case kX86_64: { - return new x86_64::CodeGeneratorX86_64(graph); + return new x86_64::CodeGeneratorX86_64(graph, compiler_options); } default: return nullptr; |