| 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 #if V8_TARGET_ARCH_X64 | 9 #if V8_TARGET_ARCH_X64 |
| 10 | 10 |
| (...skipping 2059 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2070 } | 2070 } |
| 2071 } | 2071 } |
| 2072 | 2072 |
| 2073 | 2073 |
| 2074 LInstruction* LChunkBuilder::DoLoadGlobalGeneric(HLoadGlobalGeneric* instr) { | 2074 LInstruction* LChunkBuilder::DoLoadGlobalGeneric(HLoadGlobalGeneric* instr) { |
| 2075 LOperand* context = UseFixed(instr->context(), rsi); | 2075 LOperand* context = UseFixed(instr->context(), rsi); |
| 2076 LOperand* global_object = | 2076 LOperand* global_object = |
| 2077 UseFixed(instr->global_object(), LoadDescriptor::ReceiverRegister()); | 2077 UseFixed(instr->global_object(), LoadDescriptor::ReceiverRegister()); |
| 2078 LOperand* vector = NULL; | 2078 LOperand* vector = NULL; |
| 2079 if (instr->HasVectorAndSlot()) { | 2079 if (instr->HasVectorAndSlot()) { |
| 2080 vector = FixedTemp(VectorLoadICDescriptor::VectorRegister()); | 2080 vector = FixedTemp(LoadWithVectorDescriptor::VectorRegister()); |
| 2081 } | 2081 } |
| 2082 | 2082 |
| 2083 LLoadGlobalGeneric* result = | 2083 LLoadGlobalGeneric* result = |
| 2084 new(zone()) LLoadGlobalGeneric(context, global_object, vector); | 2084 new(zone()) LLoadGlobalGeneric(context, global_object, vector); |
| 2085 return MarkAsCall(DefineFixed(result, rax), instr); | 2085 return MarkAsCall(DefineFixed(result, rax), instr); |
| 2086 } | 2086 } |
| 2087 | 2087 |
| 2088 | 2088 |
| 2089 LInstruction* LChunkBuilder::DoLoadContextSlot(HLoadContextSlot* instr) { | 2089 LInstruction* LChunkBuilder::DoLoadContextSlot(HLoadContextSlot* instr) { |
| 2090 LOperand* context = UseRegisterAtStart(instr->value()); | 2090 LOperand* context = UseRegisterAtStart(instr->value()); |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2133 return DefineAsRegister(new(zone()) LLoadNamedField(obj)); | 2133 return DefineAsRegister(new(zone()) LLoadNamedField(obj)); |
| 2134 } | 2134 } |
| 2135 | 2135 |
| 2136 | 2136 |
| 2137 LInstruction* LChunkBuilder::DoLoadNamedGeneric(HLoadNamedGeneric* instr) { | 2137 LInstruction* LChunkBuilder::DoLoadNamedGeneric(HLoadNamedGeneric* instr) { |
| 2138 LOperand* context = UseFixed(instr->context(), rsi); | 2138 LOperand* context = UseFixed(instr->context(), rsi); |
| 2139 LOperand* object = | 2139 LOperand* object = |
| 2140 UseFixed(instr->object(), LoadDescriptor::ReceiverRegister()); | 2140 UseFixed(instr->object(), LoadDescriptor::ReceiverRegister()); |
| 2141 LOperand* vector = NULL; | 2141 LOperand* vector = NULL; |
| 2142 if (instr->HasVectorAndSlot()) { | 2142 if (instr->HasVectorAndSlot()) { |
| 2143 vector = FixedTemp(VectorLoadICDescriptor::VectorRegister()); | 2143 vector = FixedTemp(LoadWithVectorDescriptor::VectorRegister()); |
| 2144 } | 2144 } |
| 2145 LLoadNamedGeneric* result = new(zone()) LLoadNamedGeneric( | 2145 LLoadNamedGeneric* result = new(zone()) LLoadNamedGeneric( |
| 2146 context, object, vector); | 2146 context, object, vector); |
| 2147 return MarkAsCall(DefineFixed(result, rax), instr); | 2147 return MarkAsCall(DefineFixed(result, rax), instr); |
| 2148 } | 2148 } |
| 2149 | 2149 |
| 2150 | 2150 |
| 2151 LInstruction* LChunkBuilder::DoLoadFunctionPrototype( | 2151 LInstruction* LChunkBuilder::DoLoadFunctionPrototype( |
| 2152 HLoadFunctionPrototype* instr) { | 2152 HLoadFunctionPrototype* instr) { |
| 2153 return AssignEnvironment(DefineAsRegister( | 2153 return AssignEnvironment(DefineAsRegister( |
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2233 } | 2233 } |
| 2234 | 2234 |
| 2235 | 2235 |
| 2236 LInstruction* LChunkBuilder::DoLoadKeyedGeneric(HLoadKeyedGeneric* instr) { | 2236 LInstruction* LChunkBuilder::DoLoadKeyedGeneric(HLoadKeyedGeneric* instr) { |
| 2237 LOperand* context = UseFixed(instr->context(), rsi); | 2237 LOperand* context = UseFixed(instr->context(), rsi); |
| 2238 LOperand* object = | 2238 LOperand* object = |
| 2239 UseFixed(instr->object(), LoadDescriptor::ReceiverRegister()); | 2239 UseFixed(instr->object(), LoadDescriptor::ReceiverRegister()); |
| 2240 LOperand* key = UseFixed(instr->key(), LoadDescriptor::NameRegister()); | 2240 LOperand* key = UseFixed(instr->key(), LoadDescriptor::NameRegister()); |
| 2241 LOperand* vector = NULL; | 2241 LOperand* vector = NULL; |
| 2242 if (instr->HasVectorAndSlot()) { | 2242 if (instr->HasVectorAndSlot()) { |
| 2243 vector = FixedTemp(VectorLoadICDescriptor::VectorRegister()); | 2243 vector = FixedTemp(LoadWithVectorDescriptor::VectorRegister()); |
| 2244 } | 2244 } |
| 2245 | 2245 |
| 2246 LLoadKeyedGeneric* result = | 2246 LLoadKeyedGeneric* result = |
| 2247 new(zone()) LLoadKeyedGeneric(context, object, key, vector); | 2247 new(zone()) LLoadKeyedGeneric(context, object, key, vector); |
| 2248 return MarkAsCall(DefineFixed(result, rax), instr); | 2248 return MarkAsCall(DefineFixed(result, rax), instr); |
| 2249 } | 2249 } |
| 2250 | 2250 |
| 2251 | 2251 |
| 2252 LInstruction* LChunkBuilder::DoStoreKeyed(HStoreKeyed* instr) { | 2252 LInstruction* LChunkBuilder::DoStoreKeyed(HStoreKeyed* instr) { |
| 2253 ElementsKind elements_kind = instr->elements_kind(); | 2253 ElementsKind elements_kind = instr->elements_kind(); |
| (...skipping 449 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2703 LOperand* function = UseRegisterAtStart(instr->function()); | 2703 LOperand* function = UseRegisterAtStart(instr->function()); |
| 2704 LAllocateBlockContext* result = | 2704 LAllocateBlockContext* result = |
| 2705 new(zone()) LAllocateBlockContext(context, function); | 2705 new(zone()) LAllocateBlockContext(context, function); |
| 2706 return MarkAsCall(DefineFixed(result, rsi), instr); | 2706 return MarkAsCall(DefineFixed(result, rsi), instr); |
| 2707 } | 2707 } |
| 2708 | 2708 |
| 2709 | 2709 |
| 2710 } } // namespace v8::internal | 2710 } } // namespace v8::internal |
| 2711 | 2711 |
| 2712 #endif // V8_TARGET_ARCH_X64 | 2712 #endif // V8_TARGET_ARCH_X64 |
| OLD | NEW |