Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef V8_CRANKSHAFT_X64_LITHIUM_X64_H_ | 5 #ifndef V8_CRANKSHAFT_X64_LITHIUM_X64_H_ |
| 6 #define V8_CRANKSHAFT_X64_LITHIUM_X64_H_ | 6 #define V8_CRANKSHAFT_X64_LITHIUM_X64_H_ |
| 7 | 7 |
| 8 #include "src/crankshaft/hydrogen.h" | 8 #include "src/crankshaft/hydrogen.h" |
| 9 #include "src/crankshaft/lithium.h" | 9 #include "src/crankshaft/lithium.h" |
| 10 #include "src/crankshaft/lithium-allocator.h" | 10 #include "src/crankshaft/lithium-allocator.h" |
| (...skipping 214 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 225 bit_field_ = IsSyntacticTailCallBits::update(bit_field_, true); | 225 bit_field_ = IsSyntacticTailCallBits::update(bit_field_, true); |
| 226 } | 226 } |
| 227 bool IsSyntacticTailCall() const { | 227 bool IsSyntacticTailCall() const { |
| 228 return IsSyntacticTailCallBits::decode(bit_field_); | 228 return IsSyntacticTailCallBits::decode(bit_field_); |
| 229 } | 229 } |
| 230 | 230 |
| 231 // Interface to the register allocator and iterators. | 231 // Interface to the register allocator and iterators. |
| 232 bool ClobbersTemps() const { return IsCall(); } | 232 bool ClobbersTemps() const { return IsCall(); } |
| 233 bool ClobbersRegisters() const { return IsCall(); } | 233 bool ClobbersRegisters() const { return IsCall(); } |
| 234 virtual bool ClobbersDoubleRegisters(Isolate* isolate) const { | 234 virtual bool ClobbersDoubleRegisters(Isolate* isolate) const { |
| 235 return IsCall(); | 235 return IsCall() || opcode() == LInstruction::kMaybeGrowElements; |
|
Benedikt Meurer
2016/08/05 04:35:21
I guess since this is virtual, the proper way to d
| |
| 236 } | 236 } |
| 237 | 237 |
| 238 // Interface to the register allocator and iterators. | 238 // Interface to the register allocator and iterators. |
| 239 bool IsMarkedAsCall() const { return IsCall(); } | 239 bool IsMarkedAsCall() const { return IsCall(); } |
| 240 | 240 |
| 241 virtual bool HasResult() const = 0; | 241 virtual bool HasResult() const = 0; |
| 242 virtual LOperand* result() const = 0; | 242 virtual LOperand* result() const = 0; |
| 243 | 243 |
| 244 LOperand* FirstInput() { return InputAt(0); } | 244 LOperand* FirstInput() { return InputAt(0); } |
| 245 LOperand* Output() { return HasResult() ? result() : NULL; } | 245 LOperand* Output() { return HasResult() ? result() : NULL; } |
| (...skipping 2388 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2634 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 2634 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
| 2635 }; | 2635 }; |
| 2636 | 2636 |
| 2637 #undef DECLARE_HYDROGEN_ACCESSOR | 2637 #undef DECLARE_HYDROGEN_ACCESSOR |
| 2638 #undef DECLARE_CONCRETE_INSTRUCTION | 2638 #undef DECLARE_CONCRETE_INSTRUCTION |
| 2639 | 2639 |
| 2640 } // namespace internal | 2640 } // namespace internal |
| 2641 } // namespace v8 | 2641 } // namespace v8 |
| 2642 | 2642 |
| 2643 #endif // V8_CRANKSHAFT_X64_LITHIUM_X64_H_ | 2643 #endif // V8_CRANKSHAFT_X64_LITHIUM_X64_H_ |
| OLD | NEW |