OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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 "use strict"; | 5 "use strict"; |
6 | 6 |
7 // This file relies on the fact that the following declaration has been made | 7 // This file relies on the fact that the following declaration has been made |
8 // in runtime.js and symbol.js: | 8 // in runtime.js and symbol.js: |
9 // var $Object = global.Object; | 9 // var $Object = global.Object; |
10 | 10 |
(...skipping 14 matching lines...) Expand all Loading... |
25 function HarmonyToStringExtendSymbolPrototype() { | 25 function HarmonyToStringExtendSymbolPrototype() { |
26 %CheckIsBootstrapping(); | 26 %CheckIsBootstrapping(); |
27 | 27 |
28 InstallConstants(global.Symbol, $Array( | 28 InstallConstants(global.Symbol, $Array( |
29 // TODO(dslomov, caitp): Move to symbol.js when shipping | 29 // TODO(dslomov, caitp): Move to symbol.js when shipping |
30 "toStringTag", symbolToStringTag | 30 "toStringTag", symbolToStringTag |
31 )); | 31 )); |
32 } | 32 } |
33 | 33 |
34 HarmonyToStringExtendSymbolPrototype(); | 34 HarmonyToStringExtendSymbolPrototype(); |
35 | |
36 function HarmonyToStringExtendObjectPrototype() { | |
37 %CheckIsBootstrapping(); | |
38 | |
39 // Can't use InstallFunctions() because will fail in Debug mode. | |
40 // Emulate InstallFunctions() here. | |
41 %FunctionSetName(ObjectToStringHarmony, "toString"); | |
42 %FunctionRemovePrototype(ObjectToStringHarmony); | |
43 %SetNativeFlag(ObjectToStringHarmony); | |
44 | |
45 // Set up the non-enumerable functions on the Array prototype object. | |
46 var desc = ToPropertyDescriptor({ | |
47 value: ObjectToStringHarmony | |
48 }); | |
49 DefineOwnProperty($Object.prototype, "toString", desc, false); | |
50 | |
51 %ToFastProperties($Object.prototype); | |
52 } | |
53 | |
54 HarmonyToStringExtendObjectPrototype(); | |
OLD | NEW |