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_MIPS | 9 #if V8_TARGET_ARCH_MIPS |
10 | 10 |
(...skipping 2063 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2074 } | 2074 } |
2075 } | 2075 } |
2076 | 2076 |
2077 | 2077 |
2078 LInstruction* LChunkBuilder::DoLoadGlobalGeneric(HLoadGlobalGeneric* instr) { | 2078 LInstruction* LChunkBuilder::DoLoadGlobalGeneric(HLoadGlobalGeneric* instr) { |
2079 LOperand* context = UseFixed(instr->context(), cp); | 2079 LOperand* context = UseFixed(instr->context(), cp); |
2080 LOperand* global_object = | 2080 LOperand* global_object = |
2081 UseFixed(instr->global_object(), LoadDescriptor::ReceiverRegister()); | 2081 UseFixed(instr->global_object(), LoadDescriptor::ReceiverRegister()); |
2082 LOperand* vector = NULL; | 2082 LOperand* vector = NULL; |
2083 if (instr->HasVectorAndSlot()) { | 2083 if (instr->HasVectorAndSlot()) { |
2084 vector = FixedTemp(VectorLoadICDescriptor::VectorRegister()); | 2084 vector = FixedTemp(LoadWithVectorDescriptor::VectorRegister()); |
2085 } | 2085 } |
2086 LLoadGlobalGeneric* result = | 2086 LLoadGlobalGeneric* result = |
2087 new(zone()) LLoadGlobalGeneric(context, global_object, vector); | 2087 new(zone()) LLoadGlobalGeneric(context, global_object, vector); |
2088 return MarkAsCall(DefineFixed(result, v0), instr); | 2088 return MarkAsCall(DefineFixed(result, v0), instr); |
2089 } | 2089 } |
2090 | 2090 |
2091 | 2091 |
2092 LInstruction* LChunkBuilder::DoLoadContextSlot(HLoadContextSlot* instr) { | 2092 LInstruction* LChunkBuilder::DoLoadContextSlot(HLoadContextSlot* instr) { |
2093 LOperand* context = UseRegisterAtStart(instr->value()); | 2093 LOperand* context = UseRegisterAtStart(instr->value()); |
2094 LInstruction* result = | 2094 LInstruction* result = |
(...skipping 28 matching lines...) Expand all Loading... |
2123 return DefineAsRegister(new(zone()) LLoadNamedField(obj)); | 2123 return DefineAsRegister(new(zone()) LLoadNamedField(obj)); |
2124 } | 2124 } |
2125 | 2125 |
2126 | 2126 |
2127 LInstruction* LChunkBuilder::DoLoadNamedGeneric(HLoadNamedGeneric* instr) { | 2127 LInstruction* LChunkBuilder::DoLoadNamedGeneric(HLoadNamedGeneric* instr) { |
2128 LOperand* context = UseFixed(instr->context(), cp); | 2128 LOperand* context = UseFixed(instr->context(), cp); |
2129 LOperand* object = | 2129 LOperand* object = |
2130 UseFixed(instr->object(), LoadDescriptor::ReceiverRegister()); | 2130 UseFixed(instr->object(), LoadDescriptor::ReceiverRegister()); |
2131 LOperand* vector = NULL; | 2131 LOperand* vector = NULL; |
2132 if (instr->HasVectorAndSlot()) { | 2132 if (instr->HasVectorAndSlot()) { |
2133 vector = FixedTemp(VectorLoadICDescriptor::VectorRegister()); | 2133 vector = FixedTemp(LoadWithVectorDescriptor::VectorRegister()); |
2134 } | 2134 } |
2135 | 2135 |
2136 LInstruction* result = | 2136 LInstruction* result = |
2137 DefineFixed(new(zone()) LLoadNamedGeneric(context, object, vector), v0); | 2137 DefineFixed(new(zone()) LLoadNamedGeneric(context, object, vector), v0); |
2138 return MarkAsCall(result, instr); | 2138 return MarkAsCall(result, instr); |
2139 } | 2139 } |
2140 | 2140 |
2141 | 2141 |
2142 LInstruction* LChunkBuilder::DoLoadFunctionPrototype( | 2142 LInstruction* LChunkBuilder::DoLoadFunctionPrototype( |
2143 HLoadFunctionPrototype* instr) { | 2143 HLoadFunctionPrototype* instr) { |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2197 } | 2197 } |
2198 | 2198 |
2199 | 2199 |
2200 LInstruction* LChunkBuilder::DoLoadKeyedGeneric(HLoadKeyedGeneric* instr) { | 2200 LInstruction* LChunkBuilder::DoLoadKeyedGeneric(HLoadKeyedGeneric* instr) { |
2201 LOperand* context = UseFixed(instr->context(), cp); | 2201 LOperand* context = UseFixed(instr->context(), cp); |
2202 LOperand* object = | 2202 LOperand* object = |
2203 UseFixed(instr->object(), LoadDescriptor::ReceiverRegister()); | 2203 UseFixed(instr->object(), LoadDescriptor::ReceiverRegister()); |
2204 LOperand* key = UseFixed(instr->key(), LoadDescriptor::NameRegister()); | 2204 LOperand* key = UseFixed(instr->key(), LoadDescriptor::NameRegister()); |
2205 LOperand* vector = NULL; | 2205 LOperand* vector = NULL; |
2206 if (instr->HasVectorAndSlot()) { | 2206 if (instr->HasVectorAndSlot()) { |
2207 vector = FixedTemp(VectorLoadICDescriptor::VectorRegister()); | 2207 vector = FixedTemp(LoadWithVectorDescriptor::VectorRegister()); |
2208 } | 2208 } |
2209 | 2209 |
2210 LInstruction* result = | 2210 LInstruction* result = |
2211 DefineFixed(new(zone()) LLoadKeyedGeneric(context, object, key, vector), | 2211 DefineFixed(new(zone()) LLoadKeyedGeneric(context, object, key, vector), |
2212 v0); | 2212 v0); |
2213 return MarkAsCall(result, instr); | 2213 return MarkAsCall(result, instr); |
2214 } | 2214 } |
2215 | 2215 |
2216 | 2216 |
2217 LInstruction* LChunkBuilder::DoStoreKeyed(HStoreKeyed* instr) { | 2217 LInstruction* LChunkBuilder::DoStoreKeyed(HStoreKeyed* instr) { |
(...skipping 398 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2616 LOperand* context = UseFixed(instr->context(), cp); | 2616 LOperand* context = UseFixed(instr->context(), cp); |
2617 LOperand* function = UseRegisterAtStart(instr->function()); | 2617 LOperand* function = UseRegisterAtStart(instr->function()); |
2618 LAllocateBlockContext* result = | 2618 LAllocateBlockContext* result = |
2619 new(zone()) LAllocateBlockContext(context, function); | 2619 new(zone()) LAllocateBlockContext(context, function); |
2620 return MarkAsCall(DefineFixed(result, cp), instr); | 2620 return MarkAsCall(DefineFixed(result, cp), instr); |
2621 } | 2621 } |
2622 | 2622 |
2623 } } // namespace v8::internal | 2623 } } // namespace v8::internal |
2624 | 2624 |
2625 #endif // V8_TARGET_ARCH_MIPS | 2625 #endif // V8_TARGET_ARCH_MIPS |
OLD | NEW |