1. 20 Sep, 2016 1 commit
    • 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
  2. 16 Sep, 2016 1 commit
  3. 12 Sep, 2016 4 commits
  4. 07 Sep, 2016 1 commit
    • jochen's avatar
      Chain ScopeInfos together · ce3f46b1
      jochen authored
      This will allow getting the entire scope chain from a SharedFunctionInfo
      which in turn will allow for generating bytecode when we just have the
      SFI
      
      R=verwaest@chromium.org,marja@chromium.org
      BUG=v8:5215
      
      Review-Url: https://codereview.chromium.org/2271993002
      Cr-Commit-Position: refs/heads/master@{#39243}
      ce3f46b1
  5. 06 Sep, 2016 1 commit
  6. 05 Sep, 2016 1 commit
    • jochen's avatar
      Store the scope info in catch contexts · 9b6ff3a8
      jochen authored
      Since the extension field is already used for the catch name, store a
      ContextExtension there instead.
      
      In the future, this will allow for chaining ScopeInfos together, so we
      no longer need a context chain for lazy parsing / compilation.
      
      BUG=v8:5215
      R=bmeurer@chromium.org,neis@chromium.org,marja@chromium.org
      
      Review-Url: https://codereview.chromium.org/2302013002
      Cr-Commit-Position: refs/heads/master@{#39164}
      9b6ff3a8
  7. 01 Sep, 2016 1 commit
  8. 31 Aug, 2016 1 commit
    • adamk's avatar
      Remove CONST_LEGACY VariableMode · 7516fe1e
      adamk authored
      The only remaining use of this VariableMode is for the names of sloppy
      named function expressions. This patch instead uses CONST for such
      bindings (just as we do in strict mode) and instead marks those
      Variables specially. During code generation a new helper method,
      Variable::throw_on_const_assignment(), is called to decide whether
      to throw or silently ignore the assignment.
      
      Review-Url: https://codereview.chromium.org/2233673003
      Cr-Commit-Position: refs/heads/master@{#39052}
      7516fe1e
  9. 29 Aug, 2016 1 commit
  10. 04 Aug, 2016 1 commit
  11. 02 Aug, 2016 2 commits
  12. 01 Aug, 2016 1 commit
  13. 18 Jul, 2016 1 commit
    • neis's avatar
      [modules] AST and parser rework. · 0e000a87
      neis authored
      Highlights:
      - Record all imports and exports in the ModuleDescriptor.
      - Remove ImportDeclaration; instead, introduce a new variable kind for imports.
      - Set name on default exported anonymous functions.
      
      Still to do: declaration of namespace imports.
      
      BUG=v8:1569
      
      Review-Url: https://codereview.chromium.org/2108193003
      Cr-Commit-Position: refs/heads/master@{#37815}
      0e000a87
  14. 06 Jun, 2016 1 commit
  15. 12 May, 2016 1 commit
  16. 19 Apr, 2016 1 commit
    • adamk's avatar
      Remove all non-function-name uses of CONST_LEGACY · 59546149
      adamk authored
      Now that all 'const' declarations are of the ES2015 variety, the only
      use of CONST_LEGACY is for function name bindings in sloppy mode
      named function expressions.
      
      This patch aims to delete all code meant to handle other cases, which
      mostly had to do with hole initialization/hole checks. Since function
      name bindings are initialized at entry to a function, it's impossible
      to ever observe one in an uninitialized state.
      
      To simplify the patch further, it removes the `IMPORT` VariableMode,
      as it's not likely to be needed (IMPORT is identical to CONST for
      the purpose of VariableMode).
      
      Review URL: https://codereview.chromium.org/1895973002
      
      Cr-Commit-Position: refs/heads/master@{#35632}
      59546149
  17. 31 Mar, 2016 1 commit
  18. 08 Mar, 2016 1 commit
  19. 07 Mar, 2016 1 commit
  20. 01 Feb, 2016 1 commit
    • yangguo's avatar
      [debugger] correctly find function context. · 835b0383
      yangguo authored
      In the debugger we are interested in getting the context for the
      current frame, which is usually a function context. To do that,
      we used to call Context::declaration_context, which may also
      return a block context. This is wrong and can lead to crashes.
      Instead, we now use a newly introduced Context::closure_context,
      which skips block contexts. This works fine for the debugger,
      since we have other means to find and materialize block contexts.
      
      R=rossberg@chromium.org
      BUG=chromium:582051
      LOG=N
      
      Review URL: https://codereview.chromium.org/1648263002
      
      Cr-Commit-Position: refs/heads/master@{#33627}
      835b0383
  21. 19 Jan, 2016 1 commit
  22. 10 Dec, 2015 1 commit
  23. 30 Nov, 2015 2 commits
  24. 27 Nov, 2015 3 commits
  25. 26 Nov, 2015 1 commit
  26. 06 Nov, 2015 1 commit
  27. 02 Nov, 2015 2 commits
  28. 12 Oct, 2015 1 commit
    • littledan's avatar
      Test for var declarations in eval which conflict with let · d515e513
      littledan authored
      Previously, name conflicts between var and let declarations were only
      made into exceptions if they were visible at parse-time. This patch adds
      runtime checks so that sloppy-mode direct eval can't introduce conflicting
      var declarations. The change is implemented by traversing the scope chain
      when a direct eval introduces a var declaration to look for conflicting
      let declarations, up to the function boundary.
      
      BUG=v8:4454
      R=adamk
      LOG=Y
      
      Review URL: https://codereview.chromium.org/1382513003
      
      Cr-Commit-Position: refs/heads/master@{#31211}
      d515e513
  29. 10 Sep, 2015 1 commit
  30. 01 Sep, 2015 2 commits
  31. 27 Aug, 2015 1 commit