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_MIPS_LITHIUM_MIPS_H_ | 5 #ifndef V8_MIPS_LITHIUM_MIPS_H_ |
6 #define V8_MIPS_LITHIUM_MIPS_H_ | 6 #define V8_MIPS_LITHIUM_MIPS_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 2104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2115 | 2115 |
2116 LOperand* object() { return inputs_[0]; } | 2116 LOperand* object() { return inputs_[0]; } |
2117 LOperand* value() { return inputs_[1]; } | 2117 LOperand* value() { return inputs_[1]; } |
2118 LOperand* temp() { return temps_[0]; } | 2118 LOperand* temp() { return temps_[0]; } |
2119 | 2119 |
2120 DECLARE_CONCRETE_INSTRUCTION(StoreNamedField, "store-named-field") | 2120 DECLARE_CONCRETE_INSTRUCTION(StoreNamedField, "store-named-field") |
2121 DECLARE_HYDROGEN_ACCESSOR(StoreNamedField) | 2121 DECLARE_HYDROGEN_ACCESSOR(StoreNamedField) |
2122 | 2122 |
2123 virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; | 2123 virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
2124 | 2124 |
2125 Handle<Map> transition() const { return hydrogen()->transition_map(); } | |
2126 Representation representation() const { | 2125 Representation representation() const { |
2127 return hydrogen()->field_representation(); | 2126 return hydrogen()->field_representation(); |
2128 } | 2127 } |
2129 }; | 2128 }; |
2130 | 2129 |
2131 | 2130 |
2132 class LStoreNamedGeneric V8_FINAL : public LTemplateInstruction<0, 3, 0> { | 2131 class LStoreNamedGeneric V8_FINAL : public LTemplateInstruction<0, 3, 0> { |
2133 public: | 2132 public: |
2134 LStoreNamedGeneric(LOperand* context, LOperand* object, LOperand* value) { | 2133 LStoreNamedGeneric(LOperand* context, LOperand* object, LOperand* value) { |
2135 inputs_[0] = context; | 2134 inputs_[0] = context; |
(...skipping 560 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2696 CompilationInfo* info() const { return info_; } | 2695 CompilationInfo* info() const { return info_; } |
2697 HGraph* graph() const { return graph_; } | 2696 HGraph* graph() const { return graph_; } |
2698 | 2697 |
2699 bool is_unused() const { return status_ == UNUSED; } | 2698 bool is_unused() const { return status_ == UNUSED; } |
2700 bool is_building() const { return status_ == BUILDING; } | 2699 bool is_building() const { return status_ == BUILDING; } |
2701 bool is_done() const { return status_ == DONE; } | 2700 bool is_done() const { return status_ == DONE; } |
2702 bool is_aborted() const { return status_ == ABORTED; } | 2701 bool is_aborted() const { return status_ == ABORTED; } |
2703 | 2702 |
2704 void Abort(BailoutReason reason); | 2703 void Abort(BailoutReason reason); |
2705 | 2704 |
2706 // Methods for code dependencies. | |
2707 void AddDeprecationDependency(Handle<Map> map); | |
2708 | |
2709 // Methods for getting operands for Use / Define / Temp. | 2705 // Methods for getting operands for Use / Define / Temp. |
2710 LUnallocated* ToUnallocated(Register reg); | 2706 LUnallocated* ToUnallocated(Register reg); |
2711 LUnallocated* ToUnallocated(DoubleRegister reg); | 2707 LUnallocated* ToUnallocated(DoubleRegister reg); |
2712 | 2708 |
2713 // Methods for setting up define-use relationships. | 2709 // Methods for setting up define-use relationships. |
2714 MUST_USE_RESULT LOperand* Use(HValue* value, LUnallocated* operand); | 2710 MUST_USE_RESULT LOperand* Use(HValue* value, LUnallocated* operand); |
2715 MUST_USE_RESULT LOperand* UseFixed(HValue* value, Register fixed_register); | 2711 MUST_USE_RESULT LOperand* UseFixed(HValue* value, Register fixed_register); |
2716 MUST_USE_RESULT LOperand* UseFixedDouble(HValue* value, | 2712 MUST_USE_RESULT LOperand* UseFixedDouble(HValue* value, |
2717 DoubleRegister fixed_register); | 2713 DoubleRegister fixed_register); |
2718 | 2714 |
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2800 | 2796 |
2801 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 2797 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
2802 }; | 2798 }; |
2803 | 2799 |
2804 #undef DECLARE_HYDROGEN_ACCESSOR | 2800 #undef DECLARE_HYDROGEN_ACCESSOR |
2805 #undef DECLARE_CONCRETE_INSTRUCTION | 2801 #undef DECLARE_CONCRETE_INSTRUCTION |
2806 | 2802 |
2807 } } // namespace v8::internal | 2803 } } // namespace v8::internal |
2808 | 2804 |
2809 #endif // V8_MIPS_LITHIUM_MIPS_H_ | 2805 #endif // V8_MIPS_LITHIUM_MIPS_H_ |
OLD | NEW |