1. 22 Oct, 2017 1 commit
  2. 16 Oct, 2017 2 commits
  3. 13 Oct, 2017 3 commits
  4. 12 Oct, 2017 1 commit
  5. 11 Oct, 2017 2 commits
    • Jan Krems's avatar
      Reland "[modules] Implement import.meta proposal" · 1c552999
      Jan Krems authored
      This is a reland of ed6f00fb
      Original change's description:
      > [modules] Implement import.meta proposal
      > 
      > Rewrites references to import.meta to a new GetImportMetaObject runtime
      > call. Embedders can define a callback for creating the meta object using
      > v8::Isolate::SetHostGetImportMetaObjectCallback. If no callback has been
      > provided, an empty object with null prototype is created.
      > 
      > This adds an example implementation to d8 that sets meta.url.
      > 
      > Bug: v8:6693
      > Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      > Change-Id: I6871eec79da45bba81bbbc84b1ffff48534c368d
      > Reviewed-on: https://chromium-review.googlesource.com/707902
      > Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
      > Reviewed-by: Adam Klein <adamk@chromium.org>
      > Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#48433}
      
      TBR=adamk@chromium.org
      
      Bug: v8:6693
      Change-Id: Ie2d746ad996a56ed6ff50b832f320fe44e02f231
      Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      Reviewed-on: https://chromium-review.googlesource.com/712834Reviewed-by: 's avatarSathya Gunasekaran <gsathya@chromium.org>
      Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#48468}
      1c552999
    • Sathya Gunasekaran's avatar
      Revert "[modules] Implement import.meta proposal" · a5565227
      Sathya Gunasekaran authored
      This reverts commit ed6f00fb.
      
      Reason for revert: tree is broken
      
      NOTRY=true
      NOTREECHECKS=true
      
      Original change's description:
      > [modules] Implement import.meta proposal
      > 
      > Rewrites references to import.meta to a new GetImportMetaObject runtime
      > call. Embedders can define a callback for creating the meta object using
      > v8::Isolate::SetHostGetImportMetaObjectCallback. If no callback has been
      > provided, an empty object with null prototype is created.
      > 
      > This adds an example implementation to d8 that sets meta.url.
      > 
      > Bug: v8:6693
      > Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      > Change-Id: I6871eec79da45bba81bbbc84b1ffff48534c368d
      > Reviewed-on: https://chromium-review.googlesource.com/707902
      > Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
      > Reviewed-by: Adam Klein <adamk@chromium.org>
      > Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#48433}
      
      TBR=adamk@chromium.org,gsathya@chromium.org,jan.krems@groupon.com
      
      Change-Id: I908a508d5db84cc8ae60d4fd4a0446bb570c1492
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:6693
      Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      Reviewed-on: https://chromium-review.googlesource.com/710760Reviewed-by: 's avatarSathya Gunasekaran <gsathya@chromium.org>
      Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#48434}
      a5565227
  6. 10 Oct, 2017 1 commit
    • Jan Krems's avatar
      [modules] Implement import.meta proposal · ed6f00fb
      Jan Krems authored
      Rewrites references to import.meta to a new GetImportMetaObject runtime
      call. Embedders can define a callback for creating the meta object using
      v8::Isolate::SetHostGetImportMetaObjectCallback. If no callback has been
      provided, an empty object with null prototype is created.
      
      This adds an example implementation to d8 that sets meta.url.
      
      Bug: v8:6693
      Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      Change-Id: I6871eec79da45bba81bbbc84b1ffff48534c368d
      Reviewed-on: https://chromium-review.googlesource.com/707902
      Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
      Reviewed-by: 's avatarAdam Klein <adamk@chromium.org>
      Reviewed-by: 's avatarSathya Gunasekaran <gsathya@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#48433}
      ed6f00fb
  7. 05 Oct, 2017 1 commit
    • Marja Hölttä's avatar
      [parser] Skipping inner funcs: Fix hoisting. · f6f5bafe
      Marja Hölttä authored
      The catch variable is a special VAR-mode variable which is not in a declaration
      scope. Normally creating such a variable is not possible with DeclareVariable,
      but Parser bypasses it by calling DeclareLocal directly (which doesn't have the
      hoisting check).
      
      PreParser used to cut corners and declare the catch variable as a LET-mode
      variable to prevent hoisting.
      
      But since LET and VAR variables behave differently when deciding whether they
      block sloppy block function hoisting, that approach doesn't fly.
      
      BUG=v8:5516,chromium:771474
      
      Change-Id: Ic6f5f4996416c9fa59132725c8b0b6b570c72f48
      Reviewed-on: https://chromium-review.googlesource.com/700634
      Commit-Queue: Marja Hölttä <marja@chromium.org>
      Reviewed-by: 's avatarAdam Klein <adamk@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#48308}
      f6f5bafe
  8. 07 Sep, 2017 1 commit
  9. 06 Sep, 2017 2 commits
  10. 31 Aug, 2017 1 commit
  11. 30 Aug, 2017 1 commit
    • Adam Klein's avatar
      [ast] Make CaseClause a plain ZoneObject, not an Expression · de046f5f
      Adam Klein authored
      CaseClause never made sense as an Expression; this CL allows us to
      remove several UNREACHABLEs and slim down the representation of
      CaseClause by removing its source position (which was only used
      in prettyprinting).
      
      The only real fallout of this change is that SourceRangeMap now
      stores its keys as ZoneObject*, rather than AstNode*, but since
      there's already compile time typechecking for inserting items
      into the map this shouldn't cause any ill effects.
      
      While modifying CaseClause, also removed the dead body_target()
      accessor (and related member variable). Thus this CL overall
      reduces the memory needed for each CaseClause by two words.
      
      Bug: v8:6092
      Change-Id: I0021c0590a69e29305c41ec6105c8824ae0cc25b
      Reviewed-on: https://chromium-review.googlesource.com/639316Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarMarja Hölttä <marja@chromium.org>
      Reviewed-by: 's avatarMythri Alle <mythria@chromium.org>
      Commit-Queue: Adam Klein <adamk@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47722}
      de046f5f
  12. 29 Aug, 2017 3 commits
  13. 23 Aug, 2017 2 commits
    • Marja Hölttä's avatar
      [parser] Pass PreParserIdentifier / Expression by const&. · 3f37b8cc
      Marja Hölttä authored
      Now that they contain more than just one member variable, this might make
      sense (and at least doesn't do any harm).
      
      BUG=v8:6092
      
      Change-Id: Ibd150bedf542580f69946f62f8aca47bce945499
      Reviewed-on: https://chromium-review.googlesource.com/623748
      Commit-Queue: Marja Hölttä <marja@chromium.org>
      Reviewed-by: 's avatarAdam Klein <adamk@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47547}
      3f37b8cc
    • Ross McIlroy's avatar
      Reland "[Compiler] Remove code aging support." · 8bf15bf1
      Ross McIlroy authored
      > This reverts commit 42d3d36b.
      > 
      > Original change's description:
      > > [Compiler] Remove code aging support.
      > > 
      > > Code aging is no longer supported by any remaining compilers now
      > > that full codegen has been removed. This CL removes all vestiges of
      > > code aging.
      > > 
      > > BUG=v8:6409
      > > 
      > > Change-Id: I945ebcc20c7c55120550c8ee36188bfa042ea65e
      > > Reviewed-on: https://chromium-review.googlesource.com/619153
      > > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
      > > Reviewed-by: Yang Guo <yangguo@chromium.org>
      > > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
      > > Reviewed-by: Marja Hölttä <marja@chromium.org>
      > > Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
      > > Cr-Commit-Position: refs/heads/master@{#47501}
      > 
      > TBR=ulan@chromium.org,rmcilroy@chromium.org,marja@chromium.org,yangguo@chromium.org,mstarzinger@chromium.org,rodolph.perfetta@arm.com
      > 
      > Change-Id: I9d8b2985e2d472697908270d93a35eb7ef9c88a8
      > No-Presubmit: true
      > No-Tree-Checks: true
      > No-Try: true
      > Bug: v8:6409
      > Reviewed-on: https://chromium-review.googlesource.com/625998
      > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
      > Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#47506}
      
      TBR=ulan@chromium.org,rmcilroy@chromium.org,marja@chromium.org,yangguo@chromium.org,mstarzinger@chromium.org,rodolph.perfetta@arm.com
      
      Change-Id: I68785c6be7686e874b3848103e3a34483eaeb519
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:6409
      Reviewed-on: https://chromium-review.googlesource.com/625919Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
      Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47535}
      8bf15bf1
  14. 22 Aug, 2017 3 commits
  15. 17 Aug, 2017 3 commits
  16. 16 Aug, 2017 1 commit
  17. 04 Aug, 2017 2 commits
    • Marja Hölttä's avatar
      [parser] Skipping inner funcs: implement a bailout. · e7a46253
      Marja Hölttä authored
      In some cases, PreParser cannot replicate the Scope structure created by
      Parser. It happens esp. with arrow function parameters, since the relevant
      information is already lost by the time we figure out it's an arrow function.
      
      In these cases, PreParser should bail out of trying to create data for skipping
      inner functions.
      
      Implementation notes:
      
      - The arrow function case is more fundamental; the non-arrow case could be
        hacked together somehow if we implemented tracking is_simple for each param
        separately; but now that it's possible to bail out consistently from both
        cases, I don't think the is_simple complication is worth it.
      
      - The added mjsunit test cases are based on the test262 test cases which exposed
        the problem.
      
      - cctest/preparser/PreParserScopeAnalysis was exercising similar cases, but the
        problem didn't show up because the function parameters didn't contain
        skippable functions. Those test cases have been repurposed for testing the
        bailout.
      
      - Extra precaution: the bailout tests are in a separate file, to guard from the
        bug that a bailout case results in bailing out of *all* data creation, which
        would make all skipping tests in the same file useless.
      
      BUG=v8:5516
      
      Change-Id: I4324749a5ec602fa5d7dc27647ade0284a6842fe
      Reviewed-on: https://chromium-review.googlesource.com/599849Reviewed-by: 's avatarAdam Klein <adamk@chromium.org>
      Commit-Queue: Marja Hölttä <marja@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47170}
      e7a46253
    • Adam Klein's avatar
      [parser] Various cleanup for async function parsing · 28f25699
      Adam Klein authored
      This patch removes a few unnecessary bits of async function
      parsing (the PrepareAsyncFunctionBody() helper method, the
      FunctionBodyType enum) by doing separate handling of
      block and single-expression async arrow functions.
      
      Change-Id: I64f837635a23eaf06d42887ca7f9ac59c768f0f2
      Reviewed-on: https://chromium-review.googlesource.com/601247
      Commit-Queue: Adam Klein <adamk@chromium.org>
      Reviewed-by: 's avatarMarja Hölttä <marja@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47169}
      28f25699
  18. 26 Jul, 2017 1 commit
  19. 14 Jul, 2017 3 commits
    • Caitlin Potter's avatar
      [generators] remove SuspendFlags enum and related code · 53553f5d
      Caitlin Potter authored
      SuspendFlags was originally used by the suspend operation to determine
      which field to record the bytecode offset of a suspended generator, and
      the value the generator was resumed with. For async generators, await
      operations would use a separate field, in order to preserve the previous
      yield input value. This was important to ensure `function.sent`
      continued to function correctly.
      
      As function.sent is being retired, this allows the removal of support
      for that. Given that this was the only real need for SuspendFlags in the
      first place (with other uses tacked on as a hack), this involves several
      other changes as well:
      
      - Modification of MacroAssembler AssertGeneratorObject. No longer
        accepts a SuspendFlags parameter to determine which type of check to
        perform.
      - Removal of `flags` operand from SuspendGenerator bytecode, and the
        GeneratorStore js-operator.
      - Removal of `flags` parameter from ResumeGeneratorTrampoline builtins.
      - Removal of Runtime functions, interpreter intrinsics and
        AccessBuilders associated with the [[await_input_or_debug_pos]] field
        in JSAsyncGeneratorObject, as this field no longer exists.
      - Addition of a new `Yield` AST node (subclass of Suspend) in order to
        prevent the need for the other SuspendFlag values.
      
      BUG=v8:5855
      TBR=bmeurer@chromium.org
      
      Change-Id: Iff2881e4742497fe5b774915e988c3d9d8fbe487
      Reviewed-on: https://chromium-review.googlesource.com/570485
      Commit-Queue: Caitlin Potter <caitp@igalia.com>
      Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
      Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#46683}
      53553f5d
    • jgruber's avatar
      [coverage] Support conditional expressions · 8f6303fb
      jgruber authored
      Bug: v8:6000
      Change-Id: I8c068383300ba869a87f836504c84ea08fcff87e
      Reviewed-on: https://chromium-review.googlesource.com/568307Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
      Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#46675}
      8f6303fb
    • Caitlin Potter's avatar
      [async-await] desugar Await in BytecodeGenerator · 8b5b444a
      Caitlin Potter authored
      This includes several changes. From most to least interesting:
      
      - No longer implement AwaitExpressions using a do-expression.
      - Reduces frame-size of async generators by not allocating temporary
        variables to hold results of Await epxressions.
      - Streamline and reduce generated bytecodes for Await.
      - Debugger no longer emits a debug::kCallBreakLocation breakpoint for
      the JS-builtin call performed for Await, and instead only emits such
      a breakpoint if the operand of Await is actually a call.
      - Push fewer parameters to Await* builtins, using the receiver for the
        first parameter (possible now that the CallRuntime invocation not
        part of the AST).
      - Adds a new Await AST node. No new members or anything, but it seemed
        palatable to avoid having `if (is_await())` in a number of
        VisitSuspend functions.
      
      BUG=v8:5855, v8:5099, v8:4483
      R=rmcilroy@chromium.org, kozyatinskiy@chromium.org, yangguo@chromium.org
      TBR=bmeurer@chromium.org
      
      Change-Id: I9cd3fda99cd40295c04fdf1aea01b5d83fac6caf
      Reviewed-on: https://chromium-review.googlesource.com/558806
      Commit-Queue: Georg Neis <neis@chromium.org>
      Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
      Reviewed-by: 's avatarTobias Tebbi <tebbi@chromium.org>
      Reviewed-by: 's avatarAleksey Kozyatinskiy <kozyatinskiy@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#46666}
      8b5b444a
  20. 13 Jul, 2017 1 commit
  21. 12 Jul, 2017 1 commit
  22. 11 Jul, 2017 1 commit
  23. 07 Jul, 2017 1 commit
  24. 30 Jun, 2017 1 commit
  25. 23 Jun, 2017 1 commit