[Webkit-unassigned] [Bug 119216] New: Getter, setter function expressions are generated twice

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Jul 29 06:10:22 PDT 2013


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

           Summary: Getter, setter function expressions are generated
                    twice
           Product: WebKit
           Version: 528+ (Nightly build)
          Platform: All
        OS/Version: All
            Status: UNCONFIRMED
          Severity: Normal
          Priority: P3
         Component: JavaScriptCore
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: hongjune.kim at gmail.com


When bytecode is generated from PropertyListNode, some getter/setter function is emitted twice.

Example code:

var testObject = {
    get prop_a() {
        return _prop_a;
    },
    set prop_a(a) {
        _prop_a = a;
    }
};

Generated bytecode:

[   1] mov         r0, Undefined(@k0)
[   4] resolve_scope     r1, testObject(@id0)
[   9] new_object     r2, 1
[  13] new_func_exp     r3, f0
[  16] new_func_exp     r4, f1
[  19] put_getter_setter     r2, prop_a(@id1), r3, r4
[  24] new_func_exp     r3, f2
[  27] put_to_scope     r1, testObject(@id0), r2, 65537
[  34] end         r0

set prop_a is emmited twice and thus, function expression is generated twice (f1, f2).

I don`t think this is intentional.

I have looked into the code and this was because getter and setter codes are matched, but skipping the second emit was done properly.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list