| 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_IA32_LITHIUM_IA32_H_ | 5 #ifndef V8_IA32_LITHIUM_IA32_H_ |
| 6 #define V8_IA32_LITHIUM_IA32_H_ | 6 #define V8_IA32_LITHIUM_IA32_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 2173 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2184 | 2184 |
| 2185 LOperand* object() { return inputs_[0]; } | 2185 LOperand* object() { return inputs_[0]; } |
| 2186 LOperand* value() { return inputs_[1]; } | 2186 LOperand* value() { return inputs_[1]; } |
| 2187 LOperand* temp() { return temps_[0]; } | 2187 LOperand* temp() { return temps_[0]; } |
| 2188 LOperand* temp_map() { return temps_[1]; } | 2188 LOperand* temp_map() { return temps_[1]; } |
| 2189 | 2189 |
| 2190 DECLARE_CONCRETE_INSTRUCTION(StoreNamedField, "store-named-field") | 2190 DECLARE_CONCRETE_INSTRUCTION(StoreNamedField, "store-named-field") |
| 2191 DECLARE_HYDROGEN_ACCESSOR(StoreNamedField) | 2191 DECLARE_HYDROGEN_ACCESSOR(StoreNamedField) |
| 2192 | 2192 |
| 2193 virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; | 2193 virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
| 2194 | |
| 2195 Handle<Map> transition() const { return hydrogen()->transition_map(); } | |
| 2196 Representation representation() const { | |
| 2197 return hydrogen()->field_representation(); | |
| 2198 } | |
| 2199 }; | 2194 }; |
| 2200 | 2195 |
| 2201 | 2196 |
| 2202 class LStoreNamedGeneric V8_FINAL : public LTemplateInstruction<0, 3, 0> { | 2197 class LStoreNamedGeneric V8_FINAL : public LTemplateInstruction<0, 3, 0> { |
| 2203 public: | 2198 public: |
| 2204 LStoreNamedGeneric(LOperand* context, LOperand* object, LOperand* value) { | 2199 LStoreNamedGeneric(LOperand* context, LOperand* object, LOperand* value) { |
| 2205 inputs_[0] = context; | 2200 inputs_[0] = context; |
| 2206 inputs_[1] = object; | 2201 inputs_[1] = object; |
| 2207 inputs_[2] = value; | 2202 inputs_[2] = value; |
| 2208 } | 2203 } |
| (...skipping 564 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2773 CompilationInfo* info() const { return info_; } | 2768 CompilationInfo* info() const { return info_; } |
| 2774 HGraph* graph() const { return graph_; } | 2769 HGraph* graph() const { return graph_; } |
| 2775 | 2770 |
| 2776 bool is_unused() const { return status_ == UNUSED; } | 2771 bool is_unused() const { return status_ == UNUSED; } |
| 2777 bool is_building() const { return status_ == BUILDING; } | 2772 bool is_building() const { return status_ == BUILDING; } |
| 2778 bool is_done() const { return status_ == DONE; } | 2773 bool is_done() const { return status_ == DONE; } |
| 2779 bool is_aborted() const { return status_ == ABORTED; } | 2774 bool is_aborted() const { return status_ == ABORTED; } |
| 2780 | 2775 |
| 2781 void Abort(BailoutReason reason); | 2776 void Abort(BailoutReason reason); |
| 2782 | 2777 |
| 2778 // Methods for code dependencies. |
| 2779 void AddDeprecationDependency(Handle<Map> map); |
| 2780 |
| 2783 // Methods for getting operands for Use / Define / Temp. | 2781 // Methods for getting operands for Use / Define / Temp. |
| 2784 LUnallocated* ToUnallocated(Register reg); | 2782 LUnallocated* ToUnallocated(Register reg); |
| 2785 LUnallocated* ToUnallocated(XMMRegister reg); | 2783 LUnallocated* ToUnallocated(XMMRegister reg); |
| 2786 LUnallocated* ToUnallocated(X87Register reg); | 2784 LUnallocated* ToUnallocated(X87Register reg); |
| 2787 | 2785 |
| 2788 // Methods for setting up define-use relationships. | 2786 // Methods for setting up define-use relationships. |
| 2789 MUST_USE_RESULT LOperand* Use(HValue* value, LUnallocated* operand); | 2787 MUST_USE_RESULT LOperand* Use(HValue* value, LUnallocated* operand); |
| 2790 MUST_USE_RESULT LOperand* UseFixed(HValue* value, Register fixed_register); | 2788 MUST_USE_RESULT LOperand* UseFixed(HValue* value, Register fixed_register); |
| 2791 MUST_USE_RESULT LOperand* UseFixedDouble(HValue* value, | 2789 MUST_USE_RESULT LOperand* UseFixedDouble(HValue* value, |
| 2792 XMMRegister fixed_register); | 2790 XMMRegister fixed_register); |
| (...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2887 | 2885 |
| 2888 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 2886 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
| 2889 }; | 2887 }; |
| 2890 | 2888 |
| 2891 #undef DECLARE_HYDROGEN_ACCESSOR | 2889 #undef DECLARE_HYDROGEN_ACCESSOR |
| 2892 #undef DECLARE_CONCRETE_INSTRUCTION | 2890 #undef DECLARE_CONCRETE_INSTRUCTION |
| 2893 | 2891 |
| 2894 } } // namespace v8::internal | 2892 } } // namespace v8::internal |
| 2895 | 2893 |
| 2896 #endif // V8_IA32_LITHIUM_IA32_H_ | 2894 #endif // V8_IA32_LITHIUM_IA32_H_ |
| OLD | NEW |