Skip to content
This repository has been archived by the owner on Feb 12, 2022. It is now read-only.

Weird things are happening with internal slots in effectful generators #1856

Closed
NTillmann opened this issue May 3, 2018 · 1 comment
Closed
Assignees
Labels
abstract bug design needed optimized functions Issues around optimizing not global code, but additional functions serializer

Comments

@NTillmann
Copy link
Contributor

NTillmann commented May 3, 2018

This serializer test fails.

(function () {
    let p = {};
    function f(c) {
        let o = {};
        if (c) {
            o.__proto__ = p;
            throw o;
        }
    }
    if (global.__optimize) __optimize(f);
    inspect = function() { try { f(true); } catch (e) { return e.$Prototype === p; } }
})();

The underlying issue is that a ModifiedPropertyEntry is created for $Prototype.

@NTillmann NTillmann added bug serializer abstract optimized functions Issues around optimizing not global code, but additional functions design needed labels May 3, 2018
@NTillmann NTillmann self-assigned this May 10, 2018
@NTillmann
Copy link
Contributor Author

At the very least, or as the first step, this should be detected and an error should be logged.

NTillmann added a commit that referenced this issue May 10, 2018
…slots

Release notes: None

This fixes #1856, at least in the sense that Prepack won't silently generate wrong code.
Instead, Prepack will now issue an error indicating that a Prepack limitation was hit.

Adding error-handler regression test.
NTillmann added a commit that referenced this issue May 10, 2018
…slots

Release notes: None

This fixes #1856, at least in the sense that Prepack won't silently generate wrong code.
Instead, Prepack will now issue an error indicating that a Prepack limitation was hit.

Adding error-handler regression test.

Also fixed reference to PP1023 (no wiki page) to be PP0023 (matching wiki page) instead.
NTillmann added a commit that referenced this issue May 10, 2018
…slots

Release notes: None

This fixes #1856, at least in the sense that Prepack won't silently generate wrong code.
Instead, Prepack will now issue an error indicating that a Prepack limitation was hit.

Adding error-handler regression test.

Also fixed reference to PP1023 (no wiki page) to be PP0023 (matching wiki page) instead.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
abstract bug design needed optimized functions Issues around optimizing not global code, but additional functions serializer
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant