diff options
author | Mark Mendell <mark.p.mendell@intel.com> | 2015-03-25 08:30:06 -0400 |
---|---|---|
committer | Mark Mendell <mark.p.mendell@intel.com> | 2015-03-26 21:28:33 -0400 |
commit | 09ed1a3125849ec6ac07cb886e3c502e1dcfada2 (patch) | |
tree | d86be714298806cfcd6a16be674573369474e8f7 /compiler/optimizing/code_generator_x86.h | |
parent | 03910065cd025ecb07781b85c2240be69c202d75 (diff) | |
download | art-09ed1a3125849ec6ac07cb886e3c502e1dcfada2.zip art-09ed1a3125849ec6ac07cb886e3c502e1dcfada2.tar.gz art-09ed1a3125849ec6ac07cb886e3c502e1dcfada2.tar.bz2 |
[optimizing] Implement X86 intrinsic support
Implement the supported intrinsics for X86.
Enhance the graph visualizer to print <U> for unallocated locations, to
allow calling the graph dumper from within register allocation for
debugging purposes.
Change-Id: I3b0319eb70a9a4ea228f67065b4c52d13a1ae775
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
Diffstat (limited to 'compiler/optimizing/code_generator_x86.h')
-rw-r--r-- | compiler/optimizing/code_generator_x86.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/compiler/optimizing/code_generator_x86.h b/compiler/optimizing/code_generator_x86.h index c5763de..9b4b3db 100644 --- a/compiler/optimizing/code_generator_x86.h +++ b/compiler/optimizing/code_generator_x86.h @@ -228,6 +228,9 @@ class CodeGeneratorX86 : public CodeGenerator { // Helper method to move a 64bits value between two locations. void Move64(Location destination, Location source); + // Generate a call to a static or direct method. + void GenerateStaticOrDirectCall(HInvokeStaticOrDirect* invoke, Register temp); + // Emit a write barrier. void MarkGCCard(Register temp, Register card, Register object, Register value); @@ -261,6 +264,20 @@ class CodeGeneratorX86 : public CodeGenerator { DISALLOW_COPY_AND_ASSIGN(CodeGeneratorX86); }; +class SlowPathCodeX86 : public SlowPathCode { + public: + SlowPathCodeX86() : entry_label_(), exit_label_() {} + + Label* GetEntryLabel() { return &entry_label_; } + Label* GetExitLabel() { return &exit_label_; } + + private: + Label entry_label_; + Label exit_label_; + + DISALLOW_COPY_AND_ASSIGN(SlowPathCodeX86); +}; + } // namespace x86 } // namespace art |