summaryrefslogtreecommitdiffstats
path: root/compiler/optimizing/code_generator_x86.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_x86.h
parent12c03ac7575db242a6f35739bb459e8277115da4 (diff)
downloadart-cd6dffedf1bd8e6dfb3fb0c933551f9a90f7de3f.zip
art-cd6dffedf1bd8e6dfb3fb0c933551f9a90f7de3f.tar.gz
art-cd6dffedf1bd8e6dfb3fb0c933551f9a90f7de3f.tar.bz2
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_x86.h')
-rw-r--r--compiler/optimizing/code_generator_x86.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/compiler/optimizing/code_generator_x86.h b/compiler/optimizing/code_generator_x86.h
index 2d8adb2..b77a1aa 100644
--- a/compiler/optimizing/code_generator_x86.h
+++ b/compiler/optimizing/code_generator_x86.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/x86/assembler_x86.h"
@@ -144,6 +145,9 @@ class InstructionCodeGeneratorX86 : public HGraphVisitor {
void HandleFieldSet(HInstruction* instruction, const FieldInfo& field_info);
void HandleFieldGet(HInstruction* instruction, const FieldInfo& field_info);
+ void GenerateImplicitNullCheck(HNullCheck* instruction);
+ void GenerateExplicitNullCheck(HNullCheck* instruction);
+
X86Assembler* const assembler_;
CodeGeneratorX86* const codegen_;
@@ -152,7 +156,7 @@ class InstructionCodeGeneratorX86 : public HGraphVisitor {
class CodeGeneratorX86 : public CodeGenerator {
public:
- explicit CodeGeneratorX86(HGraph* graph);
+ CodeGeneratorX86(HGraph* graph, const CompilerOptions& compiler_options);
virtual ~CodeGeneratorX86() {}
void GenerateFrameEntry() OVERRIDE;