1. 22 Aug, 2017 1 commit
  2. 21 Aug, 2017 1 commit
  3. 03 Aug, 2017 1 commit
  4. 02 Aug, 2017 1 commit
  5. 01 Aug, 2017 3 commits
  6. 29 Jul, 2017 1 commit
  7. 28 Jul, 2017 2 commits
    • Juliana Patricia Vicente Franco's avatar
      Revert "Changing the return address on the stack." · a193fde9
      Juliana Patricia Vicente Franco authored
      This reverts commit e15f5544.
      
      Reason for revert: it breaks the GC stress. 
      
      Original change's description:
      > Changing the return address on the stack.
      > 
      > Rather than patching code, the deoptimizer now replaces the
      > return address in the frames with respective trampolines. 
      > This change required to change the way we search for Safepoint 
      > entries and for Exception Handlers. 
      > It's working in architectures: x64, ia32, arm, arm64 and mips. 
      > 
      > Bug: V8:6563
      > Change-Id: I3cbd4d192c3513f307b3a6a2ac99e60d03c753d3
      > Reviewed-on: https://chromium-review.googlesource.com/586707
      > Commit-Queue: Juliana Patricia Vicente Franco <jupvfranco@google.com>
      > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#46967}
      
      TBR=jarin@chromium.org,bmeurer@chromium.org,jupvfranco@google.com
      
      Change-Id: I430fa9123beef2e0723b38cdef9537181203f7e7
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: V8:6563
      Reviewed-on: https://chromium-review.googlesource.com/591371
      Commit-Queue: Jaroslav Sevcik <jarin@chromium.org>
      Reviewed-by: 's avatarJaroslav Sevcik <jarin@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#46969}
      a193fde9
    • Juliana Franco's avatar
      Changing the return address on the stack. · e15f5544
      Juliana Franco authored
      Rather than patching code, the deoptimizer now replaces the
      return address in the frames with respective trampolines. 
      This change required to change the way we search for Safepoint 
      entries and for Exception Handlers. 
      It's working in architectures: x64, ia32, arm, arm64 and mips. 
      
      Bug: V8:6563
      Change-Id: I3cbd4d192c3513f307b3a6a2ac99e60d03c753d3
      Reviewed-on: https://chromium-review.googlesource.com/586707
      Commit-Queue: Juliana Patricia Vicente Franco <jupvfranco@google.com>
      Reviewed-by: 's avatarJaroslav Sevcik <jarin@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#46967}
      e15f5544
  8. 24 Jul, 2017 1 commit
  9. 20 Jul, 2017 1 commit
  10. 14 Jul, 2017 1 commit
  11. 13 Jul, 2017 2 commits
    • Georg Neis's avatar
      [compiler] Don't use Handle<T>::cast in code generator. · 6ace4a50
      Georg Neis authored
      In debug mode (SLOW_DCHECK), Handle<T>::cast accesses the object to
      check its type.  Obviously we can no longer do that now that we run
      on a background thread.
      
      NOTE: I think there are other parts of TF that suffer from the same
      problem. I will look into fixing those as well.
      
      Bug: v8:6048, v8:6590
      Change-Id: I9abfdf30f1899cdb0c8b9078b0cf71463d608251
      Reviewed-on: https://chromium-review.googlesource.com/570054Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Commit-Queue: Georg Neis <neis@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#46641}
      6ace4a50
    • Andreas Haas's avatar
      [wasm][x64] Add an additional stack check for functions with big frames · a03f4451
      Andreas Haas authored
      This is the x64 implementation of the CL
      https://codereview.chromium.org/2763593002
      
      Original message:
      
      [wasm][arm] Add an additional stack check for functions with big frames.
      
      Stack overflow checks are typically implemented as part of the TurboFan
      graph of a function. This means that the stack check code is executed
      after frame construction. When a frame is too big, though, there may not
      be enough space on the stack anymore to throw the stack overflow
      exception after frame construction. With this CL we do an additional
      stack check before frame construction for functions with big frames.
      
      As discussed offline with mstarzinger, I do this change currently only
      for WebAssembly.
      
      This CL contains only the changes for arm. I will do the other platforms
      in separate CLs.
      
      R=titzer@chromium.org
      
      Bug: v8:6318
      Change-Id: Id4a8ea3ee76c37132e86a7c4e5d05d3bd86df44a
      Reviewed-on: https://chromium-review.googlesource.com/565562
      Commit-Queue: Andreas Haas <ahaas@chromium.org>
      Reviewed-by: 's avatarBen Titzer <titzer@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#46640}
      a03f4451
  12. 12 Jul, 2017 1 commit
  13. 07 Jul, 2017 1 commit
  14. 29 Jun, 2017 1 commit
  15. 28 Jun, 2017 1 commit
  16. 19 Jun, 2017 1 commit
  17. 08 Jun, 2017 1 commit
    • bbudge's avatar
      [WASM] Eliminate SIMD boolean vector types. · 381f7da0
      bbudge authored
      - Eliminates b1x4, b1x8, and b1x16 as distinct WASM types.
      - All vector comparisons return v128 type.
      - Eliminates b1xN and, or, xor, not.
      - Selects take a v128 mask vector and are now bit-wise.
      - Adds a new test for Select, where mask is non-canonical (not 0's and -1's).
      
      LOG=N
      BUG=v8:6020
      
      Review-Url: https://codereview.chromium.org/2919203002
      Cr-Commit-Position: refs/heads/master@{#45795}
      381f7da0
  18. 02 Jun, 2017 1 commit
  19. 31 May, 2017 3 commits
  20. 22 May, 2017 1 commit
  21. 16 May, 2017 1 commit
  22. 09 May, 2017 2 commits
  23. 02 May, 2017 1 commit
  24. 26 Apr, 2017 1 commit
  25. 20 Apr, 2017 1 commit
    • Eric Holk's avatar
      Restrict range for int64_t to immediate conversions · ec772a4f
      Eric Holk authored
      The included test case illustrates the problem. It subtracts (16 << 27)
      from another number. The Machine Operator Reducer would replace the
      shift computation with 0x0000000080000000, and then change the subtract
      to an add of -(0x0000000080000000), which is 0xffffffff80000000.
      The instruction selector would determine that this value could be an
      immediate, because it fits in 32 bits, so it would select the lea
      instruction. Finally, the code generator would detect that the
      immediate was less than 0, flip the sign and replace the add with a
      subtract of 0x80000000. Because the x64 subtract instruction's
      immediate field is 32 bits, the processor would interpret this as
      0xffffffff80000000 instead of an unsigned value.
      
      This change fixes the issue by making the CanBeImmediate check
      explicitly compare against INT_MIN and INT_MAX. We disallow INT_MIN
      as an immediate precisely because we cannot tell 0x0000000080000000
      from 0xffffffff80000000 when truncated to 32 bits.
      
      Bug: chromium:711203
      Change-Id: Ie371b8ea290684a6bb723bae9c693a866f961850
      Reviewed-on: https://chromium-review.googlesource.com/482448
      Commit-Queue: Eric Holk <eholk@chromium.org>
      Reviewed-by: 's avatarMircea Trofin <mtrofin@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#44758}
      ec772a4f
  26. 18 Apr, 2017 1 commit
    • gdeepti's avatar
      [wasm] Implement first set of SIMD I8x16 ops · 635eea88
      gdeepti authored
       - I8x16Splat, I8x16ExtractLane, I8x16ReplaceLane
       - Binops: I8x16Add, I8x16AddSaturateS, I8x16Sub, I8x16SubSaturateS, I8x16MinS,
       I8x16MaxS, I8x16AddSaturateU, I8x16SubSaturateU, I8x16MinU, I8x16MaxU
       - Compare ops: I8x16Eq, I8x16Ne
      
      BUG=v8:6020
      
      R=bbudge@chromium.org, bmeurer@chromium.org
      
      Review-Url: https://codereview.chromium.org/2829483002
      Cr-Commit-Position: refs/heads/master@{#44706}
      635eea88
  27. 17 Apr, 2017 1 commit
    • gdeepti's avatar
      [wasm] Implement wasm x64 I16x8 Ops · c8c03c15
      gdeepti authored
       - Add I16x8 Splat, ExtractLane, ReplaceLane, shift ops, Some BinOps and compare ops
       - Add pshufhw, pshuflw in the assembler, disassembler
       - Fix incorrect modrm for pextrw, this bug disregards the register allocated and always makes pextrw use rax.
       - Fix pextrw disasm to take the 0 - 7 bits of the immediate instead of 0 - 3.
       - Pextrw, pinsrw are in the assembler use 128 bit encodings, pextrw, pinsrw in the disassembler use legacy encodings, fix inconsistencies causing weird code gen when --print-code is used.
      
      Review-Url: https://codereview.chromium.org/2767983002
      Cr-Commit-Position: refs/heads/master@{#44664}
      c8c03c15
  28. 11 Apr, 2017 1 commit
  29. 31 Mar, 2017 1 commit
  30. 29 Mar, 2017 1 commit
  31. 21 Mar, 2017 1 commit
  32. 17 Mar, 2017 1 commit
    • neis's avatar
      Disentangle assembler from isolate. · 94b088ca
      neis authored
      This is a first step towards moving Turbofan code generation off the main thread.
      
      Summary of the changes:
      - AssemblerBase no longer has a pointer to the isolate. Instead, its
        constructor receives the few things that it needs from the isolate (on most
        architectures this is just the serializer_enabled flag).
      - RelocInfo no longer has a pointer to the isolate. Instead, the functions
        that need it take it as an argument.  (There are currently still a few that
        implicitly access the isolate through a HeapObject.)
      - The MacroAssembler now explicitly holds a pointer to the isolate (before, it
        used to get it from the Assembler).
      - The jit_cookie also moved from AssemblerBase to the MacroAssemblers, since
        it's not used at all in the Assemblers.
      - A few architectures implemented parts of the Assembler with the help
        of a Codepatcher that is based on MacroAssembler.  Since the Assembler no
        longer has the isolate, but the MacroAssembler still needs it, this doesn't
        work anymore.  Instead, these Assemblers now use a new PatchingAssembler.
      
      BUG=v8:6048
      
      Review-Url: https://codereview.chromium.org/2732273003
      Cr-Commit-Position: refs/heads/master@{#43890}
      94b088ca
  33. 16 Mar, 2017 1 commit