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 |