| OLD | NEW |
| 1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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 "src/crankshaft/arm64/lithium-arm64.h" | 5 #include "src/crankshaft/arm64/lithium-arm64.h" |
| 6 | 6 |
| 7 #include <sstream> | 7 #include <sstream> |
| 8 | 8 |
| 9 #include "src/crankshaft/arm64/lithium-codegen-arm64.h" | 9 #include "src/crankshaft/arm64/lithium-codegen-arm64.h" |
| 10 #include "src/crankshaft/hydrogen-osr.h" | 10 #include "src/crankshaft/hydrogen-osr.h" |
| (...skipping 253 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 264 void LStoreNamedField::PrintDataTo(StringStream* stream) { | 264 void LStoreNamedField::PrintDataTo(StringStream* stream) { |
| 265 object()->PrintTo(stream); | 265 object()->PrintTo(stream); |
| 266 std::ostringstream os; | 266 std::ostringstream os; |
| 267 os << hydrogen()->access(); | 267 os << hydrogen()->access(); |
| 268 stream->Add(os.str().c_str()); | 268 stream->Add(os.str().c_str()); |
| 269 stream->Add(" <- "); | 269 stream->Add(" <- "); |
| 270 value()->PrintTo(stream); | 270 value()->PrintTo(stream); |
| 271 } | 271 } |
| 272 | 272 |
| 273 | 273 |
| 274 void LStoreNamedGeneric::PrintDataTo(StringStream* stream) { | |
| 275 object()->PrintTo(stream); | |
| 276 stream->Add("."); | |
| 277 stream->Add(String::cast(*name())->ToCString().get()); | |
| 278 stream->Add(" <- "); | |
| 279 value()->PrintTo(stream); | |
| 280 } | |
| 281 | |
| 282 | |
| 283 void LStringCompareAndBranch::PrintDataTo(StringStream* stream) { | 274 void LStringCompareAndBranch::PrintDataTo(StringStream* stream) { |
| 284 stream->Add("if string_compare("); | 275 stream->Add("if string_compare("); |
| 285 left()->PrintTo(stream); | 276 left()->PrintTo(stream); |
| 286 right()->PrintTo(stream); | 277 right()->PrintTo(stream); |
| 287 stream->Add(") then B%d else B%d", true_block_id(), false_block_id()); | 278 stream->Add(") then B%d else B%d", true_block_id(), false_block_id()); |
| 288 } | 279 } |
| 289 | 280 |
| 290 | 281 |
| 291 void LTransitionElementsKind::PrintDataTo(StringStream* stream) { | 282 void LTransitionElementsKind::PrintDataTo(StringStream* stream) { |
| 292 object()->PrintTo(stream); | 283 object()->PrintTo(stream); |
| (...skipping 1958 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2251 temp1 = TempRegister(); | 2242 temp1 = TempRegister(); |
| 2252 } else { | 2243 } else { |
| 2253 value = UseRegister(instr->value()); | 2244 value = UseRegister(instr->value()); |
| 2254 temp0 = TempRegister(); | 2245 temp0 = TempRegister(); |
| 2255 } | 2246 } |
| 2256 | 2247 |
| 2257 return new(zone()) LStoreNamedField(object, value, temp0, temp1); | 2248 return new(zone()) LStoreNamedField(object, value, temp0, temp1); |
| 2258 } | 2249 } |
| 2259 | 2250 |
| 2260 | 2251 |
| 2261 LInstruction* LChunkBuilder::DoStoreNamedGeneric(HStoreNamedGeneric* instr) { | |
| 2262 LOperand* context = UseFixed(instr->context(), cp); | |
| 2263 LOperand* object = | |
| 2264 UseFixed(instr->object(), StoreDescriptor::ReceiverRegister()); | |
| 2265 LOperand* value = UseFixed(instr->value(), StoreDescriptor::ValueRegister()); | |
| 2266 | |
| 2267 LOperand* slot = FixedTemp(StoreWithVectorDescriptor::SlotRegister()); | |
| 2268 LOperand* vector = FixedTemp(StoreWithVectorDescriptor::VectorRegister()); | |
| 2269 | |
| 2270 LStoreNamedGeneric* result = | |
| 2271 new (zone()) LStoreNamedGeneric(context, object, value, slot, vector); | |
| 2272 return MarkAsCall(result, instr); | |
| 2273 } | |
| 2274 | |
| 2275 | |
| 2276 LInstruction* LChunkBuilder::DoStringAdd(HStringAdd* instr) { | 2252 LInstruction* LChunkBuilder::DoStringAdd(HStringAdd* instr) { |
| 2277 LOperand* context = UseFixed(instr->context(), cp); | 2253 LOperand* context = UseFixed(instr->context(), cp); |
| 2278 LOperand* left = UseFixed(instr->left(), x1); | 2254 LOperand* left = UseFixed(instr->left(), x1); |
| 2279 LOperand* right = UseFixed(instr->right(), x0); | 2255 LOperand* right = UseFixed(instr->right(), x0); |
| 2280 | 2256 |
| 2281 LStringAdd* result = new(zone()) LStringAdd(context, left, right); | 2257 LStringAdd* result = new(zone()) LStringAdd(context, left, right); |
| 2282 return MarkAsCall(DefineFixed(result, x0), instr); | 2258 return MarkAsCall(DefineFixed(result, x0), instr); |
| 2283 } | 2259 } |
| 2284 | 2260 |
| 2285 | 2261 |
| (...skipping 299 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2585 | 2561 |
| 2586 LInstruction* LChunkBuilder::DoWrapReceiver(HWrapReceiver* instr) { | 2562 LInstruction* LChunkBuilder::DoWrapReceiver(HWrapReceiver* instr) { |
| 2587 LOperand* receiver = UseRegister(instr->receiver()); | 2563 LOperand* receiver = UseRegister(instr->receiver()); |
| 2588 LOperand* function = UseRegister(instr->function()); | 2564 LOperand* function = UseRegister(instr->function()); |
| 2589 LWrapReceiver* result = new(zone()) LWrapReceiver(receiver, function); | 2565 LWrapReceiver* result = new(zone()) LWrapReceiver(receiver, function); |
| 2590 return AssignEnvironment(DefineAsRegister(result)); | 2566 return AssignEnvironment(DefineAsRegister(result)); |
| 2591 } | 2567 } |
| 2592 | 2568 |
| 2593 } // namespace internal | 2569 } // namespace internal |
| 2594 } // namespace v8 | 2570 } // namespace v8 |
| OLD | NEW |