1. 12 Feb, 2018 1 commit
  2. 09 Feb, 2018 2 commits
  3. 06 Feb, 2018 1 commit
  4. 02 Feb, 2018 1 commit
  5. 26 Jan, 2018 1 commit
  6. 25 Jan, 2018 1 commit
  7. 24 Jan, 2018 2 commits
  8. 23 Jan, 2018 1 commit
  9. 22 Jan, 2018 1 commit
  10. 17 Jan, 2018 1 commit
    • Clemens Hammacher's avatar
      [Liftoff] Add memory tracing support · 4dc85663
      Clemens Hammacher authored
      This adds support for tracing memory operations in code compiled with
      Liftoff. This is the first runtime call we emit from Liftoff code, so
      part of this code can be reused for other runtime calls.
      
      Drive-by: Reuse outer compilation zone (avoid one Zone allocation).
      
      Bug: v8:6600, v8:7210
      Change-Id: I8b22088d0685338d533d328cb371384210e0ed22
      Reviewed-on: https://chromium-review.googlesource.com/864663Reviewed-by: 's avatarBen Titzer <titzer@chromium.org>
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#50652}
      4dc85663
  11. 12 Jan, 2018 2 commits
  12. 10 Jan, 2018 1 commit
    • Clemens Hammacher's avatar
      [Liftoff] Implement i32 shift operations · ef2a4a08
      Clemens Hammacher authored
      This adds support for i32.shl, i32.shr_u and i32.shr_s.
      These are the first instructions implemented which have constraints on
      the registers they use (rcx in this case), so the implementation is a
      bit more involved. It's still worth trying to emit good code here, as
      shifts are quite common in our benchmarks.
      This code will later have to be extended to use i32 immediates directly
      instead of loading them into a register first. This will result in
      smaller code and better performance.
      
      R=titzer@chromium.org
      
      Bug: v8:6600
      Change-Id: I45b41ab062b58a9b2bc7e14a68663180307b900d
      Reviewed-on: https://chromium-review.googlesource.com/859761
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Reviewed-by: 's avatarBen Titzer <titzer@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#50481}
      ef2a4a08
  13. 09 Jan, 2018 3 commits
  14. 08 Jan, 2018 1 commit
  15. 04 Jan, 2018 1 commit
  16. 21 Dec, 2017 1 commit
  17. 15 Dec, 2017 1 commit
  18. 13 Dec, 2017 2 commits
  19. 01 Dec, 2017 2 commits
    • Clemens Hammacher's avatar
      [Liftoff] Implement f32 values and operations · 983ca744
      Clemens Hammacher authored
      This CL adds support for f32 locals and parameters, and implements the
      basic f32 binary operations.
      
      R=titzer@chromium.org
      
      Bug: v8:6600
      Change-Id: Ia2d792dd1a6f7e97eab52a4ac49543b128fe3041
      Reviewed-on: https://chromium-review.googlesource.com/796854Reviewed-by: 's avatarBen Titzer <titzer@chromium.org>
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49802}
      983ca744
    • Clemens Hammacher's avatar
      [Liftoff] Introduce LiftoffRegister type · bc293c24
      Clemens Hammacher authored
      LiftoffRegister is an abstraction over Register and DoubleRegister.
      Many functions in Liftoff do not need to distinguish GP and FP
      registers. LiftoffRegister allows to implement most functions
      generically. Accessors allow to convert them back to Register or
      DoubleRegister.
      Both register types are represented in a unified index space, which
      allows to extend this concept to more register types and implement
      aliasing in a straight-forward manner.
      Many functions currently only implement the GP case. FP will be added
      later.
      
      R=titzer@chromium.org
      
      Bug: v8:6600
      Change-Id: I043b787bc09dd1a06506ad515eb325b8ea19746d
      Reviewed-on: https://chromium-review.googlesource.com/793390Reviewed-by: 's avatarBen Titzer <titzer@chromium.org>
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49780}
      bc293c24
  20. 28 Nov, 2017 1 commit
    • Clemens Hammacher's avatar
      [Liftoff] Introduce register classes · f9623419
      Clemens Hammacher authored
      Many methods which currently receive a {ValueType} really just need to
      know the register class. Thus introduce a {RegClass} enum with values
      {kGpReg} and {kFpReg}, and change some methods to use it. For most
      methods, only the {kGpReg} case is implemented for now. Support for
      {kFpReg} will be added later.
      
      R=titzer@chromium.org
      
      Bug: v8:6600
      Change-Id: I1db793c59270862c4e1b877e6e4bd81020a650f8
      Reviewed-on: https://chromium-review.googlesource.com/793159Reviewed-by: 's avatarBen Titzer <titzer@chromium.org>
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49670}
      f9623419
  21. 21 Nov, 2017 1 commit
    • Clemens Hammacher's avatar
      [Liftoff] Add support for globals · 742b6d1b
      Clemens Hammacher authored
      The wasm context will always be stored on the stack, and will be loaded
      from there whenever needed (for accessing globals or the memory). We
      can still improve this later by caching the context address or specific
      information loaded from it.
      
      R=titzer@chromium.org
      
      Bug: v8:6600
      Change-Id: Idd7fb1ccff28a73beaf545997e3dfdb74757b686
      Reviewed-on: https://chromium-review.googlesource.com/779145
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Reviewed-by: 's avatarBen Titzer <titzer@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49540}
      742b6d1b
  22. 23 Oct, 2017 1 commit
    • Clemens Hammacher's avatar
      [wasm] Liftoff: a baseline compiler for WebAssembly · 266e803e
      Clemens Hammacher authored
      This CL adds a first implementation of Liftoff, the new wasm baseline
      compiler, for x64 and ia32. It currently supports the most important
      i32 instructions and control instructions. Whenever it encounters an
      instruction it does not support yet, it aborts.
      In a subsequent CL, Liftoff will be called from the
      WasmCompilationUnit, falling back to Turbofan compilation if the
      baseline compiler bails out.
      
      R=titzer@chromium.org
      
      Bug: v8:6600
      Change-Id: Ifa78fb9d546dce72c241ff01a251dfa13cb31c1d
      Reviewed-on: https://chromium-review.googlesource.com/716480
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Reviewed-by: 's avatarBen Titzer <titzer@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#48832}
      266e803e