summaryrefslogtreecommitdiffstats
path: root/compiler/optimizing/code_generator.h
diff options
context:
space:
mode:
authorNicolas Geoffray <ngeoffray@google.com>2015-03-09 10:28:50 +0000
committerNicolas Geoffray <ngeoffray@google.com>2015-03-11 14:23:38 +0000
commit234d69d075d1608f80adb647f7935077b62b6376 (patch)
treef6b68ff38722dc91bd0de2387609ee0ce950e0ce /compiler/optimizing/code_generator.h
parent31df246d330c45f5691e226d176d0c59450f8435 (diff)
downloadart-234d69d075d1608f80adb647f7935077b62b6376.tar.gz
art-234d69d075d1608f80adb647f7935077b62b6376.tar.bz2
art-234d69d075d1608f80adb647f7935077b62b6376.zip
Revert "Revert "[optimizing] Enable x86 long support.""
This reverts commit 154552e666347d41d95d7619c6ee56249ff4feca. Change-Id: Idc726551c249a888b7ff5fde8508ae50e81b2e13
Diffstat (limited to 'compiler/optimizing/code_generator.h')
-rw-r--r--compiler/optimizing/code_generator.h16
1 files changed, 6 insertions, 10 deletions
diff --git a/compiler/optimizing/code_generator.h b/compiler/optimizing/code_generator.h
index 5146afad8d..b8f4572abd 100644
--- a/compiler/optimizing/code_generator.h
+++ b/compiler/optimizing/code_generator.h
@@ -153,17 +153,13 @@ class CodeGenerator {
virtual size_t SaveCoreRegister(size_t stack_index, uint32_t reg_id) = 0;
// Restores the register from the stack. Returns the size taken on stack.
virtual size_t RestoreCoreRegister(size_t stack_index, uint32_t reg_id) = 0;
- virtual size_t SaveFloatingPointRegister(size_t stack_index, uint32_t reg_id) {
- UNUSED(stack_index, reg_id);
- UNIMPLEMENTED(FATAL);
- UNREACHABLE();
- }
- virtual size_t RestoreFloatingPointRegister(size_t stack_index, uint32_t reg_id) {
- UNUSED(stack_index, reg_id);
- UNIMPLEMENTED(FATAL);
- UNREACHABLE();
- }
+
+ virtual size_t SaveFloatingPointRegister(size_t stack_index, uint32_t reg_id) = 0;
+ virtual size_t RestoreFloatingPointRegister(size_t stack_index, uint32_t reg_id) = 0;
+
virtual bool NeedsTwoRegisters(Primitive::Type type) const = 0;
+ // Returns whether we should split long moves in parallel moves.
+ virtual bool ShouldSplitLongMoves() const { return false; }
bool IsCoreCalleeSaveRegister(int reg) const {
return (core_callee_save_mask_ & (1 << reg)) != 0;