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

Side by Side Diff: src/builtins/builtins-string.cc

Issue 2661483002: [csa] Make argc parameter to CodeStubArguments constructor use ParameterMode (Closed)
Patch Set: Fix build Created 3 years, 10 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/builtins/builtins-function.cc ('k') | src/code-stub-assembler.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/builtins/builtins-utils.h" 5 #include "src/builtins/builtins-utils.h"
6 #include "src/builtins/builtins.h" 6 #include "src/builtins/builtins.h"
7 #include "src/code-factory.h" 7 #include "src/code-factory.h"
8 #include "src/code-stub-assembler.h" 8 #include "src/code-stub-assembler.h"
9 #include "src/regexp/regexp-utils.h" 9 #include "src/regexp/regexp-utils.h"
10 10
(...skipping 402 matching lines...) Expand 10 before | Expand all | Expand 10 after
413 } 413 }
414 414
415 // ----------------------------------------------------------------------------- 415 // -----------------------------------------------------------------------------
416 // ES6 section 21.1 String Objects 416 // ES6 section 21.1 String Objects
417 417
418 // ES6 section 21.1.2.1 String.fromCharCode ( ...codeUnits ) 418 // ES6 section 21.1.2.1 String.fromCharCode ( ...codeUnits )
419 TF_BUILTIN(StringFromCharCode, CodeStubAssembler) { 419 TF_BUILTIN(StringFromCharCode, CodeStubAssembler) {
420 Node* argc = Parameter(BuiltinDescriptor::kArgumentsCount); 420 Node* argc = Parameter(BuiltinDescriptor::kArgumentsCount);
421 Node* context = Parameter(BuiltinDescriptor::kContext); 421 Node* context = Parameter(BuiltinDescriptor::kContext);
422 422
423 CodeStubArguments arguments(this, argc); 423 CodeStubArguments arguments(this, ChangeInt32ToIntPtr(argc));
424 // From now on use word-size argc value. 424 // From now on use word-size argc value.
425 argc = arguments.GetLength(); 425 argc = arguments.GetLength();
426 426
427 // Check if we have exactly one argument (plus the implicit receiver), i.e. 427 // Check if we have exactly one argument (plus the implicit receiver), i.e.
428 // if the parent frame is not an arguments adaptor frame. 428 // if the parent frame is not an arguments adaptor frame.
429 Label if_oneargument(this), if_notoneargument(this); 429 Label if_oneargument(this), if_notoneargument(this);
430 Branch(WordEqual(argc, IntPtrConstant(1)), &if_oneargument, 430 Branch(WordEqual(argc, IntPtrConstant(1)), &if_oneargument,
431 &if_notoneargument); 431 &if_notoneargument);
432 432
433 Bind(&if_oneargument); 433 Bind(&if_oneargument);
(...skipping 445 matching lines...) Expand 10 before | Expand all | Expand 10 after
879 TF_BUILTIN(StringPrototypeIndexOf, StringBuiltinsAssembler) { 879 TF_BUILTIN(StringPrototypeIndexOf, StringBuiltinsAssembler) {
880 Variable search_string(this, MachineRepresentation::kTagged), 880 Variable search_string(this, MachineRepresentation::kTagged),
881 position(this, MachineRepresentation::kTagged); 881 position(this, MachineRepresentation::kTagged);
882 Label call_runtime(this), call_runtime_unchecked(this), argc_0(this), 882 Label call_runtime(this), call_runtime_unchecked(this), argc_0(this),
883 no_argc_0(this), argc_1(this), no_argc_1(this), argc_2(this), 883 no_argc_0(this), argc_1(this), no_argc_1(this), argc_2(this),
884 fast_path(this), return_minus_1(this); 884 fast_path(this), return_minus_1(this);
885 885
886 Node* argc = Parameter(BuiltinDescriptor::kArgumentsCount); 886 Node* argc = Parameter(BuiltinDescriptor::kArgumentsCount);
887 Node* context = Parameter(BuiltinDescriptor::kContext); 887 Node* context = Parameter(BuiltinDescriptor::kContext);
888 888
889 CodeStubArguments arguments(this, argc); 889 CodeStubArguments arguments(this, ChangeInt32ToIntPtr(argc));
890 Node* receiver = arguments.GetReceiver(); 890 Node* receiver = arguments.GetReceiver();
891 // From now on use word-size argc value. 891 // From now on use word-size argc value.
892 argc = arguments.GetLength(); 892 argc = arguments.GetLength();
893 893
894 GotoIf(IntPtrEqual(argc, IntPtrConstant(0)), &argc_0); 894 GotoIf(IntPtrEqual(argc, IntPtrConstant(0)), &argc_0);
895 GotoIf(IntPtrEqual(argc, IntPtrConstant(1)), &argc_1); 895 GotoIf(IntPtrEqual(argc, IntPtrConstant(1)), &argc_1);
896 Goto(&argc_2); 896 Goto(&argc_2);
897 Bind(&argc_0); 897 Bind(&argc_0);
898 { 898 {
899 Comment("0 Argument case"); 899 Comment("0 Argument case");
(...skipping 597 matching lines...) Expand 10 before | Expand all | Expand 10 after
1497 CallRuntime(Runtime::kThrowIncompatibleMethodReceiver, context, 1497 CallRuntime(Runtime::kThrowIncompatibleMethodReceiver, context,
1498 HeapConstant(factory()->NewStringFromAsciiChecked( 1498 HeapConstant(factory()->NewStringFromAsciiChecked(
1499 "String Iterator.prototype.next", TENURED)), 1499 "String Iterator.prototype.next", TENURED)),
1500 iterator); 1500 iterator);
1501 Return(result); // Never reached. 1501 Return(result); // Never reached.
1502 } 1502 }
1503 } 1503 }
1504 1504
1505 } // namespace internal 1505 } // namespace internal
1506 } // namespace v8 1506 } // namespace v8
OLDNEW
« no previous file with comments | « src/builtins/builtins-function.cc ('k') | src/code-stub-assembler.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698