1. 14 Jan, 2019 1 commit
  2. 11 Dec, 2018 1 commit
  3. 30 Nov, 2018 1 commit
  4. 29 Nov, 2018 1 commit
    • Aseem Garg's avatar
      Revert "[wasm] Add I64AtomicWait implementation" · f4775f1c
      Aseem Garg authored
      This reverts commit 9436e8a8.
      
      Reason for revert: Breaks TSAN.
      
      Original change's description:
      > [wasm] Add I64AtomicWait implementation
      > 
      > Bug=v8:8075
      > R=​adamk@chromium.org,binji@chromium.org
      > 
      > Change-Id: I11ef5daccd043123b23e60c93ee0df79cabe9ccd
      > Reviewed-on: https://chromium-review.googlesource.com/c/1342948
      > Reviewed-by: Adam Klein <adamk@chromium.org>
      > Reviewed-by: Ben Smith <binji@chromium.org>
      > Commit-Queue: Aseem Garg <aseemgarg@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#57917}
      
      TBR=binji@chromium.org,adamk@chromium.org,aseemgarg@chromium.org
      
      Change-Id: Ic82ce8794410a0d4d19de07abd9bb8a7aaff1c1c
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Reviewed-on: https://chromium-review.googlesource.com/c/1351303Reviewed-by: 's avatarAseem Garg <aseemgarg@chromium.org>
      Commit-Queue: Aseem Garg <aseemgarg@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#57919}
      f4775f1c
  5. 28 Nov, 2018 1 commit
  6. 20 Nov, 2018 1 commit
  7. 19 Nov, 2018 1 commit
  8. 29 Oct, 2018 1 commit
  9. 25 Oct, 2018 2 commits
  10. 11 Oct, 2018 2 commits
  11. 25 Sep, 2018 1 commit
  12. 17 Sep, 2018 1 commit
  13. 10 Sep, 2018 1 commit
  14. 29 Aug, 2018 1 commit
  15. 25 Jul, 2018 3 commits
  16. 22 Jun, 2018 1 commit
  17. 21 Jun, 2018 1 commit
    • Clemens Hammacher's avatar
      [wasm] Introduce builtin for grow_memory · edfcba04
      Clemens Hammacher authored
      This CL adds a builtin which receives an int32 argument and returns the
      int32 result. Internally, it checks whether the argument is in the
      valid smi range, then calls the runtime function with the smi argument
      and converts the return value back from smi to int32.
      This saves a lot of code in the wasm TF builder and in Liftoff.
      
      R=mstarzinger@chromium.org
      
      Bug: v8:6600
      Change-Id: Icddcb020eae74c767a75090feb4939275432c007
      Reviewed-on: https://chromium-review.googlesource.com/1107711
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#53946}
      edfcba04
  18. 20 Jun, 2018 1 commit
  19. 19 Jun, 2018 1 commit
  20. 18 Jun, 2018 1 commit
    • Clemens Hammacher's avatar
      Make CallInterfaceDescriptor isolate-independent · 3cb376dc
      Clemens Hammacher authored
      Currently each isolate stores its own array of
      {CallInterfaceDescriptorData}. This array has size 173, and each entry
      has 40 bytes. That's already 7kB per isolate.
      Additionally, each {CallInterfaceDescriptorData} allocates two
      heap-allocated arrays, which probably add up to more than the static
      size of the {CallInterfaceDescriptorData}. Note that all the
      {CallInterfaceDescriptorData} instances are initialized eagerly on
      isolate creation.
      
      Since {CallInterfaceDescriptor} is totally isolate independent itself,
      this CL refactors the current design to avoid a copy of them per
      isolate, and instead shares them process-wide. Still, we need to free
      the allocated heap arrays when the last isolate dies to avoid leaks.
      This can probably be refactored later by statically initializing more
      and avoiding the heap allocations all together.
      
      This refactoring will also allow us to use {CallInterfaceDescriptor}s
      from wasm background compilation threads, which are not bound to any
      isolate.
      
      R=mstarzinger@chromium.org, titzer@chromium.org
      
      Bug: v8:6600
      Change-Id: If8625b89951eec8fa8986b49a5c166e874a72494
      Reviewed-on: https://chromium-review.googlesource.com/1100879
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Reviewed-by: 's avatarIgor Sheludko <ishell@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#53803}
      3cb376dc
  21. 14 Jun, 2018 1 commit
  22. 12 Jun, 2018 1 commit
  23. 07 Jun, 2018 1 commit
  24. 24 Oct, 2017 1 commit
    • Clemens Hammacher's avatar
      [wasm] Remove patching of generated stack traces · 4d717997
      Clemens Hammacher authored
      Our first implementation passed the source position as argument to the
      runtime function, which would then generate an Error object, patch the
      contained stack trace to point to the position given as argument, and
      then throw the Error.
      Since all our paths are now changed to call a builtin with proper
      source position information, we do not need to patch anything any more.
      
      R=ahaas@chromium.org
      
      Bug: v8:5007
      Change-Id: I70dce1b9fcf9966a13865c1c373f3e354908b009
      Reviewed-on: https://chromium-review.googlesource.com/732117Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#48876}
      4d717997
  25. 20 Jun, 2017 1 commit
    • Clemens Hammacher's avatar
      [compiler] Allow for interfaces without context · e9d728d0
      Clemens Hammacher authored
      Especially in wasm, many builtins don't actually need a context
      parameter. We currently pass Smi::kZero instead. This CL allows to
      generate a CallDescriptor for calling stubs without passing a context,
      resulting in reduced compile time and code size, and increased
      performance when executing these builtins.
      
      We were calling the ThrowWasm* functions without passing a context
      anyway (directly from code-generator-<arch>.h). With this change, we
      will also call the StackCheck builtin without passing a (null) context.
      This saves two bytes of code in each function plus each loop, and also
      slightly reduces compile time (very noisy, but statistically
      significant).
      
      Drive-by: Use NoContextConstant instead of SmiConstant(Smi::kZero).
      
      R=mstarzinger@chromium.org, ahaas@chromium.org
      
      Change-Id: If794cc4c262a9cca8d29a68010803c01a2eef4a3
      Reviewed-on: https://chromium-review.googlesource.com/541423Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#46044}
      e9d728d0
  26. 16 Mar, 2017 1 commit
  27. 23 Feb, 2017 1 commit
  28. 22 Feb, 2017 1 commit
  29. 17 Feb, 2017 1 commit
    • clemensh's avatar
      [wasm] Introduce WasmStackGuard builtin · b6bfe7b9
      clemensh authored
      Instead of placing a runtime call to StackGuard in the compiled wasm
      code, we just call the builtin, which is cheaper. By passing Smi::kZero
      as context, we save even more code space and avoid embedding the
      context in the code.
      The WasmStackGuard builtin then calls the new WasmStackGuard runtime
      function, which gets the context from the instance attached to the
      calling wasm code, and then does the usual StackGuard logic.
      
      For the unity benchmark in asm-wasm mode, generated code size reduces
      from 63.0 to 61.6 MB (-2.1%).
      
      R=titzer@chromium.org, ahaas@chromium.org, mstarzinger@chromium.org
      
      Review-Url: https://codereview.chromium.org/2691993004
      Cr-Commit-Position: refs/heads/master@{#43277}
      b6bfe7b9