1. 03 May, 2022 1 commit
  2. 24 Jun, 2019 1 commit
  3. 03 May, 2019 1 commit
  4. 01 May, 2019 1 commit
  5. 24 Apr, 2019 2 commits
  6. 16 Apr, 2019 1 commit
    • Joyee Cheung's avatar
      [ast] simplify ClassScope::ResolvePrivateNamesPartially · 9ace845f
      Joyee Cheung authored
      Previously when an unresolved private name is not found
      in the current scope but found in an outer class scope,
      we forget to push it to the outer class scope so the
      name would never get bound.
      
      This patch simplifies ClassScope::ResolvePrivateNamesPartially()
      and removes the search in outer class scopes since they are incomplete
      at this point. Instead just push any private name that can't be
      resolved in the current scope to the outer class scope so that it
      gets handled later when the outer class scope is complete.
      
      Bug: chromium:952722
      Change-Id: Ia0dda74cac57a0a1e25a9a09575f55633c6093b5
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1567709Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
      Commit-Queue: Joyee Cheung <joyee@igalia.com>
      Cr-Commit-Position: refs/heads/master@{#60863}
      9ace845f
  7. 11 Feb, 2019 1 commit
  8. 11 Dec, 2018 1 commit
  9. 09 Nov, 2018 1 commit
  10. 24 Oct, 2018 1 commit
    • Caitlin Potter's avatar
      [async-await] remove CSA_SLOW_ASSERT in AsyncGeneratorResolve · 9867aa3f
      Caitlin Potter authored
      The assertion was intended to verify that the function is only called
      at appropriate times (at a point when it was called both by by other builtins, and by desugarings added in the parser and during bytecode generation) --- However, it didn't account for the case where
      the wrapper Promise is resolved with another JSPromise with a
      non-callable "then" method. (Step 12 of
      https://tc39.github.io/ecma262/#sec-promise-resolve-functions):
      
      "If IsCallable(thenAction) is false, then
          Return FulfillPromise(promise, resolution)."
      
      It would be observable to verify this behaviour by loading the "then"
      value and asserting that it's non-callable, so instead the CSA_ASSERT
      is just removed and replaced with a comment explaining the appropriate
      use of the function.
      
      BUG=chromium:897436, v8:5855
      R=bmeurer@chromium.org
      
      Change-Id: Ib4b11abfe3339409b57ccfda9c3f75a34e0db532
      Reviewed-on: https://chromium-review.googlesource.com/c/1296909
      Commit-Queue: Caitlin Potter <caitp@igalia.com>
      Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#56916}
      9867aa3f
  11. 12 Jan, 2018 1 commit
  12. 28 Nov, 2017 1 commit
  13. 10 Oct, 2017 1 commit
  14. 04 Oct, 2017 1 commit
    • Caitlin Potter's avatar
      [esnext] initialize native_context()->initial_async_generator_prototype · f3fb1b77
      Caitlin Potter authored
      Fix an error overwriting the `prototype` property of async generator
      functions when FLAG_enable_slow_asserts is enabled.
      
      Previously, the `initial_async_generator_prototype` field was never
      written to the native context, and was always undefined. This caused
      some incorrect runtime behaviour, and would crash when loading the field
      using the Context::initial_aysnc_generator_prototype accessor when
      attempting to cast the Undefined oddball to a JSObject.
      
      BUG=chromium:771470, v8:5855
      R=adamk@chromium.org, verwaest@chromium.org, gsathya@chromium.org
      
      Change-Id: I13f2a518c59852bc77c2de1f2468a4eea457609e
      Reviewed-on: https://chromium-review.googlesource.com/700261Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
      Commit-Queue: Caitlin Potter <caitp@igalia.com>
      Cr-Commit-Position: refs/heads/master@{#48291}
      f3fb1b77
  15. 24 May, 2017 1 commit
  16. 15 Mar, 2017 1 commit
  17. 10 Jan, 2017 1 commit
  18. 25 Jul, 2016 1 commit
  19. 11 Jul, 2016 1 commit
  20. 22 Jun, 2016 1 commit
  21. 21 Jun, 2016 1 commit
  22. 13 Jun, 2016 1 commit
  23. 22 Apr, 2016 1 commit
  24. 15 Apr, 2016 1 commit
  25. 08 Apr, 2016 1 commit
  26. 22 Mar, 2016 1 commit
    • adamk's avatar
      Remove support for legacy const, part 1 · ed18aa65
      adamk authored
      Now that ES2015 const has shipped, in Chrome 49, legacy const declarations
      are no more. This lets us remove a bunch of code from many parts of the
      codebase.
      
      In this patch, I remove parser support for generating legacy const variables
      from const declarations. This also removes the special "illegal declaration"
      bit from Scope, which has ripples into all compiler backends.
      
      Also gone are any tests which relied on legacy const declarations.
      
      Note that we do still generate a Variable in mode CONST_LEGACY in one case:
      function name bindings in sloppy mode. The likely fix there is to add a new
      Variable::Kind for this case and handle it appropriately for stores in each
      backend, but I leave that for a later patch to make this one completely
      subtractive.
      
      Review URL: https://codereview.chromium.org/1819123002
      
      Cr-Commit-Position: refs/heads/master@{#35002}
      ed18aa65
  27. 21 Mar, 2016 1 commit
  28. 18 Mar, 2016 1 commit
  29. 15 Mar, 2016 1 commit
    • adamk's avatar
      Remove --harmony-modules flag and let embedder decide when modules are used · 5a202cce
      adamk authored
      Modules already have a separate entrypoint into the engine (at the moment,
      this is v8::ScriptCompiler::CompileModule, though that will change to
      something like ParseModule). This meant that requiring a commandline flag
      simply added an extra complexity burden on embedders. By removing the v8
      flag, this lets embedders use their own flagging mechanism (such as d8's
      "--module", or Blink's RuntimeEnabledFeatures) to control whether
      modules are to be used.
      
      Also remove old modules tests that were being skipped (since they test
      very old, pre-ES2015 modules syntax).
      
      R=littledan@chromium.org
      BUG=v8:1569, chromium:594639
      LOG=y
      
      Review URL: https://codereview.chromium.org/1804693002
      
      Cr-Commit-Position: refs/heads/master@{#34764}
      5a202cce
  30. 10 Mar, 2016 1 commit
  31. 01 Mar, 2016 1 commit
  32. 25 Feb, 2016 1 commit
    • littledan's avatar
      Ship ES2015 iterator finalization · 227fd1d4
      littledan authored
      This patch moves iterator finalization (calling .return() when a
      for-of loop exits early) to shipping. The only part of this feature
      which is currently known to be missing is destructuring--.return()
      should be also be called when destructuring with an array which
      does not end in a rest pattern, but it currently does not. The rest
      of this feature, including calling .return() from certain builtins,
      is implemented.
      
      R=adamk
      BUG=v8:3566
      LOG=Y
      
      Review URL: https://codereview.chromium.org/1738463003
      
      Cr-Commit-Position: refs/heads/master@{#34307}
      227fd1d4
  33. 23 Feb, 2016 1 commit
    • mstarzinger's avatar
      [fullcodegen] Implement operand stack depth tracking. · 38915ed7
      mstarzinger authored
      This implements a mechanism to track the exact depth of the operand
      stack in full-codegen for every sub-expression visitation. So far we
      only tracked the depth at statement level, but not at expression level.
      With the introduction of do-expressions it will be possible to construct
      local control flow (i.e. break, continue and friends) that target labels
      at an arbitrary operand stack depth, making this tracking a prerequisite
      for full do-expression support.
      
      R=rossberg@chromium.org,jarin@chromium.org
      BUG=v8:4755,v8:4488
      LOG=n
      
      Review URL: https://codereview.chromium.org/1706283002
      
      Cr-Commit-Position: refs/heads/master@{#34211}
      38915ed7
  34. 21 Jan, 2016 1 commit
  35. 18 Jan, 2016 1 commit
    • nikolaos's avatar
      Fix re-indexing for literals in do-expressions · 9ed5596a
      nikolaos authored
      This became temporarily a big issue, because spreads are desugared
      into do-expressions.  This patch fixes the problem with having
      spreads as parameter initializers in arrow expressions, e.g., this
      line would crash:
      
          [], ((x = [...[42]]) => x)();
      
      R=rossberg@chromium.org
      BUG=chromium:578038
      LOG=N
      
      Review URL: https://codereview.chromium.org/1581403007
      
      Cr-Commit-Position: refs/heads/master@{#33365}
      9ed5596a
  36. 14 Jan, 2016 1 commit
    • rossberg's avatar
      Don't pre-initialise block contexts with holes · 92e6f7a3
      rossberg authored
      Respective declarations will explicitly initialise slots
      with the hole anyway, so this always was unnecessary.
      With varblocks it even became wrong, because block contexts
      may now host var bindings, which want undefined.
      
      Fixes the hole leaking when accessing an unitialised,
      block-context-allocated var.
      
      R=neis@chromium.org
      BUG=571149
      LOG=N
      
      Review URL: https://codereview.chromium.org/1584243002
      
      Cr-Commit-Position: refs/heads/master@{#33309}
      92e6f7a3
  37. 12 Jan, 2016 1 commit
  38. 08 Jan, 2016 2 commits
    • littledan's avatar
      Reland of Ship ES2015 sloppy-mode function hoisting, let, class (patchset #1... · 23235b5f
      littledan authored
      Reland of Ship ES2015 sloppy-mode function hoisting, let, class (patchset #1 id:1 of https://codereview.chromium.org/1565263002/ )
      
      Reason for revert:
      Crash fixed by https://codereview.chromium.org/1564923007
      
      Original issue's description:
      > Revert of Ship ES2015 sloppy-mode function hoisting, let, class (patchset #7 id:120001 of https://codereview.chromium.org/1551443002/ )
      >
      > Reason for revert:
      > Causes frequent crashes in Canary: chromium:537816
      >
      > Original issue's description:
      > > Ship ES2015 sloppy-mode function hoisting, let, class
      > >
      > > This patch doesn't ship all features of ES2015 variable/scoping
      > > changes, notably omitting the removal of legacy const. I think
      > > function hoisting, let and class in sloppy mode can stand to
      > > themselves as a package, and the legacy const change is much
      > > riskier and more likely to be reverted, so my intention is to
      > > pursue those as a separate, follow-on patch.
      > >
      > > R=adamk@chromium.org
      > > BUG=v8:4285,v8:3305
      > > LOG=Y
      > > CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel
      > >
      > > Committed: https://crrev.com/fcff8588a5a01587643d6c2507c7b882c78a2957
      > > Cr-Commit-Position: refs/heads/master@{#33133}
      >
      > TBR=adamk@chromium.org
      > # Not skipping CQ checks because original CL landed more than 1 days ago.
      > BUG=v8:4285,v8:3305,chromium:537816
      > LOG=Y
      >
      > Committed: https://crrev.com/adac5956c6216056a211cfaa460a00ac1500d8f8
      > Cr-Commit-Position: refs/heads/master@{#33162}
      
      TBR=adamk@chromium.org
      # Skipping CQ checks because original CL landed less than 1 days ago.
      NOPRESUBMIT=true
      NOTREECHECKS=true
      NOTRY=true
      BUG=v8:4285,v8:3305,chromium:537816
      
      Review URL: https://codereview.chromium.org/1571793002
      
      Cr-Commit-Position: refs/heads/master@{#33189}
      23235b5f
    • nikolaos's avatar
      Fix for temporaries in parameter initializers · 0406fa22
      nikolaos authored
      This patch introduces a mechanism for changing the scope of temporary
      variables, which is necessary for rewriting arrow parameter
      initializers.
      
      It also fixes a potential bug in AstExpressionVisitor, which did not
      visit the automatically generated members of ForEachStatement.
      
      Fixes test/mjsunit/harmony/regress/regress-4658.js
      
      R=rossberg@chromium.org
      BUG=v8:4658
      LOG=N
      
      Review URL: https://codereview.chromium.org/1564343002
      
      Cr-Commit-Position: refs/heads/master@{#33183}
      0406fa22