[Webkit-unassigned] [Bug 142862] New: ES6 Classes: Runtime error in JIT'd class calling super() with arguments and superclass has default constructor

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Mar 19 00:10:49 PDT 2015


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

            Bug ID: 142862
           Summary: ES6 Classes: Runtime error in JIT'd class calling
                    super() with arguments and superclass has default
                    constructor
    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: joepeck at webkit.org
                CC: ggaren at apple.com, rniwa at webkit.org

* SUMMARY
Runtime error in JIT'd class calling super() with arguments and superclass has default constructor. Doesn't happen if just called a few times.

* TEST
<script>
var A = class A { };
var B = class B extends A { };
var C = class C extends B { constructor() { super(); } };

(function() {
    var x;
    for (var i = 0; i < 1e5; ++i)
        x = new C(false); // NOTE: argument is important
    console.log(x);
})();
</script>

* ACTUAL
[Error] TypeError: undefined is not a constructor (evaluating 'super(...arguments)')

* EXPECTED
=> no exceptions.

* NOTES
- adding a "constructor() { super(); }" to class B this works.
- if the inspector is open this works, so the inspector likely prevents reaching a certain JIT tier

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20150319/43478334/attachment-0002.html>


More information about the webkit-unassigned mailing list