1. 20 Sep, 2018 1 commit
  2. 14 Sep, 2018 1 commit
  3. 21 Aug, 2018 1 commit
  4. 25 Jul, 2018 1 commit
  5. 23 Jul, 2018 1 commit
  6. 27 Apr, 2018 1 commit
    • Clemens Hammacher's avatar
      [wasm] Split off wasm-linkage.h · 8466b71a
      Clemens Hammacher authored
      Linkage-related methods were declared in wasm-compiler.h and
      implemented in wasm-linkage.cc. This required all users of e.g. wasm
      call descriptors to include the whole wasm compiler header. Also, some
      wasm linkage information is independent of turbofan and also used
      outside of the compiler directory.
      
      This CL splits off wasm-linkage.h (with minimal includes) and puts it
      in src/wasm. This allows to use that information without including
      compiler headers (will clean up several uses in follow-up CLs).
      
      R=mstarzinger@chromium.org, titzer@chromium.org
      
      Bug: v8:7570
      Change-Id: Ifcae70b4ea7932cda30953b325c2b87c4176c598
      Reviewed-on: https://chromium-review.googlesource.com/1013701Reviewed-by: 's avatarBen Titzer <titzer@chromium.org>
      Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#52849}
      8466b71a
  7. 19 Apr, 2018 1 commit
    • Clemens Hammacher's avatar
      [wasm] Tear apart the WasmCompilationUnit · 0da7ec58
      Clemens Hammacher authored
      This refactoring is a big step towards separating Turbofan-related code
      from backend independent code. This will allow us to include way less
      headers from "src/compiler" at various places.
      
      The {WasmCompilationUnit} contained information for Turbofan
      compilation, and for Liftoff compilation. This CL tears this apart, such
      that {WasmCompilationUnit} holds backend-independent information, plus
      a pointer to either {LiftoffCompilationUnit} or
      {TurbofanWasmCompilationUnit}. These pointers are opaque, so that
      {function-compiler.h}, defining {WasmCompilationUnit}, does not need to
      include any Turbofan specific or Liftoff specific headers.
      
      R=ahaas@chromium.org, titzer@chromium.org, mstarzinger@chromium.org
      
      Bug: v8:7570, v8:6600
      Change-Id: I024c9a23508ee1b4b3cbe1d068c8e785d732daca
      Reviewed-on: https://chromium-review.googlesource.com/1016640
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#52684}
      0da7ec58
  8. 16 Apr, 2018 1 commit
  9. 06 Apr, 2018 1 commit
  10. 04 Apr, 2018 2 commits
    • Ben Titzer's avatar
      Revert "[wasm] Merge the WasmContext into WasmInstanceObject" · 8adb94fc
      Ben Titzer authored
      This reverts commit 57bf0bfe.
      
      Reason for revert: <INSERT REASONING HERE>
      
      Original change's description:
      > [wasm] Merge the WasmContext into WasmInstanceObject
      > 
      > This change makes lifetime management of WasmCode much simpler.
      > By using the WasmInstanceObject as the context for WASM code execution,
      > including the pointer to the memory base and indirect function tables,
      > this keeps the instance alive when WASM code is on the stack, since
      > the instance object is passed as a parameter and spilled onto the stack.
      > This is in preparation of sharing the code between instances and
      > isolates.
      > 
      > Bug: v8:7424
      > 
      > Change-Id: Ic2e4b7bcc2feb20001d0553a615a8a9dff36317e
      > Reviewed-on: https://chromium-review.googlesource.com/958520
      > Commit-Queue: Ben Titzer <titzer@chromium.org>
      > Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
      > Reviewed-by: Andreas Haas <ahaas@chromium.org>
      > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#52361}
      
      TBR=mstarzinger@chromium.org,titzer@chromium.org,ahaas@chromium.org,clemensh@chromium.org
      
      Change-Id: I653e27b46dbc43ad773eda4292d521a508f42d79
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:7424
      Reviewed-on: https://chromium-review.googlesource.com/995418Reviewed-by: 's avatarBen Titzer <titzer@chromium.org>
      Commit-Queue: Ben Titzer <titzer@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#52364}
      8adb94fc
    • Ben L. Titzer's avatar
      [wasm] Merge the WasmContext into WasmInstanceObject · 57bf0bfe
      Ben L. Titzer authored
      This change makes lifetime management of WasmCode much simpler.
      By using the WasmInstanceObject as the context for WASM code execution,
      including the pointer to the memory base and indirect function tables,
      this keeps the instance alive when WASM code is on the stack, since
      the instance object is passed as a parameter and spilled onto the stack.
      This is in preparation of sharing the code between instances and
      isolates.
      
      Bug: v8:7424
      
      Change-Id: Ic2e4b7bcc2feb20001d0553a615a8a9dff36317e
      Reviewed-on: https://chromium-review.googlesource.com/958520
      Commit-Queue: Ben Titzer <titzer@chromium.org>
      Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
      Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#52361}
      57bf0bfe
  11. 25 Oct, 2017 1 commit
  12. 21 Sep, 2017 2 commits
  13. 12 Sep, 2017 1 commit
  14. 11 Sep, 2017 2 commits
  15. 08 Sep, 2017 1 commit
  16. 01 Sep, 2017 1 commit
  17. 31 Aug, 2017 1 commit
  18. 28 Aug, 2017 1 commit
  19. 19 Aug, 2017 2 commits
    • Mircea Trofin's avatar
      Revert "Revert "[wasm] Rename TestingModule to TestingModuleBuilder."" · 5eb1aa48
      Mircea Trofin authored
      This reverts commit 3913bde1.
      
      Reason for revert: Reason for revert fixed.
      
      Original change's description:
      > Revert "[wasm] Rename TestingModule to TestingModuleBuilder."
      > 
      > This reverts commit ed06fc91.
      > 
      > Reason for revert: Need to revert previous CL
      > 
      > Original change's description:
      > > [wasm] Rename TestingModule to TestingModuleBuilder.
      > > 
      > > This is a followup to moving the ModuleEnv to the compiler directory and
      > > making it immutable.
      > > 
      > > R=​mtrofin@chromium.org, ahaas@chromium.org
      > > 
      > > Bug: 
      > > Change-Id: I0f5ec1b697bdcfad0b4dc2bca577cc0f40de8dc0
      > > Reviewed-on: https://chromium-review.googlesource.com/616762
      > > Commit-Queue: Ben Titzer <titzer@chromium.org>
      > > Reviewed-by: Mircea Trofin <mtrofin@chromium.org>
      > > Reviewed-by: Andreas Haas <ahaas@chromium.org>
      > > Cr-Commit-Position: refs/heads/master@{#47419}
      > 
      > TBR=titzer@chromium.org,mtrofin@chromium.org,ahaas@chromium.org
      > 
      > Change-Id: I9b3b379e89f523c2fcf205a1d268aa294bbc44ff
      > No-Presubmit: true
      > No-Tree-Checks: true
      > No-Try: true
      > Reviewed-on: https://chromium-review.googlesource.com/622567
      > Reviewed-by: Michael Achenbach <machenbach@chromium.org>
      > Commit-Queue: Michael Achenbach <machenbach@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#47448}
      
      TBR=machenbach@chromium.org,titzer@chromium.org,mtrofin@chromium.org,ahaas@chromium.org
      
      Change-Id: Idce6f1ca8ed0ea80edb50292e9b6e2d7712f29cf
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Reviewed-on: https://chromium-review.googlesource.com/622034Reviewed-by: 's avatarMircea Trofin <mtrofin@chromium.org>
      Commit-Queue: Mircea Trofin <mtrofin@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47454}
      5eb1aa48
    • Michael Achenbach's avatar
      Revert "[wasm] Rename TestingModule to TestingModuleBuilder." · 3913bde1
      Michael Achenbach authored
      This reverts commit ed06fc91.
      
      Reason for revert: Need to revert previous CL
      
      Original change's description:
      > [wasm] Rename TestingModule to TestingModuleBuilder.
      > 
      > This is a followup to moving the ModuleEnv to the compiler directory and
      > making it immutable.
      > 
      > R=​mtrofin@chromium.org, ahaas@chromium.org
      > 
      > Bug: 
      > Change-Id: I0f5ec1b697bdcfad0b4dc2bca577cc0f40de8dc0
      > Reviewed-on: https://chromium-review.googlesource.com/616762
      > Commit-Queue: Ben Titzer <titzer@chromium.org>
      > Reviewed-by: Mircea Trofin <mtrofin@chromium.org>
      > Reviewed-by: Andreas Haas <ahaas@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#47419}
      
      TBR=titzer@chromium.org,mtrofin@chromium.org,ahaas@chromium.org
      
      Change-Id: I9b3b379e89f523c2fcf205a1d268aa294bbc44ff
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Reviewed-on: https://chromium-review.googlesource.com/622567Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
      Commit-Queue: Michael Achenbach <machenbach@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47448}
      3913bde1
  20. 18 Aug, 2017 1 commit
  21. 08 Aug, 2017 1 commit
    • Aseem Garg's avatar
      Revert "[wasm] Reland "[wasm] redirect wasm calls to js functions through a GCed table"" · aee1e1fb
      Aseem Garg authored
      This reverts commit 649b1e70.
      
      Reason for revert: A1 Jetstream bots are still failing.
      
      Original change's description:
      > [wasm] Reland "[wasm] redirect wasm calls to js functions through a GCed table"
      >
      > This reverts commit 25f03308.
      >
      > Reason for revert: Fix the cause of bot failure and reland
      >
      > Original change's description:
      > > Revert "[wasm] redirect wasm calls to js functions through a GCed table"
      > >
      > > This reverts commit eb65f35e.
      > >
      > > Reason for revert: Broke jetstream benchmark on android.
      > >
      > > BUG=chromium:750828
      > >
      > > Original change's description:
      > > > [wasm] redirect wasm calls to js functions through a GCed table
      > > >
      > > > With this patch, rather than embedding the JSReceiver address directly
      > > > in the WasmToJS wrappers, we put that in a fixed array with global handle
      > > > scope and instead embed the location of the handle and the index in the
      > > > wrapper. This ensures that the wrapper doesn't need to be patched if the
      > > > GC kicks in. This is needed to get the WASM code off the GCed heap.
      > > >
      > > > R=​mtrofin@chromium.org
      > > >
      > > > Bug:
      > > > Change-Id: Ie5a77a78cdecec51b04f702c63b8e4285e6a2d8d
      > > > Reviewed-on: https://chromium-review.googlesource.com/581682
      > > > Commit-Queue: Aseem Garg <aseemgarg@chromium.org>
      > > > Reviewed-by: Mircea Trofin <mtrofin@chromium.org>
      > > > Cr-Commit-Position: refs/heads/master@{#46884}
      > >
      > > TBR=mtrofin@chromium.org,aseemgarg@google.com,aseemgarg@chromium.org,clemensh@chromium.org
      > >
      > > # Not skipping CQ checks because original CL landed > 1 day ago.
      > >
      > > Change-Id: I26f49ee0a1fe73cc5d8852ded87b56638be39ebf
      > > Reviewed-on: https://chromium-review.googlesource.com/596268
      > > Commit-Queue: Aseem Garg <aseemgarg@chromium.org>
      > > Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
      > > Cr-Commit-Position: refs/heads/master@{#47059}
      >
      > R=​mtrofin@chromium.org,aseemgarg@google.com,aseemgarg@chromium.org,clemensh@chromium.org,sullivan@chromium.org
      >
      > Change-Id: I29ef35f6e612a706d9f571da3e7beb1da8b5052b
      > Bug: chromium:750828
      > Reviewed-on: https://chromium-review.googlesource.com/597010
      > Commit-Queue: Aseem Garg <aseemgarg@chromium.org>
      > Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#47177}
      
      TBR=bradnelson@chromium.org,sullivan@chromium.org,mtrofin@chromium.org,aseemgarg@google.com,aseemgarg@chromium.org,clemensh@chromium.org
      
      Bug: chromium:750828
      Change-Id: I04b12c0eb0705ad809822a7d7461423be77d942a
      Reviewed-on: https://chromium-review.googlesource.com/606867
      Commit-Queue: Aseem Garg <aseemgarg@chromium.org>
      Reviewed-by: 's avatarAseem Garg <aseemgarg@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47231}
      aee1e1fb
  22. 05 Aug, 2017 1 commit
    • Aseem Garg's avatar
      [wasm] Reland "[wasm] redirect wasm calls to js functions through a GCed table" · 649b1e70
      Aseem Garg authored
      This reverts commit 25f03308.
      
      Reason for revert: Fix the cause of bot failure and reland
      
      Original change's description:
      > Revert "[wasm] redirect wasm calls to js functions through a GCed table"
      > 
      > This reverts commit eb65f35e.
      > 
      > Reason for revert: Broke jetstream benchmark on android.
      > 
      > BUG=chromium:750828
      > 
      > Original change's description:
      > > [wasm] redirect wasm calls to js functions through a GCed table
      > > 
      > > With this patch, rather than embedding the JSReceiver address directly
      > > in the WasmToJS wrappers, we put that in a fixed array with global handle
      > > scope and instead embed the location of the handle and the index in the
      > > wrapper. This ensures that the wrapper doesn't need to be patched if the
      > > GC kicks in. This is needed to get the WASM code off the GCed heap.
      > > 
      > > R=​mtrofin@chromium.org
      > > 
      > > Bug: 
      > > Change-Id: Ie5a77a78cdecec51b04f702c63b8e4285e6a2d8d
      > > Reviewed-on: https://chromium-review.googlesource.com/581682
      > > Commit-Queue: Aseem Garg <aseemgarg@chromium.org>
      > > Reviewed-by: Mircea Trofin <mtrofin@chromium.org>
      > > Cr-Commit-Position: refs/heads/master@{#46884}
      > 
      > TBR=mtrofin@chromium.org,aseemgarg@google.com,aseemgarg@chromium.org,clemensh@chromium.org
      > 
      > # Not skipping CQ checks because original CL landed > 1 day ago.
      > 
      > Change-Id: I26f49ee0a1fe73cc5d8852ded87b56638be39ebf
      > Reviewed-on: https://chromium-review.googlesource.com/596268
      > Commit-Queue: Aseem Garg <aseemgarg@chromium.org>
      > Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#47059}
      
      R=mtrofin@chromium.org,aseemgarg@google.com,aseemgarg@chromium.org,clemensh@chromium.org,sullivan@chromium.org
      
      Change-Id: I29ef35f6e612a706d9f571da3e7beb1da8b5052b
      Bug: chromium:750828
      Reviewed-on: https://chromium-review.googlesource.com/597010
      Commit-Queue: Aseem Garg <aseemgarg@chromium.org>
      Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47177}
      649b1e70
  23. 01 Aug, 2017 1 commit
    • Annie Sullivan's avatar
      Revert "[wasm] redirect wasm calls to js functions through a GCed table" · 25f03308
      Annie Sullivan authored
      This reverts commit eb65f35e.
      
      Reason for revert: Broke jetstream benchmark on android.
      
      BUG=chromium:750828
      
      Original change's description:
      > [wasm] redirect wasm calls to js functions through a GCed table
      > 
      > With this patch, rather than embedding the JSReceiver address directly
      > in the WasmToJS wrappers, we put that in a fixed array with global handle
      > scope and instead embed the location of the handle and the index in the
      > wrapper. This ensures that the wrapper doesn't need to be patched if the
      > GC kicks in. This is needed to get the WASM code off the GCed heap.
      > 
      > R=​mtrofin@chromium.org
      > 
      > Bug: 
      > Change-Id: Ie5a77a78cdecec51b04f702c63b8e4285e6a2d8d
      > Reviewed-on: https://chromium-review.googlesource.com/581682
      > Commit-Queue: Aseem Garg <aseemgarg@chromium.org>
      > Reviewed-by: Mircea Trofin <mtrofin@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#46884}
      
      TBR=mtrofin@chromium.org,aseemgarg@google.com,aseemgarg@chromium.org,clemensh@chromium.org
      
      # Not skipping CQ checks because original CL landed > 1 day ago.
      
      Change-Id: I26f49ee0a1fe73cc5d8852ded87b56638be39ebf
      Reviewed-on: https://chromium-review.googlesource.com/596268
      Commit-Queue: Aseem Garg <aseemgarg@chromium.org>
      Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47059}
      25f03308
  24. 27 Jul, 2017 1 commit
    • Mircea Trofin's avatar
      [wasm] Explicit opt-out of stack checks and traps · be915fd7
      Mircea Trofin authored
      We've been passing a context to the compiler, which turns out to be
      solely used to determine if we're executing in a specific cctest configuration.
      
      This change adds a configuration to the graph builder that we can use to
      explicitly opt out of stack checks and traps. CcTests default to opting out,
      except for the few that don't.
      
      Bug: 
      Change-Id: I4724e31c2a62e9b3ab4feadb788287c374b39f53
      Reviewed-on: https://chromium-review.googlesource.com/585779Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Commit-Queue: Mircea Trofin <mtrofin@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#46943}
      be915fd7
  25. 25 Jul, 2017 1 commit
    • Aseem Garg's avatar
      [wasm] redirect wasm calls to js functions through a GCed table · eb65f35e
      Aseem Garg authored
      With this patch, rather than embedding the JSReceiver address directly
      in the WasmToJS wrappers, we put that in a fixed array with global handle
      scope and instead embed the location of the handle and the index in the
      wrapper. This ensures that the wrapper doesn't need to be patched if the
      GC kicks in. This is needed to get the WASM code off the GCed heap.
      
      R=mtrofin@chromium.org
      
      Bug: 
      Change-Id: Ie5a77a78cdecec51b04f702c63b8e4285e6a2d8d
      Reviewed-on: https://chromium-review.googlesource.com/581682
      Commit-Queue: Aseem Garg <aseemgarg@chromium.org>
      Reviewed-by: 's avatarMircea Trofin <mtrofin@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#46884}
      eb65f35e
  26. 09 Jun, 2017 1 commit
  27. 25 Apr, 2017 1 commit
  28. 23 Feb, 2017 1 commit
  29. 17 Jan, 2017 1 commit
  30. 19 Dec, 2016 1 commit
    • clemensh's avatar
      [wasm] Always provide a wasm instance object at runtime · 21a85c4a
      clemensh authored
      When executing wasm code for testing, we did not create a
      WasmInstanceObject and link it to the generated code. This required
      some special handling at runtime (mainly for stack trace generation).
      This CL always provides the WasmInstanceObject, such that e.g. function
      names can be resolved the usual way.
      The module bytes referenced by the WasmCompiledModule linked with the
      WasmInstanceObject do not hold a valid wasm module yet. Instead, we
      just add the bytes we need, and make the objects in WasmModule point to
      those bytes (currently only used for function names). Those bytes will
      not be parsed at runtime anyway.
      
      R=titzer@chromium.org
      CC=jgruber@chromium.org
      BUG=v8:5620
      
      Review-Url: https://codereview.chromium.org/2551053002
      Cr-Commit-Position: refs/heads/master@{#41809}
      21a85c4a
  31. 16 Dec, 2016 1 commit
  32. 15 Dec, 2016 2 commits
  33. 14 Nov, 2016 1 commit
    • clemensh's avatar
      [wasm] Make reported "lines" on stack frames 1-based · 0c6fa172
      clemensh authored
      In captured stack traces, all lines and columns must be 1-based.
      Even though this makes things a bit ugly, we have to comply also for
      wasm locations, where line and column encode function index and byte
      offset (both are originally 0-based).
      
      If we don't comply, the frontend might complain, as e.g. DevTools does.
      
      BUG=chromium:659715
      R=yangguo@chromium.org, kozyatinskiy@chromium.org
      CC=titzer@chromium.org
      
      Review-Url: https://codereview.chromium.org/2493943002
      Cr-Commit-Position: refs/heads/master@{#40971}
      0c6fa172
  34. 05 Oct, 2016 1 commit
  35. 27 Jun, 2016 1 commit