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 2133 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2144 | 2144 |
2145 DECLARE_CONCRETE_INSTRUCTION(SmiUntag, "smi-untag") | 2145 DECLARE_CONCRETE_INSTRUCTION(SmiUntag, "smi-untag") |
2146 | 2146 |
2147 bool needs_check() const { return needs_check_; } | 2147 bool needs_check() const { return needs_check_; } |
2148 | 2148 |
2149 private: | 2149 private: |
2150 bool needs_check_; | 2150 bool needs_check_; |
2151 }; | 2151 }; |
2152 | 2152 |
2153 | 2153 |
2154 class LStoreNamedField V8_FINAL : public LTemplateInstruction<0, 2, 2> { | 2154 class LStoreNamedField V8_FINAL : public LTemplateInstruction<0, 2, 1> { |
2155 public: | 2155 public: |
2156 LStoreNamedField(LOperand* obj, | 2156 LStoreNamedField(LOperand* obj, |
2157 LOperand* val, | 2157 LOperand* val, |
2158 LOperand* temp, | 2158 LOperand* temp) { |
2159 LOperand* temp_map) { | |
2160 inputs_[0] = obj; | 2159 inputs_[0] = obj; |
2161 inputs_[1] = val; | 2160 inputs_[1] = val; |
2162 temps_[0] = temp; | 2161 temps_[0] = temp; |
2163 temps_[1] = temp_map; | |
2164 } | 2162 } |
2165 | 2163 |
2166 LOperand* object() { return inputs_[0]; } | 2164 LOperand* object() { return inputs_[0]; } |
2167 LOperand* value() { return inputs_[1]; } | 2165 LOperand* value() { return inputs_[1]; } |
2168 LOperand* temp() { return temps_[0]; } | 2166 LOperand* temp() { return temps_[0]; } |
2169 LOperand* temp_map() { return temps_[1]; } | |
2170 | 2167 |
2171 DECLARE_CONCRETE_INSTRUCTION(StoreNamedField, "store-named-field") | 2168 DECLARE_CONCRETE_INSTRUCTION(StoreNamedField, "store-named-field") |
2172 DECLARE_HYDROGEN_ACCESSOR(StoreNamedField) | 2169 DECLARE_HYDROGEN_ACCESSOR(StoreNamedField) |
2173 | 2170 |
2174 virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; | 2171 virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
2175 }; | 2172 }; |
2176 | 2173 |
2177 | 2174 |
2178 class LStoreNamedGeneric V8_FINAL : public LTemplateInstruction<0, 3, 0> { | 2175 class LStoreNamedGeneric V8_FINAL : public LTemplateInstruction<0, 3, 0> { |
2179 public: | 2176 public: |
(...skipping 672 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2852 | 2849 |
2853 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 2850 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
2854 }; | 2851 }; |
2855 | 2852 |
2856 #undef DECLARE_HYDROGEN_ACCESSOR | 2853 #undef DECLARE_HYDROGEN_ACCESSOR |
2857 #undef DECLARE_CONCRETE_INSTRUCTION | 2854 #undef DECLARE_CONCRETE_INSTRUCTION |
2858 | 2855 |
2859 } } // namespace v8::internal | 2856 } } // namespace v8::internal |
2860 | 2857 |
2861 #endif // V8_IA32_LITHIUM_IA32_H_ | 2858 #endif // V8_IA32_LITHIUM_IA32_H_ |
OLD | NEW |