[JSC] Update module namespace object according to the latest ECMA262
authorutatane.tea@gmail.com <utatane.tea@gmail.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 16 Feb 2017 12:41:06 +0000 (12:41 +0000)
committerutatane.tea@gmail.com <utatane.tea@gmail.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 16 Feb 2017 12:41:06 +0000 (12:41 +0000)
commita7f7054370c72b699ecc2583e3ba55a1d36e8833
tree7d1ff1973955913d0e50febe7234e6be5ee426f3
parent04f7f9c4f78ccda29cde9611267cf4287470a56e
[JSC] Update module namespace object according to the latest ECMA262
https://bugs.webkit.org/show_bug.cgi?id=168280

Reviewed by Saam Barati.

JSTests:

* modules/namespace-object-symbol-iterator-name.js:
* modules/namespace-object-typed-array-fast-path.js:
* modules/namespace.js:
(shouldBe.JSON.stringify.Reflect.getOwnPropertyDescriptor):
(shouldThrow):

Source/JavaScriptCore:

Reflect updates to the module namespace object.

1. @@iterator property is dropped[1].
2. @@toStringTag property becomes non-configurable[1].
3. delete with Symbol should be delegated to the JSObject's one[2].

[1]: https://tc39.github.io/ecma262/#sec-module-namespace-objects
[2]: https://github.com/tc39/ecma262/pull/767

* runtime/JSModuleNamespaceObject.cpp:
(JSC::JSModuleNamespaceObject::finishCreation):
(JSC::JSModuleNamespaceObject::deleteProperty):
(JSC::moduleNamespaceObjectSymbolIterator): Deleted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212430 268f45cc-cd09-0410-ab3c-d52691b4dbfc
JSTests/ChangeLog
JSTests/modules/namespace-object-symbol-iterator-name.js
JSTests/modules/namespace-object-typed-array-fast-path.js
JSTests/modules/namespace.js
Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/runtime/JSModuleNamespaceObject.cpp