| 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 "src/code-stubs.h" | 5 #include "src/code-stubs.h" |
| 6 | 6 |
| 7 #include <sstream> | 7 #include <sstream> |
| 8 | 8 |
| 9 #include "src/ast/ast.h" | 9 #include "src/ast/ast.h" |
| 10 #include "src/bootstrapper.h" | 10 #include "src/bootstrapper.h" |
| (...skipping 480 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 491 Node* receiver = assembler->Parameter(Descriptor::kReceiver); | 491 Node* receiver = assembler->Parameter(Descriptor::kReceiver); |
| 492 Node* name = assembler->Parameter(Descriptor::kName); | 492 Node* name = assembler->Parameter(Descriptor::kName); |
| 493 Node* slot = assembler->Parameter(Descriptor::kSlot); | 493 Node* slot = assembler->Parameter(Descriptor::kSlot); |
| 494 Node* vector = assembler->Parameter(Descriptor::kVector); | 494 Node* vector = assembler->Parameter(Descriptor::kVector); |
| 495 Node* context = assembler->Parameter(Descriptor::kContext); | 495 Node* context = assembler->Parameter(Descriptor::kContext); |
| 496 | 496 |
| 497 CodeStubAssembler::LoadICParameters p(context, receiver, name, slot, vector); | 497 CodeStubAssembler::LoadICParameters p(context, receiver, name, slot, vector); |
| 498 assembler->KeyedLoadIC(&p); | 498 assembler->KeyedLoadIC(&p); |
| 499 } | 499 } |
| 500 | 500 |
| 501 void StoreICTrampolineTFStub::GenerateAssembly( |
| 502 CodeStubAssembler* assembler) const { |
| 503 typedef compiler::Node Node; |
| 504 |
| 505 Node* receiver = assembler->Parameter(Descriptor::kReceiver); |
| 506 Node* name = assembler->Parameter(Descriptor::kName); |
| 507 Node* value = assembler->Parameter(Descriptor::kValue); |
| 508 Node* slot = assembler->Parameter(Descriptor::kSlot); |
| 509 Node* context = assembler->Parameter(Descriptor::kContext); |
| 510 Node* vector = assembler->LoadTypeFeedbackVectorForStub(); |
| 511 |
| 512 CodeStubAssembler::StoreICParameters p(context, receiver, name, value, slot, |
| 513 vector); |
| 514 assembler->StoreIC(&p); |
| 515 } |
| 516 |
| 517 void StoreICTFStub::GenerateAssembly(CodeStubAssembler* assembler) const { |
| 518 typedef compiler::Node Node; |
| 519 |
| 520 Node* receiver = assembler->Parameter(Descriptor::kReceiver); |
| 521 Node* name = assembler->Parameter(Descriptor::kName); |
| 522 Node* value = assembler->Parameter(Descriptor::kValue); |
| 523 Node* slot = assembler->Parameter(Descriptor::kSlot); |
| 524 Node* vector = assembler->Parameter(Descriptor::kVector); |
| 525 Node* context = assembler->Parameter(Descriptor::kContext); |
| 526 |
| 527 CodeStubAssembler::StoreICParameters p(context, receiver, name, value, slot, |
| 528 vector); |
| 529 assembler->StoreIC(&p); |
| 530 } |
| 531 |
| 501 void StoreTransitionStub::GenerateAssembly(CodeStubAssembler* assembler) const { | 532 void StoreTransitionStub::GenerateAssembly(CodeStubAssembler* assembler) const { |
| 502 typedef CodeStubAssembler::Label Label; | 533 typedef CodeStubAssembler::Label Label; |
| 503 typedef compiler::Node Node; | 534 typedef compiler::Node Node; |
| 504 | 535 |
| 505 Node* receiver = assembler->Parameter(Descriptor::kReceiver); | 536 Node* receiver = assembler->Parameter(Descriptor::kReceiver); |
| 506 Node* name = assembler->Parameter(Descriptor::kName); | 537 Node* name = assembler->Parameter(Descriptor::kName); |
| 507 Node* value = assembler->Parameter(Descriptor::kValue); | 538 Node* value = assembler->Parameter(Descriptor::kValue); |
| 508 Node* map = assembler->Parameter(Descriptor::kMap); | 539 Node* map = assembler->Parameter(Descriptor::kMap); |
| 509 Node* slot = assembler->Parameter(Descriptor::kSlot); | 540 Node* slot = assembler->Parameter(Descriptor::kSlot); |
| 510 Node* vector = assembler->Parameter(Descriptor::kVector); | 541 Node* vector = assembler->Parameter(Descriptor::kVector); |
| (...skipping 5750 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6261 | 6292 |
| 6262 if (type == MachineType::Pointer()) { | 6293 if (type == MachineType::Pointer()) { |
| 6263 return Representation::External(); | 6294 return Representation::External(); |
| 6264 } | 6295 } |
| 6265 | 6296 |
| 6266 return Representation::Tagged(); | 6297 return Representation::Tagged(); |
| 6267 } | 6298 } |
| 6268 | 6299 |
| 6269 } // namespace internal | 6300 } // namespace internal |
| 6270 } // namespace v8 | 6301 } // namespace v8 |
| OLD | NEW |