summaryrefslogtreecommitdiffstats
path: root/compiler/optimizing/code_generator_arm64.h
diff options
context:
space:
mode:
authorCalin Juravle <calin@google.com>2015-01-08 17:35:35 +0000
committerCalin Juravle <calin@google.com>2015-01-16 17:27:03 +0000
commitcd6dffedf1bd8e6dfb3fb0c933551f9a90f7de3f (patch)
tree0d83e9fdf65bded684d6e836078f253e63b7e11f /compiler/optimizing/code_generator_arm64.h
parent12c03ac7575db242a6f35739bb459e8277115da4 (diff)
downloadandroid_art-cd6dffedf1bd8e6dfb3fb0c933551f9a90f7de3f.tar.gz
android_art-cd6dffedf1bd8e6dfb3fb0c933551f9a90f7de3f.tar.bz2
android_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_arm64.h')
-rw-r--r--compiler/optimizing/code_generator_arm64.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/compiler/optimizing/code_generator_arm64.h b/compiler/optimizing/code_generator_arm64.h
index 590bc1d778..e20d02ee2d 100644
--- a/compiler/optimizing/code_generator_arm64.h
+++ b/compiler/optimizing/code_generator_arm64.h
@@ -19,6 +19,7 @@
#include "code_generator.h"
#include "dex/compiler_enums.h"
+#include "driver/compiler_options.h"
#include "nodes.h"
#include "parallel_move_resolver.h"
#include "utils/arm64/assembler_arm64.h"
@@ -113,6 +114,8 @@ class InstructionCodeGeneratorARM64 : public HGraphVisitor {
void GenerateSuspendCheck(HSuspendCheck* instruction, HBasicBlock* successor);
void HandleBinaryOp(HBinaryOperation* instr);
void HandleShift(HBinaryOperation* instr);
+ void GenerateImplicitNullCheck(HNullCheck* instruction);
+ void GenerateExplicitNullCheck(HNullCheck* instruction);
Arm64Assembler* const assembler_;
CodeGeneratorARM64* const codegen_;
@@ -164,7 +167,7 @@ class ParallelMoveResolverARM64 : public ParallelMoveResolver {
class CodeGeneratorARM64 : public CodeGenerator {
public:
- explicit CodeGeneratorARM64(HGraph* graph);
+ CodeGeneratorARM64(HGraph* graph, const CompilerOptions& compiler_options);
virtual ~CodeGeneratorARM64() {}
void GenerateFrameEntry() OVERRIDE;