[Webkit-unassigned] [Bug 147330] New: [ES6] Support Reflect.construct

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Jul 27 12:07:30 PDT 2015


https://bugs.webkit.org/show_bug.cgi?id=147330

            Bug ID: 147330
           Summary: [ES6] Support Reflect.construct
    Classification: Unclassified
           Product: WebKit
           Version: 528+ (Nightly build)
          Hardware: Unspecified
                OS: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: JavaScriptCore
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: utatane.tea at gmail.com

Reflect.construct has the crazy part in the spec.
It can replace the `newTarget` dynamically.
Since the current JSC has an assumption that `newTarget` is fixed when the derived constructor is defined, it breaks this assumption.

For example,

Reflect.construct(function () { }, [], Map)

does not work (breaks in LLInt layer) because the byte code op_create_this assumes that the newTarget is always the JSFunction (not InternalFunction).

I think Reflect.construct is the only place where we can replace the newTarget dynamically.
So the easiest way to implement it is adding a special (slow) path to Reflect.construct.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.webkit.org/pipermail/webkit-unassigned/attachments/20150727/9017e7d1/attachment.html>


More information about the webkit-unassigned mailing list