Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 4b3e163cef0b7398a4c908e78a5c41b0935241a4
https://github.com/WebKit/WebKit/commit/4b3e163cef0b7398a4c908e78a5c41b0935241a4
Author: Sosuke Suzuki <[email protected]>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
A JSTests/stress/asynciterator-prototype-symbol-async-dispose.js
A JSTests/stress/iterator-prototype-symbol-dispose.js
M JSTests/test262/config.yaml
M Source/JavaScriptCore/CMakeLists.txt
M Source/JavaScriptCore/DerivedSources.make
M Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj
A Source/JavaScriptCore/builtins/AsyncIteratorPrototype.js
M Source/JavaScriptCore/builtins/BuiltinNames.cpp
M Source/JavaScriptCore/builtins/BuiltinNames.h
M Source/JavaScriptCore/builtins/JSIteratorPrototype.js
M Source/JavaScriptCore/runtime/AsyncIteratorPrototype.cpp
M Source/JavaScriptCore/runtime/CommonIdentifiers.cpp
M Source/JavaScriptCore/runtime/CommonIdentifiers.h
M Source/JavaScriptCore/runtime/JSIteratorPrototype.cpp
M Source/JavaScriptCore/runtime/OptionsList.h
M Source/JavaScriptCore/runtime/SymbolConstructor.cpp
Log Message:
-----------
[JSC] Support `@@dispose` and `@@asyncDispose` from Explicit Resource
Management Proposal
https://bugs.webkit.org/show_bug.cgi?id=292523
Reviewed by Yusuke Suzuki.
This patch implements following builtins from Explicit Resouce
Management Proposal[1]:
- Symbol.dispose and Symbol.asyncDispose[2]
- %IteratorPrototype%.@@dispose[3]
- %AsyncIteratorPrototype%.@@asyncDispose[4]
[1]: https://github.com/tc39/proposal-explicit-resource-management
[2]:
https://tc39.es/proposal-explicit-resource-management/#sec-well-known-symbols
[3]:
https://tc39.es/proposal-explicit-resource-management/#sec-%iteratorprototype%-@@dispose
[4]:
https://tc39.es/proposal-explicit-resource-management/#sec-%asynciteratorprototype%-object
* JSTests/stress/asynciterator-prototype-symbol-async-dispose.js: Added.
(shouldBe):
(shouldThrowAsync):
(async generator):
(const.AsyncIteratorPrototype.Object.getPrototypeOf.Object.getPrototypeOf.generator.prototype.test):
(return.AsyncIteratorPrototype.Symbol.asyncDispose.call.const.obj.get return):
(return.AsyncIteratorPrototype.Symbol.asyncDispose.call):
(shouldBe.OurError):
(shouldBe.const.obj.get return):
(async OurError):
(OurError):
(const.obj.async return):
* JSTests/stress/iterator-prototype-symbol-dispose.js: Added.
(shouldBe):
(test):
(return.Iterator.prototype.Symbol.dispose.call.const.obj.get return):
(return.Iterator.prototype.Symbol.dispose.call):
* JSTests/test262/config.yaml:
* Source/JavaScriptCore/CMakeLists.txt:
* Source/JavaScriptCore/DerivedSources.make:
* Source/JavaScriptCore/builtins/AsyncIteratorPrototype.js: Added.
(overriddenName.string_appeared_here.asyncDispose):
* Source/JavaScriptCore/builtins/BuiltinNames.cpp:
(JSC::BuiltinNames::BuiltinNames):
* Source/JavaScriptCore/builtins/BuiltinNames.h:
* Source/JavaScriptCore/builtins/JSIteratorPrototype.js:
(overriddenName.string_appeared_here.dispose):
* Source/JavaScriptCore/runtime/AsyncIteratorPrototype.cpp:
(JSC::AsyncIteratorPrototype::finishCreation):
* Source/JavaScriptCore/runtime/CommonIdentifiers.cpp:
(JSC::CommonIdentifiers::CommonIdentifiers):
* Source/JavaScriptCore/runtime/CommonIdentifiers.h:
* Source/JavaScriptCore/runtime/JSIteratorPrototype.cpp:
(JSC::JSIteratorPrototype::finishCreation):
* Source/JavaScriptCore/runtime/OptionsList.h:
* Source/JavaScriptCore/runtime/SymbolConstructor.cpp:
(JSC::SymbolConstructor::finishCreation):
Canonical link: https://commits.webkit.org/294592@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes