Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 0b65fe084beda2a9ad3a61eec779f2f6f32e075c
      
https://github.com/WebKit/WebKit/commit/0b65fe084beda2a9ad3a61eec779f2f6f32e075c
  Author: Yusuke Suzuki <[email protected]>
  Date:   2025-11-12 (Wed, 12 Nov 2025)

  Changed paths:
    M Source/JavaScriptCore/builtins/GeneratorPrototype.js

  Log Message:
  -----------
  [JSC] Do not separately have object literals for iterator results in 
generatorResume
https://bugs.webkit.org/show_bug.cgi?id=302387
rdar://164544339

Reviewed by Keith Miller.

Currently FTL ObjectAllocationSinking can eliminate object allocation
only when allocation site is merged into one place. So,

    function inlined() {
        ...
        if (cond) {
            return { value, done };
        return { value, done };
    }

    function caller() {
        var object = inlined();
        ...
    }

In the above case, object ends up allocated unfortunately. In this
patch, we ensure that iterator result object from generator is always
allocated from one site to ensure that this object can be eliminated if
generator#next is inlined.

* Source/JavaScriptCore/builtins/GeneratorPrototype.js:
(linkTimeConstant.generatorResume):
(next):
(return):
(throw):

Canonical link: https://commits.webkit.org/302914@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to