| OLD | NEW |
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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 (function(global, utils) { | 5 (function(global, utils) { |
| 6 | 6 |
| 7 %CheckIsBootstrapping(); | 7 %CheckIsBootstrapping(); |
| 8 | 8 |
| 9 // ---------------------------------------------------------------------------- | 9 // ---------------------------------------------------------------------------- |
| 10 // Imports | 10 // Imports |
| (...skipping 1293 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1304 // ECMA-262, Edition 6, section B.2.2.1.2 | 1304 // ECMA-262, Edition 6, section B.2.2.1.2 |
| 1305 function ObjectSetProto(proto) { | 1305 function ObjectSetProto(proto) { |
| 1306 CHECK_OBJECT_COERCIBLE(this, "Object.prototype.__proto__"); | 1306 CHECK_OBJECT_COERCIBLE(this, "Object.prototype.__proto__"); |
| 1307 | 1307 |
| 1308 if ((IS_SPEC_OBJECT(proto) || IS_NULL(proto)) && IS_SPEC_OBJECT(this)) { | 1308 if ((IS_SPEC_OBJECT(proto) || IS_NULL(proto)) && IS_SPEC_OBJECT(this)) { |
| 1309 %SetPrototype(this, proto); | 1309 %SetPrototype(this, proto); |
| 1310 } | 1310 } |
| 1311 } | 1311 } |
| 1312 | 1312 |
| 1313 | 1313 |
| 1314 // ECMA-262, Edition 6, section 19.1.1.1 |
| 1314 function ObjectConstructor(x) { | 1315 function ObjectConstructor(x) { |
| 1315 if (%_IsConstructCall()) { | 1316 if (GlobalObject != new.target && !IS_UNDEFINED(new.target)) { |
| 1316 if (x == null) return this; | 1317 return this; |
| 1317 return TO_OBJECT(x); | |
| 1318 } else { | |
| 1319 if (x == null) return { }; | |
| 1320 return TO_OBJECT(x); | |
| 1321 } | 1318 } |
| 1319 if (IS_NULL(x) || IS_UNDEFINED(x)) return {}; |
| 1320 return TO_OBJECT(x); |
| 1322 } | 1321 } |
| 1323 | 1322 |
| 1324 | 1323 |
| 1325 // ---------------------------------------------------------------------------- | 1324 // ---------------------------------------------------------------------------- |
| 1326 // Object | 1325 // Object |
| 1327 | 1326 |
| 1328 %SetNativeFlag(GlobalObject); | 1327 %SetNativeFlag(GlobalObject); |
| 1329 %SetCode(GlobalObject, ObjectConstructor); | 1328 %SetCode(GlobalObject, ObjectConstructor); |
| 1330 | 1329 |
| 1331 %AddNamedProperty(GlobalObject.prototype, "constructor", GlobalObject, | 1330 %AddNamedProperty(GlobalObject.prototype, "constructor", GlobalObject, |
| (...skipping 517 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1849 | 1848 |
| 1850 %InstallToContext([ | 1849 %InstallToContext([ |
| 1851 "global_eval_fun", GlobalEval, | 1850 "global_eval_fun", GlobalEval, |
| 1852 "object_value_of", ObjectValueOf, | 1851 "object_value_of", ObjectValueOf, |
| 1853 "object_to_string", ObjectToString, | 1852 "object_to_string", ObjectToString, |
| 1854 "object_get_own_property_descriptor", ObjectGetOwnPropertyDescriptor, | 1853 "object_get_own_property_descriptor", ObjectGetOwnPropertyDescriptor, |
| 1855 "to_complete_property_descriptor", ToCompletePropertyDescriptor, | 1854 "to_complete_property_descriptor", ToCompletePropertyDescriptor, |
| 1856 ]); | 1855 ]); |
| 1857 | 1856 |
| 1858 }) | 1857 }) |
| OLD | NEW |