1. 21 Jul, 2020 2 commits
  2. 10 Jul, 2020 1 commit
  3. 14 Apr, 2020 1 commit
    • Clemens Backes's avatar
      [wasm][debug] Store "for debugging" flag on compilation unit · e0433f7d
      Clemens Backes authored
      Before the "debug" flag was stored on the {CompilationEnv}. But each
      background compilation task only gets the {CompilationEnv} once when
      starting compilation, so by the time it picks up the "Liftoff for
      debugging" compilation jobs, it might still compile them without the
      debug flag being set. This leads to flakes in the "debug-step-into-wasm"
      test, because we won't stop in the function prologue when stepping in
      (because the function prologue does not check the "hook on function
      call" flag if debug mode was not enabled).
      
      This CL does not increase the size of a compilation unit, since both the
      tier and the debug flag only need a single byte each.
      
      As a nice side effect, this change allows us to remove the lock in
      {CreateCompilationEnv}, because no modifyable flag is read any more.
      
      R=thibaudm@chromium.org
      
      Bug: v8:10410
      Change-Id: Ic296ea0c4dd1d4dedde119f0536e87e5d301b5a1
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2144116Reviewed-by: 's avatarThibaud Michaud <thibaudm@chromium.org>
      Commit-Queue: Clemens Backes <clemensb@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#67115}
      e0433f7d
  4. 09 Apr, 2020 1 commit
  5. 12 Mar, 2020 1 commit
  6. 24 Feb, 2020 1 commit
    • Clemens Backes's avatar
      [wasm] Extend debug side table for registers · 75931f18
      Clemens Backes authored
      This extends the debug side table to also store register locations in
      addition to constants and stack values.
      Previously, every value that was not constant was assumed to be spilled
      to the stack. This made sense, because without breakpoints we would only
      emit debug side table entries at call sites, where all registers are
      spilled.
      With breakpoints, this changes. At break locations, values might be live
      in registers.
      
      The logic to decide whether a value will live in the register or on the
      stack is extended, because we sometimes generate the debug side table
      entry at a point where the registers are not spilled yet. The debug side
      table entry creation needs to account for that, and assume that these
      registers will still be spilled.
      
      R=thibaudm@chromium.org
      
      Bug: v8:10147, v8:10222
      Change-Id: I3b020dfaa29fc007047663706ee286180a996bfd
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2066960
      Commit-Queue: Clemens Backes <clemensb@chromium.org>
      Reviewed-by: 's avatarThibaud Michaud <thibaudm@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#66407}
      75931f18
  7. 21 Feb, 2020 1 commit
    • Clemens Backes's avatar
      [wasm] Extend debug side table test · fc1d2339
      Clemens Backes authored
      This extends the debug side table test to check that the two methods
      {ExecuteLiftoffCompilation} and {GenerateLiftoffDebugSideTable} return
      the same debug side table.
      This is important, because for code without breakpoints, we generate the
      debug side table lazily via the {GenerateLiftoffDebugSideTable} method,
      and it needs to match the code generated previously via
      {ExecuteLiftoffCompilation}.
      
      R=thibaudm@chromium.org
      
      Bug: v8:10147
      Change-Id: I267f599beb3fe39a1ccf22840a9d0a7f9bc5143e
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2066957Reviewed-by: 's avatarThibaud Michaud <thibaudm@chromium.org>
      Commit-Queue: Clemens Backes <clemensb@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#66384}
      fc1d2339
  8. 20 Feb, 2020 1 commit
    • Clemens Backes's avatar
      [wasm] Refactor debug side table · 93d35279
      Clemens Backes authored
      This refactors the debug side table such that we can easily add
      register information later.
      In particular
      - vectors for types and stack offsets are combined into one;
      - constants are stored in the same vector;
      - locals and operand stack values are stored in the same vector.
      
      A follow-up CL will extend the DebugSideTable to also encode locals
      or operand stack values held in registers.
      
      R=thibaudm@chromium.org
      
      Bug: v8:10147, v8:10222
      Change-Id: I97adb56b31afdb22896530c7ba2e8a24b5d31da9
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2062405
      Commit-Queue: Clemens Backes <clemensb@chromium.org>
      Reviewed-by: 's avatarThibaud Michaud <thibaudm@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#66374}
      93d35279
  9. 04 Feb, 2020 1 commit
  10. 09 Jan, 2020 1 commit
  11. 17 Dec, 2019 1 commit
  12. 06 Dec, 2019 1 commit
  13. 28 Nov, 2019 1 commit
    • Clemens Backes's avatar
      [wasm] Clean up WASM_CALL_INDIRECT macros · a183b8be
      Clemens Backes authored
      Fix a TODO from Ben to change the macro argument order to match the
      actual order in wasm code.
      After this fix, we can remove the individual {WASM_CALL_INDIRECT[0-5]}
      macros and implement them via a common variadic macro.
      
      Also, rename {WASM_CALL_INDIRECT_TABLE0} to {WASM_CALL_INDIRECT_TABLE}.
      The name was confusing, because this macro explictly allows to set a
      table index different from 0. Thus, just drop the "0" in the name.
      
      The individual test changes were done via a vim macro, to avoid manual
      errors.
      
      R=mstarzinger@chromium.org
      
      Bug: v8:10021
      Change-Id: I9f0f31511c5c6e20a0b07524bf75fe9cf1598eba
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1940265Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Commit-Queue: Clemens Backes <clemensb@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#65242}
      a183b8be
  14. 27 Nov, 2019 1 commit