1. 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
  2. 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
  3. 16 Mar, 2017 1 commit
  4. 23 Feb, 2017 1 commit
  5. 22 Feb, 2017 1 commit
  6. 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