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

Reply via email to