OLD | NEW |
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 26 matching lines...) Expand all Loading... |
37 var BIT_AND; | 37 var BIT_AND; |
38 var BIT_AND_STRONG; | 38 var BIT_AND_STRONG; |
39 var BIT_XOR; | 39 var BIT_XOR; |
40 var BIT_XOR_STRONG; | 40 var BIT_XOR_STRONG; |
41 var SHL; | 41 var SHL; |
42 var SHL_STRONG; | 42 var SHL_STRONG; |
43 var SAR; | 43 var SAR; |
44 var SAR_STRONG; | 44 var SAR_STRONG; |
45 var SHR; | 45 var SHR; |
46 var SHR_STRONG; | 46 var SHR_STRONG; |
47 var DELETE; | |
48 var IN; | 47 var IN; |
49 var INSTANCE_OF; | 48 var INSTANCE_OF; |
50 var CALL_NON_FUNCTION; | 49 var CALL_NON_FUNCTION; |
51 var CALL_NON_FUNCTION_AS_CONSTRUCTOR; | 50 var CALL_NON_FUNCTION_AS_CONSTRUCTOR; |
52 var CALL_FUNCTION_PROXY; | 51 var CALL_FUNCTION_PROXY; |
53 var CALL_FUNCTION_PROXY_AS_CONSTRUCTOR; | 52 var CALL_FUNCTION_PROXY_AS_CONSTRUCTOR; |
54 var CONCAT_ITERABLE_TO_ARRAY; | 53 var CONCAT_ITERABLE_TO_ARRAY; |
55 var APPLY_PREPARE; | 54 var APPLY_PREPARE; |
56 var REFLECT_APPLY_PREPARE; | 55 var REFLECT_APPLY_PREPARE; |
57 var REFLECT_CONSTRUCT_PREPARE; | 56 var REFLECT_CONSTRUCT_PREPARE; |
(...skipping 419 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
477 } | 476 } |
478 throw %MakeTypeError(kStrongImplicitConversion); | 477 throw %MakeTypeError(kStrongImplicitConversion); |
479 } | 478 } |
480 | 479 |
481 | 480 |
482 /* ----------------------------- | 481 /* ----------------------------- |
483 - - - H e l p e r s - - - | 482 - - - H e l p e r s - - - |
484 ----------------------------- | 483 ----------------------------- |
485 */ | 484 */ |
486 | 485 |
487 // ECMA-262, section 11.4.1, page 46. | |
488 DELETE = function DELETE(key, language_mode) { | |
489 return %DeleteProperty(TO_OBJECT(this), key, language_mode); | |
490 } | |
491 | |
492 | |
493 // ECMA-262, section 11.8.7, page 54. | 486 // ECMA-262, section 11.8.7, page 54. |
494 IN = function IN(x) { | 487 IN = function IN(x) { |
495 if (!IS_SPEC_OBJECT(x)) { | 488 if (!IS_SPEC_OBJECT(x)) { |
496 throw %MakeTypeError(kInvalidInOperatorUse, this, x); | 489 throw %MakeTypeError(kInvalidInOperatorUse, this, x); |
497 } | 490 } |
498 if (%_IsNonNegativeSmi(this)) { | 491 if (%_IsNonNegativeSmi(this)) { |
499 if (IS_ARRAY(x) && %_HasFastPackedElements(x)) { | 492 if (IS_ARRAY(x) && %_HasFastPackedElements(x)) { |
500 return this < x.length; | 493 return this < x.length; |
501 } | 494 } |
502 return %HasElement(x, this); | 495 return %HasElement(x, this); |
(...skipping 432 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
935 $toBoolean = ToBoolean; | 928 $toBoolean = ToBoolean; |
936 $toInteger = ToInteger; | 929 $toInteger = ToInteger; |
937 $toLength = ToLength; | 930 $toLength = ToLength; |
938 $toName = ToName; | 931 $toName = ToName; |
939 $toNumber = ToNumber; | 932 $toNumber = ToNumber; |
940 $toPositiveInteger = ToPositiveInteger; | 933 $toPositiveInteger = ToPositiveInteger; |
941 $toPrimitive = ToPrimitive; | 934 $toPrimitive = ToPrimitive; |
942 $toString = ToString; | 935 $toString = ToString; |
943 | 936 |
944 }) | 937 }) |
OLD | NEW |