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 #include <sstream> | 5 #include <sstream> |
6 | 6 |
7 #include "src/v8.h" | 7 #include "src/v8.h" |
8 | 8 |
9 #include "src/arm/lithium-codegen-arm.h" | 9 #include "src/arm/lithium-codegen-arm.h" |
10 #include "src/hydrogen-osr.h" | 10 #include "src/hydrogen-osr.h" |
(...skipping 2116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2127 } | 2127 } |
2128 } | 2128 } |
2129 | 2129 |
2130 | 2130 |
2131 LInstruction* LChunkBuilder::DoLoadGlobalGeneric(HLoadGlobalGeneric* instr) { | 2131 LInstruction* LChunkBuilder::DoLoadGlobalGeneric(HLoadGlobalGeneric* instr) { |
2132 LOperand* context = UseFixed(instr->context(), cp); | 2132 LOperand* context = UseFixed(instr->context(), cp); |
2133 LOperand* global_object = | 2133 LOperand* global_object = |
2134 UseFixed(instr->global_object(), LoadDescriptor::ReceiverRegister()); | 2134 UseFixed(instr->global_object(), LoadDescriptor::ReceiverRegister()); |
2135 LOperand* vector = NULL; | 2135 LOperand* vector = NULL; |
2136 if (instr->HasVectorAndSlot()) { | 2136 if (instr->HasVectorAndSlot()) { |
2137 vector = FixedTemp(VectorLoadICDescriptor::VectorRegister()); | 2137 vector = FixedTemp(LoadWithVectorDescriptor::VectorRegister()); |
2138 } | 2138 } |
2139 LLoadGlobalGeneric* result = | 2139 LLoadGlobalGeneric* result = |
2140 new(zone()) LLoadGlobalGeneric(context, global_object, vector); | 2140 new(zone()) LLoadGlobalGeneric(context, global_object, vector); |
2141 return MarkAsCall(DefineFixed(result, r0), instr); | 2141 return MarkAsCall(DefineFixed(result, r0), instr); |
2142 } | 2142 } |
2143 | 2143 |
2144 | 2144 |
2145 LInstruction* LChunkBuilder::DoLoadContextSlot(HLoadContextSlot* instr) { | 2145 LInstruction* LChunkBuilder::DoLoadContextSlot(HLoadContextSlot* instr) { |
2146 LOperand* context = UseRegisterAtStart(instr->value()); | 2146 LOperand* context = UseRegisterAtStart(instr->value()); |
2147 LInstruction* result = | 2147 LInstruction* result = |
(...skipping 28 matching lines...) Expand all Loading... |
2176 return DefineAsRegister(new(zone()) LLoadNamedField(obj)); | 2176 return DefineAsRegister(new(zone()) LLoadNamedField(obj)); |
2177 } | 2177 } |
2178 | 2178 |
2179 | 2179 |
2180 LInstruction* LChunkBuilder::DoLoadNamedGeneric(HLoadNamedGeneric* instr) { | 2180 LInstruction* LChunkBuilder::DoLoadNamedGeneric(HLoadNamedGeneric* instr) { |
2181 LOperand* context = UseFixed(instr->context(), cp); | 2181 LOperand* context = UseFixed(instr->context(), cp); |
2182 LOperand* object = | 2182 LOperand* object = |
2183 UseFixed(instr->object(), LoadDescriptor::ReceiverRegister()); | 2183 UseFixed(instr->object(), LoadDescriptor::ReceiverRegister()); |
2184 LOperand* vector = NULL; | 2184 LOperand* vector = NULL; |
2185 if (instr->HasVectorAndSlot()) { | 2185 if (instr->HasVectorAndSlot()) { |
2186 vector = FixedTemp(VectorLoadICDescriptor::VectorRegister()); | 2186 vector = FixedTemp(LoadWithVectorDescriptor::VectorRegister()); |
2187 } | 2187 } |
2188 | 2188 |
2189 LInstruction* result = | 2189 LInstruction* result = |
2190 DefineFixed(new(zone()) LLoadNamedGeneric(context, object, vector), r0); | 2190 DefineFixed(new(zone()) LLoadNamedGeneric(context, object, vector), r0); |
2191 return MarkAsCall(result, instr); | 2191 return MarkAsCall(result, instr); |
2192 } | 2192 } |
2193 | 2193 |
2194 | 2194 |
2195 LInstruction* LChunkBuilder::DoLoadFunctionPrototype( | 2195 LInstruction* LChunkBuilder::DoLoadFunctionPrototype( |
2196 HLoadFunctionPrototype* instr) { | 2196 HLoadFunctionPrototype* instr) { |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2250 } | 2250 } |
2251 | 2251 |
2252 | 2252 |
2253 LInstruction* LChunkBuilder::DoLoadKeyedGeneric(HLoadKeyedGeneric* instr) { | 2253 LInstruction* LChunkBuilder::DoLoadKeyedGeneric(HLoadKeyedGeneric* instr) { |
2254 LOperand* context = UseFixed(instr->context(), cp); | 2254 LOperand* context = UseFixed(instr->context(), cp); |
2255 LOperand* object = | 2255 LOperand* object = |
2256 UseFixed(instr->object(), LoadDescriptor::ReceiverRegister()); | 2256 UseFixed(instr->object(), LoadDescriptor::ReceiverRegister()); |
2257 LOperand* key = UseFixed(instr->key(), LoadDescriptor::NameRegister()); | 2257 LOperand* key = UseFixed(instr->key(), LoadDescriptor::NameRegister()); |
2258 LOperand* vector = NULL; | 2258 LOperand* vector = NULL; |
2259 if (instr->HasVectorAndSlot()) { | 2259 if (instr->HasVectorAndSlot()) { |
2260 vector = FixedTemp(VectorLoadICDescriptor::VectorRegister()); | 2260 vector = FixedTemp(LoadWithVectorDescriptor::VectorRegister()); |
2261 } | 2261 } |
2262 | 2262 |
2263 LInstruction* result = | 2263 LInstruction* result = |
2264 DefineFixed(new(zone()) LLoadKeyedGeneric(context, object, key, vector), | 2264 DefineFixed(new(zone()) LLoadKeyedGeneric(context, object, key, vector), |
2265 r0); | 2265 r0); |
2266 return MarkAsCall(result, instr); | 2266 return MarkAsCall(result, instr); |
2267 } | 2267 } |
2268 | 2268 |
2269 | 2269 |
2270 LInstruction* LChunkBuilder::DoStoreKeyed(HStoreKeyed* instr) { | 2270 LInstruction* LChunkBuilder::DoStoreKeyed(HStoreKeyed* instr) { |
(...skipping 395 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2666 LInstruction* LChunkBuilder::DoAllocateBlockContext( | 2666 LInstruction* LChunkBuilder::DoAllocateBlockContext( |
2667 HAllocateBlockContext* instr) { | 2667 HAllocateBlockContext* instr) { |
2668 LOperand* context = UseFixed(instr->context(), cp); | 2668 LOperand* context = UseFixed(instr->context(), cp); |
2669 LOperand* function = UseRegisterAtStart(instr->function()); | 2669 LOperand* function = UseRegisterAtStart(instr->function()); |
2670 LAllocateBlockContext* result = | 2670 LAllocateBlockContext* result = |
2671 new(zone()) LAllocateBlockContext(context, function); | 2671 new(zone()) LAllocateBlockContext(context, function); |
2672 return MarkAsCall(DefineFixed(result, cp), instr); | 2672 return MarkAsCall(DefineFixed(result, cp), instr); |
2673 } | 2673 } |
2674 | 2674 |
2675 } } // namespace v8::internal | 2675 } } // namespace v8::internal |
OLD | NEW |