| 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_ARM_LITHIUM_ARM_H_ | 5 #ifndef V8_ARM_LITHIUM_ARM_H_ |
| 6 #define V8_ARM_LITHIUM_ARM_H_ | 6 #define V8_ARM_LITHIUM_ARM_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 2143 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2154 | 2154 |
| 2155 LOperand* object() { return inputs_[0]; } | 2155 LOperand* object() { return inputs_[0]; } |
| 2156 LOperand* value() { return inputs_[1]; } | 2156 LOperand* value() { return inputs_[1]; } |
| 2157 LOperand* temp() { return temps_[0]; } | 2157 LOperand* temp() { return temps_[0]; } |
| 2158 | 2158 |
| 2159 DECLARE_CONCRETE_INSTRUCTION(StoreNamedField, "store-named-field") | 2159 DECLARE_CONCRETE_INSTRUCTION(StoreNamedField, "store-named-field") |
| 2160 DECLARE_HYDROGEN_ACCESSOR(StoreNamedField) | 2160 DECLARE_HYDROGEN_ACCESSOR(StoreNamedField) |
| 2161 | 2161 |
| 2162 virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; | 2162 virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
| 2163 | 2163 |
| 2164 Handle<Map> transition() const { return hydrogen()->transition_map(); } | |
| 2165 Representation representation() const { | 2164 Representation representation() const { |
| 2166 return hydrogen()->field_representation(); | 2165 return hydrogen()->field_representation(); |
| 2167 } | 2166 } |
| 2168 }; | 2167 }; |
| 2169 | 2168 |
| 2170 | 2169 |
| 2171 class LStoreNamedGeneric V8_FINAL : public LTemplateInstruction<0, 3, 0> { | 2170 class LStoreNamedGeneric V8_FINAL : public LTemplateInstruction<0, 3, 0> { |
| 2172 public: | 2171 public: |
| 2173 LStoreNamedGeneric(LOperand* context, LOperand* object, LOperand* value) { | 2172 LStoreNamedGeneric(LOperand* context, LOperand* object, LOperand* value) { |
| 2174 inputs_[0] = context; | 2173 inputs_[0] = context; |
| (...skipping 566 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2741 CompilationInfo* info() const { return info_; } | 2740 CompilationInfo* info() const { return info_; } |
| 2742 HGraph* graph() const { return graph_; } | 2741 HGraph* graph() const { return graph_; } |
| 2743 | 2742 |
| 2744 bool is_unused() const { return status_ == UNUSED; } | 2743 bool is_unused() const { return status_ == UNUSED; } |
| 2745 bool is_building() const { return status_ == BUILDING; } | 2744 bool is_building() const { return status_ == BUILDING; } |
| 2746 bool is_done() const { return status_ == DONE; } | 2745 bool is_done() const { return status_ == DONE; } |
| 2747 bool is_aborted() const { return status_ == ABORTED; } | 2746 bool is_aborted() const { return status_ == ABORTED; } |
| 2748 | 2747 |
| 2749 void Abort(BailoutReason reason); | 2748 void Abort(BailoutReason reason); |
| 2750 | 2749 |
| 2751 // Methods for code dependencies. | |
| 2752 void AddDeprecationDependency(Handle<Map> map); | |
| 2753 | |
| 2754 // Methods for getting operands for Use / Define / Temp. | 2750 // Methods for getting operands for Use / Define / Temp. |
| 2755 LUnallocated* ToUnallocated(Register reg); | 2751 LUnallocated* ToUnallocated(Register reg); |
| 2756 LUnallocated* ToUnallocated(DoubleRegister reg); | 2752 LUnallocated* ToUnallocated(DoubleRegister reg); |
| 2757 | 2753 |
| 2758 // Methods for setting up define-use relationships. | 2754 // Methods for setting up define-use relationships. |
| 2759 MUST_USE_RESULT LOperand* Use(HValue* value, LUnallocated* operand); | 2755 MUST_USE_RESULT LOperand* Use(HValue* value, LUnallocated* operand); |
| 2760 MUST_USE_RESULT LOperand* UseFixed(HValue* value, Register fixed_register); | 2756 MUST_USE_RESULT LOperand* UseFixed(HValue* value, Register fixed_register); |
| 2761 MUST_USE_RESULT LOperand* UseFixedDouble(HValue* value, | 2757 MUST_USE_RESULT LOperand* UseFixedDouble(HValue* value, |
| 2762 DoubleRegister fixed_register); | 2758 DoubleRegister fixed_register); |
| 2763 | 2759 |
| (...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2844 | 2840 |
| 2845 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 2841 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
| 2846 }; | 2842 }; |
| 2847 | 2843 |
| 2848 #undef DECLARE_HYDROGEN_ACCESSOR | 2844 #undef DECLARE_HYDROGEN_ACCESSOR |
| 2849 #undef DECLARE_CONCRETE_INSTRUCTION | 2845 #undef DECLARE_CONCRETE_INSTRUCTION |
| 2850 | 2846 |
| 2851 } } // namespace v8::internal | 2847 } } // namespace v8::internal |
| 2852 | 2848 |
| 2853 #endif // V8_ARM_LITHIUM_ARM_H_ | 2849 #endif // V8_ARM_LITHIUM_ARM_H_ |
| OLD | NEW |