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

Side by Side Diff: src/runtime.js

Issue 1335723002: [stubs] Simplify the non-function case of CallConstructStub. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Address Michi's comment. Created 5 years, 3 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/mips64/code-stubs-mips64.cc ('k') | src/x64/code-stubs-x64.cc » ('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 2006-2008 the V8 project authors. All rights reserved. 1 // Copyright 2006-2008 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 // This files contains runtime support implemented in JavaScript. 5 // This files contains runtime support implemented in JavaScript.
6 6
7 // CAUTION: Some of the functions specified in this file are called 7 // CAUTION: Some of the functions specified in this file are called
8 // directly from compiled code. These are the functions with names in 8 // directly from compiled code. These are the functions with names in
9 // ALL CAPS. The compiled code passes the first argument in 'this'. 9 // ALL CAPS. The compiled code passes the first argument in 'this'.
10 10
(...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after
185 } 185 }
186 return %_StringAdd(x, y); 186 return %_StringAdd(x, y);
187 } 187 }
188 188
189 189
190 /* ----------------------------- 190 /* -----------------------------
191 - - - H e l p e r s - - - 191 - - - H e l p e r s - - -
192 ----------------------------- 192 -----------------------------
193 */ 193 */
194 194
195 function CALL_NON_FUNCTION_AS_CONSTRUCTOR() {
196 var delegate = %GetConstructorDelegate(this);
197 return %Apply(delegate, this, arguments, 0, %_ArgumentsLength());
198 }
199
200
201 function CALL_FUNCTION_PROXY_AS_CONSTRUCTOR () {
202 var proxy = this;
203 var trap = %GetConstructTrap(proxy);
204 return %Apply(trap, this, arguments, 0, %_ArgumentsLength());
205 }
206
207
208 function APPLY_PREPARE(args) { 195 function APPLY_PREPARE(args) {
209 var length; 196 var length;
210 197
211 // First check that the receiver is callable. 198 // First check that the receiver is callable.
212 if (!IS_CALLABLE(this)) { 199 if (!IS_CALLABLE(this)) {
213 throw %make_type_error(kApplyNonFunction, %to_string_fun(this), 200 throw %make_type_error(kApplyNonFunction, %to_string_fun(this),
214 typeof this); 201 typeof this);
215 } 202 }
216 203
217 // First check whether length is a positive Smi and args is an 204 // First check whether length is a positive Smi and args is an
(...skipping 325 matching lines...) Expand 10 before | Expand all | Expand 10 after
543 $sameValueZero = SameValueZero; 530 $sameValueZero = SameValueZero;
544 $toInteger = ToInteger; 531 $toInteger = ToInteger;
545 $toLength = ToLength; 532 $toLength = ToLength;
546 $toNumber = ToNumber; 533 $toNumber = ToNumber;
547 $toPositiveInteger = ToPositiveInteger; 534 $toPositiveInteger = ToPositiveInteger;
548 $toPrimitive = ToPrimitive; 535 $toPrimitive = ToPrimitive;
549 $toString = ToString; 536 $toString = ToString;
550 537
551 %InstallToContext([ 538 %InstallToContext([
552 "apply_prepare_builtin", APPLY_PREPARE, 539 "apply_prepare_builtin", APPLY_PREPARE,
553 "call_function_proxy_as_constructor_builtin", CALL_FUNCTION_PROXY_AS_CONSTRUCT OR,
554 "call_non_function_as_constructor_builtin", CALL_NON_FUNCTION_AS_CONSTRUCTOR,
555 "compare_builtin", COMPARE, 540 "compare_builtin", COMPARE,
556 "compare_strong_builtin", COMPARE_STRONG, 541 "compare_strong_builtin", COMPARE_STRONG,
557 "concat_iterable_to_array_builtin", CONCAT_ITERABLE_TO_ARRAY, 542 "concat_iterable_to_array_builtin", CONCAT_ITERABLE_TO_ARRAY,
558 "equals_builtin", EQUALS, 543 "equals_builtin", EQUALS,
559 "reflect_apply_prepare_builtin", REFLECT_APPLY_PREPARE, 544 "reflect_apply_prepare_builtin", REFLECT_APPLY_PREPARE,
560 "reflect_construct_prepare_builtin", REFLECT_CONSTRUCT_PREPARE, 545 "reflect_construct_prepare_builtin", REFLECT_CONSTRUCT_PREPARE,
561 "stack_overflow_builtin", STACK_OVERFLOW, 546 "stack_overflow_builtin", STACK_OVERFLOW,
562 "string_add_left_builtin", STRING_ADD_LEFT, 547 "string_add_left_builtin", STRING_ADD_LEFT,
563 "string_add_right_builtin", STRING_ADD_RIGHT, 548 "string_add_right_builtin", STRING_ADD_RIGHT,
564 ]); 549 ]);
(...skipping 11 matching lines...) Expand all
576 561
577 utils.Export(function(to) { 562 utils.Export(function(to) {
578 to.ToBoolean = ToBoolean; 563 to.ToBoolean = ToBoolean;
579 to.ToLength = ToLength; 564 to.ToLength = ToLength;
580 to.ToNumber = ToNumber; 565 to.ToNumber = ToNumber;
581 to.ToPrimitive = ToPrimitive; 566 to.ToPrimitive = ToPrimitive;
582 to.ToString = ToString; 567 to.ToString = ToString;
583 }); 568 });
584 569
585 }) 570 })
OLDNEW
« no previous file with comments | « src/mips64/code-stubs-mips64.cc ('k') | src/x64/code-stubs-x64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698