| 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_X64_LITHIUM_X64_H_ | 5 #ifndef V8_X64_LITHIUM_X64_H_ |
| 6 #define V8_X64_LITHIUM_X64_H_ | 6 #define V8_X64_LITHIUM_X64_H_ |
| 7 | 7 |
| 8 #include "hydrogen.h" | 8 #include "hydrogen.h" |
| 9 #include "lithium-allocator.h" | 9 #include "lithium-allocator.h" |
| 10 #include "lithium.h" | 10 #include "lithium.h" |
| (...skipping 2112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2123 | 2123 |
| 2124 LOperand* object() { return inputs_[0]; } | 2124 LOperand* object() { return inputs_[0]; } |
| 2125 LOperand* value() { return inputs_[1]; } | 2125 LOperand* value() { return inputs_[1]; } |
| 2126 LOperand* temp() { return temps_[0]; } | 2126 LOperand* temp() { return temps_[0]; } |
| 2127 | 2127 |
| 2128 DECLARE_CONCRETE_INSTRUCTION(StoreNamedField, "store-named-field") | 2128 DECLARE_CONCRETE_INSTRUCTION(StoreNamedField, "store-named-field") |
| 2129 DECLARE_HYDROGEN_ACCESSOR(StoreNamedField) | 2129 DECLARE_HYDROGEN_ACCESSOR(StoreNamedField) |
| 2130 | 2130 |
| 2131 virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; | 2131 virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
| 2132 | 2132 |
| 2133 Handle<Map> transition() const { return hydrogen()->transition_map(); } | |
| 2134 Representation representation() const { | 2133 Representation representation() const { |
| 2135 return hydrogen()->field_representation(); | 2134 return hydrogen()->field_representation(); |
| 2136 } | 2135 } |
| 2137 }; | 2136 }; |
| 2138 | 2137 |
| 2139 | 2138 |
| 2140 class LStoreNamedGeneric V8_FINAL : public LTemplateInstruction<0, 3, 0> { | 2139 class LStoreNamedGeneric V8_FINAL : public LTemplateInstruction<0, 3, 0> { |
| 2141 public: | 2140 public: |
| 2142 LStoreNamedGeneric(LOperand* context, LOperand* object, LOperand* value) { | 2141 LStoreNamedGeneric(LOperand* context, LOperand* object, LOperand* value) { |
| 2143 inputs_[0] = context; | 2142 inputs_[0] = context; |
| (...skipping 559 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2703 CompilationInfo* info() const { return info_; } | 2702 CompilationInfo* info() const { return info_; } |
| 2704 HGraph* graph() const { return graph_; } | 2703 HGraph* graph() const { return graph_; } |
| 2705 | 2704 |
| 2706 bool is_unused() const { return status_ == UNUSED; } | 2705 bool is_unused() const { return status_ == UNUSED; } |
| 2707 bool is_building() const { return status_ == BUILDING; } | 2706 bool is_building() const { return status_ == BUILDING; } |
| 2708 bool is_done() const { return status_ == DONE; } | 2707 bool is_done() const { return status_ == DONE; } |
| 2709 bool is_aborted() const { return status_ == ABORTED; } | 2708 bool is_aborted() const { return status_ == ABORTED; } |
| 2710 | 2709 |
| 2711 void Abort(BailoutReason reason); | 2710 void Abort(BailoutReason reason); |
| 2712 | 2711 |
| 2713 // Methods for code dependencies. | |
| 2714 void AddDeprecationDependency(Handle<Map> map); | |
| 2715 | |
| 2716 // Methods for getting operands for Use / Define / Temp. | 2712 // Methods for getting operands for Use / Define / Temp. |
| 2717 LUnallocated* ToUnallocated(Register reg); | 2713 LUnallocated* ToUnallocated(Register reg); |
| 2718 LUnallocated* ToUnallocated(XMMRegister reg); | 2714 LUnallocated* ToUnallocated(XMMRegister reg); |
| 2719 | 2715 |
| 2720 // Methods for setting up define-use relationships. | 2716 // Methods for setting up define-use relationships. |
| 2721 MUST_USE_RESULT LOperand* Use(HValue* value, LUnallocated* operand); | 2717 MUST_USE_RESULT LOperand* Use(HValue* value, LUnallocated* operand); |
| 2722 MUST_USE_RESULT LOperand* UseFixed(HValue* value, Register fixed_register); | 2718 MUST_USE_RESULT LOperand* UseFixed(HValue* value, Register fixed_register); |
| 2723 MUST_USE_RESULT LOperand* UseFixedDouble(HValue* value, | 2719 MUST_USE_RESULT LOperand* UseFixedDouble(HValue* value, |
| 2724 XMMRegister fixed_register); | 2720 XMMRegister fixed_register); |
| 2725 | 2721 |
| (...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2814 | 2810 |
| 2815 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 2811 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
| 2816 }; | 2812 }; |
| 2817 | 2813 |
| 2818 #undef DECLARE_HYDROGEN_ACCESSOR | 2814 #undef DECLARE_HYDROGEN_ACCESSOR |
| 2819 #undef DECLARE_CONCRETE_INSTRUCTION | 2815 #undef DECLARE_CONCRETE_INSTRUCTION |
| 2820 | 2816 |
| 2821 } } // namespace v8::int | 2817 } } // namespace v8::int |
| 2822 | 2818 |
| 2823 #endif // V8_X64_LITHIUM_X64_H_ | 2819 #endif // V8_X64_LITHIUM_X64_H_ |
| OLD | NEW |