1. 23 Aug, 2018 3 commits
    • Ben L. Titzer's avatar
      Reland "[wasm] Add feature counter for threads and shared memory" · ab6d5ed5
      Ben L. Titzer authored
      This is a reland of b10a967f
      
      Original change's description:
      > [wasm] Add feature counter for threads and shared memory
      > 
      > This adds a feature counter for WASM shared memory (i.e. the presence
      > of the "shared" bit in a WASM module's memory section) and the usage
      > of WASM threads opcodes (i.e. wake/wait and atomics).
      > 
      > This CL also plumbs the WasmFeatures through the compilation pipeline
      > to detect features as functions are being compiled.
      > 
      > R=ahaas@chromium.org, ulan@chromium.org
      > BUG=chromium:868844
      > 
      > Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
      > Change-Id: I854f932d3adb16e4fd87196fe2a193950295b856
      > Reviewed-on: https://chromium-review.googlesource.com/1186329
      > Reviewed-by: Andreas Haas <ahaas@chromium.org>
      > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
      > Commit-Queue: Ben Titzer <titzer@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#55337}
      
      Bug: chromium:868844
      Change-Id: Iac3a38d80fa71aadd7147704669a8fd671ecfae8
      Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
      Reviewed-on: https://chromium-review.googlesource.com/1186343
      Commit-Queue: Ben Titzer <titzer@chromium.org>
      Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#55363}
      ab6d5ed5
    • Maya Lekova's avatar
      Revert "[wasm] Add feature counter for threads and shared memory" · a984ccd7
      Maya Lekova authored
      This reverts commit b10a967f.
      
      Reason for revert: Breaks a TSAN bot - https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Linux64%20TSAN/22122
      
      Original change's description:
      > [wasm] Add feature counter for threads and shared memory
      > 
      > This adds a feature counter for WASM shared memory (i.e. the presence
      > of the "shared" bit in a WASM module's memory section) and the usage
      > of WASM threads opcodes (i.e. wake/wait and atomics).
      > 
      > This CL also plumbs the WasmFeatures through the compilation pipeline
      > to detect features as functions are being compiled.
      > 
      > R=​ahaas@chromium.org, ulan@chromium.org
      > BUG=chromium:868844
      > 
      > Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
      > Change-Id: I854f932d3adb16e4fd87196fe2a193950295b856
      > Reviewed-on: https://chromium-review.googlesource.com/1186329
      > Reviewed-by: Andreas Haas <ahaas@chromium.org>
      > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
      > Commit-Queue: Ben Titzer <titzer@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#55337}
      
      TBR=ulan@chromium.org,titzer@chromium.org,ahaas@chromium.org
      
      Change-Id: Id011b6707b3359598621b315b87171644132b0ab
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: chromium:868844
      Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
      Reviewed-on: https://chromium-review.googlesource.com/1186421Reviewed-by: 's avatarMaya Lekova <mslekova@chromium.org>
      Commit-Queue: Maya Lekova <mslekova@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#55340}
      a984ccd7
    • Ben L. Titzer's avatar
      [wasm] Add feature counter for threads and shared memory · b10a967f
      Ben L. Titzer authored
      This adds a feature counter for WASM shared memory (i.e. the presence
      of the "shared" bit in a WASM module's memory section) and the usage
      of WASM threads opcodes (i.e. wake/wait and atomics).
      
      This CL also plumbs the WasmFeatures through the compilation pipeline
      to detect features as functions are being compiled.
      
      R=ahaas@chromium.org, ulan@chromium.org
      BUG=chromium:868844
      
      Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
      Change-Id: I854f932d3adb16e4fd87196fe2a193950295b856
      Reviewed-on: https://chromium-review.googlesource.com/1186329Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Commit-Queue: Ben Titzer <titzer@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#55337}
      b10a967f
  2. 21 Aug, 2018 1 commit
  3. 02 Aug, 2018 1 commit
    • Ben L. Titzer's avatar
      [cleanup] Remove redundant wasm:: namespace prefixes · 99de47f1
      Ben L. Titzer authored
      The wasm/ directory is inconsistent in many places, often within the
      same file. For all code that exists in a v8::internal::wasm namespace,
      this CL removes any wasm:: qualifiers, which is especially helpful
      since most types are already Wasm-named, such as WasmCode, WasmModule,
      etc. Namespace qualifiers are redundant inside the wasm:: namespace and
      thus go against the main point of using namespaces. Removing the
      qualifiers for non Wasm-named classes also makes the code somewhat more
      future-proof, should we move some things that are not really WASM-specific
      (such as ErrorThrower and Decoder) into a higher namespace.
      
      R=clemensh@chromium.org,mstarzinger@chromium.org
      
      Change-Id: Ibff3e1e93c64c12dcb53c46c03d1bfb2fb0b7586
      Reviewed-on: https://chromium-review.googlesource.com/1160232
      Commit-Queue: Ben Titzer <titzer@chromium.org>
      Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#54862}
      99de47f1
  4. 31 Jul, 2018 1 commit
  5. 20 Jul, 2018 1 commit
  6. 19 Jul, 2018 1 commit
  7. 16 Jul, 2018 1 commit
  8. 12 Jul, 2018 1 commit
  9. 05 Jul, 2018 2 commits
  10. 29 Jun, 2018 1 commit
  11. 04 Jun, 2018 1 commit
  12. 25 May, 2018 1 commit
  13. 23 May, 2018 1 commit
  14. 14 May, 2018 1 commit
  15. 07 May, 2018 1 commit
    • jgruber's avatar
      [builtins] Convert CEntry/GetProperty/StringAdd stubs to builtins · d8131cd6
      jgruber authored
      Stubs and builtins are very similar. The main differences are that
      stubs can be parameterized and may be generated at runtime, whereas
      builtins are generated at mksnapshot-time and shipped with the snapshot
      (or embedded into the binary).
      
      My main motivation for these conversions is that we can generate
      faster calls and jumps to (embedded) builtins callees from (embedded)
      builtin callers. Instead of going through the builtins constants table
      indirection, we can simply do a pc-relative call/jump.
      
      This also unlocks other refactorings, e.g. removal of
      CallRuntimeDelayed.
      
      TBR=mlippautz@chromium.org
      
      Bug: v8:6666
      Change-Id: I4cd63477f19a330ec70bbf20e2af8a42fb05fabb
      Reviewed-on: https://chromium-review.googlesource.com/1044245Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#53027}
      d8131cd6
  16. 27 Apr, 2018 1 commit
  17. 26 Apr, 2018 1 commit
  18. 24 Apr, 2018 1 commit
    • Kim-Anh Tran's avatar
      [wasm] Basic wasm tier-up · e47072c9
      Kim-Anh Tran authored
      Wasm tier-up first compiles the whole module using Liftoff, and then
      using Turbofan. The idea is to achieve fast start-up times by first
      running Liftoff-compiled code. In the meantime we finish compilation
      with Turbofan, and replace the Liftoff-compiled code as soon
      as Turbofan finished compilation, thus achieving high performance.
      Tier-up is enabled through the flag FLAG_wasm_tier_up.
      
      Bug: v8:6600
      Change-Id: I70552969c53d909a591666a1e7ce1ee1419b2f34
      Reviewed-on: https://chromium-review.googlesource.com/1010422
      Commit-Queue: Kim-Anh Tran <kimanh@google.com>
      Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#52759}
      e47072c9
  19. 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