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 294 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
305 } | 305 } |
306 | 306 |
307 | 307 |
308 | 308 |
309 /* ----------------------------- | 309 /* ----------------------------- |
310 - - - H e l p e r s - - - | 310 - - - H e l p e r s - - - |
311 ----------------------------- | 311 ----------------------------- |
312 */ | 312 */ |
313 | 313 |
314 // ECMA-262, section 11.4.1, page 46. | 314 // ECMA-262, section 11.4.1, page 46. |
315 function DELETE(key, strict) { | 315 function DELETE(key, language_mode) { |
316 return %DeleteProperty(%ToObject(this), %ToName(key), strict); | 316 return %DeleteProperty(%ToObject(this), %ToName(key), language_mode); |
317 } | 317 } |
318 | 318 |
319 | 319 |
320 // ECMA-262, section 11.8.7, page 54. | 320 // ECMA-262, section 11.8.7, page 54. |
321 function IN(x) { | 321 function IN(x) { |
322 if (!IS_SPEC_OBJECT(x)) { | 322 if (!IS_SPEC_OBJECT(x)) { |
323 throw %MakeTypeError('invalid_in_operator_use', [this, x]); | 323 throw %MakeTypeError('invalid_in_operator_use', [this, x]); |
324 } | 324 } |
325 if (%_IsNonNegativeSmi(this)) { | 325 if (%_IsNonNegativeSmi(this)) { |
326 if (IS_ARRAY(x) && %_HasFastPackedElements(x)) { | 326 if (IS_ARRAY(x) && %_HasFastPackedElements(x)) { |
(...skipping 360 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
687 return i; | 687 return i; |
688 } | 688 } |
689 | 689 |
690 | 690 |
691 // NOTE: Setting the prototype for Array must take place as early as | 691 // NOTE: Setting the prototype for Array must take place as early as |
692 // possible due to code generation for array literals. When | 692 // possible due to code generation for array literals. When |
693 // generating code for a array literal a boilerplate array is created | 693 // generating code for a array literal a boilerplate array is created |
694 // that is cloned when running the code. It is essential that the | 694 // that is cloned when running the code. It is essential that the |
695 // boilerplate gets the right prototype. | 695 // boilerplate gets the right prototype. |
696 %FunctionSetPrototype($Array, new $Array(0)); | 696 %FunctionSetPrototype($Array, new $Array(0)); |
OLD | NEW |