1. 21 Sep, 2016 35 commits
  2. 20 Sep, 2016 5 commits
    • adamk's avatar
      [modules] Expand API to allow linking and use it in d8 · cf127e81
      adamk authored
      This patch gives the ability for the embedder to ask for the
      module requests of a module, and to pass a ResolveCallback
      into Module::Instantiate().
      
      In d8, I've implemented a simple module_map that's used
      along with this API to allow loading, compiling, instantiating,
      and evaluating a whole tree of modules.
      
      No path resolution is yet implemented, meaning that all
      import paths are relative to whatever directory d8 runs
      in. And no imports are linked to the exports of the
      requested module.
      
      BUG=v8:1569
      
      Review-Url: https://codereview.chromium.org/2351113004
      Cr-Commit-Position: refs/heads/master@{#39569}
      cf127e81
    • neis's avatar
      [modules] Also (de-)serialize imports. · a037f350
      neis authored
      This is in preparation for basic support of import statements.
      
      R=adamk@chromium.org
      BUG=v8:1569
      
      Review-Url: https://codereview.chromium.org/2357003002
      Cr-Commit-Position: refs/heads/master@{#39568}
      a037f350
    • littledan's avatar
      Filter out synthetic variables from with scopes · dcd61b90
      littledan authored
      This patch ensures that variables like .new_target aren't overwritable
      using with scopes. It does this by ensuring that scope analysis does
      not consider with scopes (or eval scopes) for such 'synthetic variables',
      similarly to how the 'this' variable was already handled.
      The patch also adds a DCHECK for the dynamic parallel to this case,
      replacing a previous unreachable path for a particular instance.
      
      BUG=v8:5405
      
      Review-Url: https://codereview.chromium.org/2353623002
      Cr-Commit-Position: refs/heads/master@{#39567}
      dcd61b90
    • littledan's avatar
      Remove synthetic unresolved variables from async/await desugaring · bd078193
      littledan authored
      This patch uses temporaries rather than unresolved variables for
      .promise and .debug_is_active. For .promise, a new field is added
      to the FunctionState, similarly to .generator_object. This change
      fixes a bug where .promise was locally shadowable by with, affecting
      program semantics.
      
      BUG=v8:5405
      
      Review-Url: https://codereview.chromium.org/2359513002
      Cr-Commit-Position: refs/heads/master@{#39566}
      bd078193
    • littledan's avatar
      Make Promise.all/Promise.race catch prediction conditional on DevTools · 37735851
      littledan authored
      To improve performance, this patch makes Promise.all and Promise.race not
      perform correct catch prediction when the debugger is not open. The case
      may come up if Promise.race or Promise.all is called, then DevTools is
      open, then a component Promise is rejected. In this case, the user would
      falsely get an exception event even if the "pause on caught exceptions"
      box is unchecked. There are tests which triggered this case; however, it
      seems both unlikely and and acceptable to have an event in this case.
      Many analogous events are already produced when DevTools is enabled
      during the operation of a program.
      
      BUG=v8:3093
      
      Review-Url: https://codereview.chromium.org/2350363002
      Cr-Commit-Position: refs/heads/master@{#39565}
      37735851