• neis's avatar
    Reland: [modules] Properly initialize declared variables. · 8c52a411
    neis authored
    Before evaluating a module, all variables declared at the top-level
    in _any_ of the modules in the dependency graph must be initialized.
    This is observable because a module A can access a variable imported
    from module B (e.g. a function) at a point when module B's body hasn't
    been evaluated yet.
    
    We achieve this by implementing modules internally as generators with
    two states (not initialized, initialized).
    
    R=adamk@chromium.org
    BUG=v8:1569
    CQ_INCLUDE_TRYBOTS=master.tryserver.v8:v8_win_dbg
    
    Committed: https://crrev.com/f4dfb6fbe1cdd9a0f287a1a9c496e1f69f6f5d20
    Review-Url: https://codereview.chromium.org/2375793002
    Cr-Original-Commit-Position: refs/heads/master@{#39871}
    Cr-Commit-Position: refs/heads/master@{#39892}
    8c52a411
modules-error-trace.js 344 Bytes