Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(793)

Side by Side Diff: src/ic/accessor-assembler.cc

Issue 2595343002: [stubs] Port LoadFieldStub to TF (Closed)
Patch Set: Remerge Created 3 years, 12 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/ic/accessor-assembler.h ('k') | src/ic/accessor-assembler-impl.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 the V8 project authors. All rights reserved. 1 // Copyright 2016 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/ic/accessor-assembler.h" 5 #include "src/ic/accessor-assembler.h"
6 #include "src/ic/accessor-assembler-impl.h" 6 #include "src/ic/accessor-assembler-impl.h"
7 7
8 #include "src/code-factory.h" 8 #include "src/code-factory.h"
9 #include "src/code-stubs.h" 9 #include "src/code-stubs.h"
10 #include "src/ic/handler-configuration.h" 10 #include "src/ic/handler-configuration.h"
(...skipping 1636 matching lines...) Expand 10 before | Expand all | Expand 10 after
1647 Node* name = Parameter(Descriptor::kName); 1647 Node* name = Parameter(Descriptor::kName);
1648 Node* slot = Parameter(Descriptor::kSlot); 1648 Node* slot = Parameter(Descriptor::kSlot);
1649 Node* vector = Parameter(Descriptor::kVector); 1649 Node* vector = Parameter(Descriptor::kVector);
1650 Node* handler = Parameter(Descriptor::kHandler); 1650 Node* handler = Parameter(Descriptor::kHandler);
1651 Node* context = Parameter(Descriptor::kContext); 1651 Node* context = Parameter(Descriptor::kContext);
1652 1652
1653 LoadICParameters p(context, receiver, name, slot, vector); 1653 LoadICParameters p(context, receiver, name, slot, vector);
1654 LoadICProtoArray(&p, handler, throw_reference_error_if_nonexistent); 1654 LoadICProtoArray(&p, handler, throw_reference_error_if_nonexistent);
1655 } 1655 }
1656 1656
1657 void AccessorAssemblerImpl::GenerateLoadField() {
1658 typedef LoadFieldStub::Descriptor Descriptor;
1659
1660 Node* receiver = Parameter(Descriptor::kReceiver);
1661 Node* name = nullptr;
1662 Node* slot = nullptr;
1663 Node* vector = nullptr;
1664 Node* context = Parameter(Descriptor::kContext);
1665 LoadICParameters p(context, receiver, name, slot, vector);
1666
1667 HandleLoadICSmiHandlerCase(&p, receiver, Parameter(Descriptor::kSmiHandler),
1668 nullptr, kOnlyProperties);
1669 }
1670
1657 void AccessorAssemblerImpl::GenerateLoadGlobalIC(TypeofMode typeof_mode) { 1671 void AccessorAssemblerImpl::GenerateLoadGlobalIC(TypeofMode typeof_mode) {
1658 typedef LoadGlobalICStub::Descriptor Descriptor; 1672 typedef LoadGlobalICStub::Descriptor Descriptor;
1659 1673
1660 Node* name = Parameter(Descriptor::kName); 1674 Node* name = Parameter(Descriptor::kName);
1661 Node* slot = Parameter(Descriptor::kSlot); 1675 Node* slot = Parameter(Descriptor::kSlot);
1662 Node* vector = Parameter(Descriptor::kVector); 1676 Node* vector = Parameter(Descriptor::kVector);
1663 Node* context = Parameter(Descriptor::kContext); 1677 Node* context = Parameter(Descriptor::kContext);
1664 1678
1665 LoadICParameters p(context, nullptr, name, slot, vector); 1679 LoadICParameters p(context, nullptr, name, slot, vector);
1666 LoadGlobalIC(&p, typeof_mode); 1680 LoadGlobalIC(&p, typeof_mode);
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after
1813 void AccessorAssembler::GenerateKeyedStoreICTrampolineTF( 1827 void AccessorAssembler::GenerateKeyedStoreICTrampolineTF(
1814 CodeAssemblerState* state, LanguageMode language_mode) { 1828 CodeAssemblerState* state, LanguageMode language_mode) {
1815 AccessorAssemblerImpl assembler(state); 1829 AccessorAssemblerImpl assembler(state);
1816 assembler.GenerateKeyedStoreICTrampolineTF(language_mode); 1830 assembler.GenerateKeyedStoreICTrampolineTF(language_mode);
1817 } 1831 }
1818 1832
1819 #undef ACCESSOR_ASSEMBLER_PUBLIC_INTERFACE 1833 #undef ACCESSOR_ASSEMBLER_PUBLIC_INTERFACE
1820 1834
1821 } // namespace internal 1835 } // namespace internal
1822 } // namespace v8 1836 } // namespace v8
OLDNEW
« no previous file with comments | « src/ic/accessor-assembler.h ('k') | src/ic/accessor-assembler-impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698