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

Side by Side Diff: src/compiler/code-assembler.cc

Issue 2182103002: [KeyedLoadIC] Support Smi "handlers" for simple field loads (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: rebased Created 4 years, 4 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/compiler/code-assembler.h ('k') | src/counters.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 2015 the V8 project authors. All rights reserved. 1 // Copyright 2015 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/compiler/code-assembler.h" 5 #include "src/compiler/code-assembler.h"
6 6
7 #include <ostream> 7 #include <ostream>
8 8
9 #include "src/code-factory.h" 9 #include "src/code-factory.h"
10 #include "src/compiler/graph.h" 10 #include "src/compiler/graph.h"
(...skipping 635 matching lines...) Expand 10 before | Expand all | Expand 10 after
646 } 646 }
647 647
648 Node* CodeAssembler::TailCallStub(Callable const& callable, Node* context, 648 Node* CodeAssembler::TailCallStub(Callable const& callable, Node* context,
649 Node* arg1, Node* arg2, Node* arg3, 649 Node* arg1, Node* arg2, Node* arg3,
650 size_t result_size) { 650 size_t result_size) {
651 Node* target = HeapConstant(callable.code()); 651 Node* target = HeapConstant(callable.code());
652 return TailCallStub(callable.descriptor(), target, context, arg1, arg2, arg3, 652 return TailCallStub(callable.descriptor(), target, context, arg1, arg2, arg3,
653 result_size); 653 result_size);
654 } 654 }
655 655
656 Node* CodeAssembler::TailCallStub(Callable const& callable, Node* context,
657 Node* arg1, Node* arg2, Node* arg3,
658 Node* arg4, size_t result_size) {
659 Node* target = HeapConstant(callable.code());
660 return TailCallStub(callable.descriptor(), target, context, arg1, arg2, arg3,
661 arg4, result_size);
662 }
663
656 Node* CodeAssembler::TailCallStub(const CallInterfaceDescriptor& descriptor, 664 Node* CodeAssembler::TailCallStub(const CallInterfaceDescriptor& descriptor,
657 Node* target, Node* context, Node* arg1, 665 Node* target, Node* context, Node* arg1,
658 size_t result_size) { 666 size_t result_size) {
659 CallDescriptor* call_descriptor = Linkage::GetStubCallDescriptor( 667 CallDescriptor* call_descriptor = Linkage::GetStubCallDescriptor(
660 isolate(), zone(), descriptor, descriptor.GetStackParameterCount(), 668 isolate(), zone(), descriptor, descriptor.GetStackParameterCount(),
661 CallDescriptor::kSupportsTailCalls, Operator::kNoProperties, 669 CallDescriptor::kSupportsTailCalls, Operator::kNoProperties,
662 MachineType::AnyTagged(), result_size); 670 MachineType::AnyTagged(), result_size);
663 671
664 Node** args = zone()->NewArray<Node*>(2); 672 Node** args = zone()->NewArray<Node*>(2);
665 args[0] = arg1; 673 args[0] = arg1;
(...skipping 384 matching lines...) Expand 10 before | Expand all | Expand 10 after
1050 } 1058 }
1051 } 1059 }
1052 } 1060 }
1053 1061
1054 bound_ = true; 1062 bound_ = true;
1055 } 1063 }
1056 1064
1057 } // namespace compiler 1065 } // namespace compiler
1058 } // namespace internal 1066 } // namespace internal
1059 } // namespace v8 1067 } // namespace v8
OLDNEW
« no previous file with comments | « src/compiler/code-assembler.h ('k') | src/counters.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698