1. 02 Dec, 2017 1 commit
    • Mathias Bynens's avatar
      Normalize casing of hexadecimal digits · 822be9b2
      Mathias Bynens authored
      This patch normalizes the casing of hexadecimal digits in escape
      sequences of the form `\xNN` and integer literals of the form
      `0xNNNN`.
      
      Previously, the V8 code base used an inconsistent mixture of uppercase
      and lowercase.
      
      Google’s C++ style guide uses uppercase in its examples:
      https://google.github.io/styleguide/cppguide.html#Non-ASCII_Characters
      
      Moreover, uppercase letters more clearly stand out from the lowercase
      `x` (or `u`) characters at the start, as well as lowercase letters
      elsewhere in strings.
      
      BUG=v8:7109
      TBR=marja@chromium.org,titzer@chromium.org,mtrofin@chromium.org,mstarzinger@chromium.org,rossberg@chromium.org,yangguo@chromium.org,mlippautz@chromium.org
      NOPRESUBMIT=true
      
      Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_chromium_rel_ng
      Change-Id: I790e21c25d96ad5d95c8229724eb45d2aa9e22d6
      Reviewed-on: https://chromium-review.googlesource.com/804294
      Commit-Queue: Mathias Bynens <mathias@chromium.org>
      Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49810}
      822be9b2
  2. 21 Nov, 2017 1 commit
  3. 08 Nov, 2017 1 commit
    • Andreas Rossberg's avatar
      Fix construction of stack frames with callee-save slots · ad7624e5
      Andreas Rossberg authored
      Function prologues created slots for callee-saved registers twice on all platforms.
      This didn't affect JS because it doesn't use callee-save, but would probably have
      badly broken exceptions raised in Wasm code because Isolate::UnwindAndFindHandler
      was restoring registers and SP incorrectly. It also broke the in-progress CL for
      on-stack multiple returns.
      
      No tests included with this fix, because currently it is almost impossible to test
      directly (according to mstarzinger). But it will be tested indirectly via the upcoming
      multi-return support.
      
      Change-Id: If763cafc03de0a912eca48d5e25e8edfc4552b24
      Reviewed-on: https://chromium-review.googlesource.com/758374Reviewed-by: 's avatarBen Titzer <titzer@chromium.org>
      Commit-Queue: Andreas Rossberg <rossberg@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49233}
      ad7624e5
  4. 06 Nov, 2017 1 commit
  5. 03 Nov, 2017 1 commit
  6. 25 Oct, 2017 3 commits
  7. 18 Oct, 2017 1 commit
  8. 09 Oct, 2017 1 commit
  9. 04 Oct, 2017 1 commit
  10. 29 Sep, 2017 1 commit
  11. 25 Sep, 2017 1 commit
  12. 22 Sep, 2017 1 commit
  13. 15 Sep, 2017 1 commit
  14. 14 Sep, 2017 1 commit
  15. 13 Sep, 2017 1 commit
  16. 07 Sep, 2017 1 commit
  17. 06 Sep, 2017 1 commit
  18. 05 Sep, 2017 1 commit
    • Juliana Franco's avatar
      Remove weak-list of optimized JS functions. · f0acede9
      Juliana Franco authored
      This CL removes the weak-list of JS functions from the context
      and all the code that iterares over it. This list was being used
      mainly during deoptimization (for code unlinking) and during
      garbage collection. Removing it will improve performance of
      programs that create many closures and trigger many scavenge GC
      cycles.
      
      No extra work is required during garbage collection. However,
      given that we no longer unlink code from JS functions during
      deoptimization, we leave it as it is, and on its next activation
      we check whether the mark_for_deoptimization bit of that code is
      set, and if it is, than we unlink it and jump to lazy compiled
      code. This check happens in the prologue of every code object.
       
      We needed to change/remove the cctests that used to check
      something on this list.
       
      Working in x64, ia32, arm64, arm, mips64 and mips. 
       
      
      Bug: v8:6637
      Change-Id: Ica99a12fd0351ae985e9a287918bf28caf6d2e24
      TBR: mstarzinger@chromium.org
      Reviewed-on: https://chromium-review.googlesource.com/647596
      Commit-Queue: Jaroslav Sevcik <jarin@chromium.org>
      Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
      Reviewed-by: 's avatarJaroslav Sevcik <jarin@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47808}
      f0acede9
  19. 04 Sep, 2017 3 commits
    • Albert Mingkun Yang's avatar
      Adjust SP delta for kArchSaveCallerRegisters case · 0eb1bc9b
      Albert Mingkun Yang authored
      In kArchSaveCallerRegisters, PushCallerSaved alone alters stack pointer
      without informing `frame_access_state`. This commit compensate the
      inconsistency by manually increasing the delta after pushing registers.
      This affects systems (currently only ARM64) using stack pointer for
      accessing variables stored on stack.
      
      Bug: chromium:749486
      Change-Id: Ic6da3826323d4fb1c545ade3d4d2cd4d1fed1843
      Reviewed-on: https://chromium-review.googlesource.com/633606
      Commit-Queue: Albert Mingkun Yang <albertnetymk@google.com>
      Reviewed-by: 's avatarJaroslav Sevcik <jarin@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47797}
      0eb1bc9b
    • Michael Achenbach's avatar
      Revert "Remove weak-list of optimized JS functions." · 36b50283
      Michael Achenbach authored
      This reverts commit 84c2dfce.
      
      Reason for revert:
      https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap%20-%20debug/builds/14876
      
      Original change's description:
      > Remove weak-list of optimized JS functions.
      > 
      > This CL removes the weak-list of JS functions from the context
      > and all the code that iterares over it. This list was being used
      > mainly during deoptimization (for code unlinking) and during
      > garbage collection. Removing it will improve performance of
      > programs that create many closures and trigger many scavenge GC
      > cycles.
      > 
      > No extra work is required during garbage collection. However,
      > given that we no longer unlink code from JS functions during
      > deoptimization, we leave it as it is, and on its next activation
      > we check whether the mark_for_deoptimization bit of that code is
      > set, and if it is, than we unlink it and jump to lazy compiled
      > code. This check happens in the prologue of every code object.
      > 
      > We needed to change/remove the cctests that used to check
      > something on this list.
      > 
      > Working in x64, ia32, arm64, arm, mips64 and mips. 
      > 
      > Bug: v8:6637
      > Change-Id: I7f192652c8034b16a9ea71303fa8e78cda3c48f3
      > Reviewed-on: https://chromium-review.googlesource.com/600427
      > Commit-Queue: Juliana Patricia Vicente Franco <jupvfranco@google.com>
      > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
      > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
      > Reviewed-by: Leszek Swirski <leszeks@chromium.org>
      > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#47790}
      
      TBR=mstarzinger@chromium.org,jarin@chromium.org,leszeks@chromium.org,bmeurer@chromium.org,jupvfranco@google.com
      
      Change-Id: Ia4f1a8acf6ca5cd5c74266437a03d854b3739af2
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:6637
      Reviewed-on: https://chromium-review.googlesource.com/647540Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
      Commit-Queue: Michael Achenbach <machenbach@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47792}
      36b50283
    • Juliana Franco's avatar
      Remove weak-list of optimized JS functions. · 84c2dfce
      Juliana Franco authored
      This CL removes the weak-list of JS functions from the context
      and all the code that iterares over it. This list was being used
      mainly during deoptimization (for code unlinking) and during
      garbage collection. Removing it will improve performance of
      programs that create many closures and trigger many scavenge GC
      cycles.
      
      No extra work is required during garbage collection. However,
      given that we no longer unlink code from JS functions during
      deoptimization, we leave it as it is, and on its next activation
      we check whether the mark_for_deoptimization bit of that code is
      set, and if it is, than we unlink it and jump to lazy compiled
      code. This check happens in the prologue of every code object.
      
      We needed to change/remove the cctests that used to check
      something on this list.
      
      Working in x64, ia32, arm64, arm, mips64 and mips. 
      
      Bug: v8:6637
      Change-Id: I7f192652c8034b16a9ea71303fa8e78cda3c48f3
      Reviewed-on: https://chromium-review.googlesource.com/600427
      Commit-Queue: Juliana Patricia Vicente Franco <jupvfranco@google.com>
      Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
      Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
      Reviewed-by: 's avatarJaroslav Sevcik <jarin@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47790}
      84c2dfce
  20. 01 Sep, 2017 1 commit
  21. 24 Aug, 2017 1 commit
  22. 23 Aug, 2017 1 commit
    • Ross McIlroy's avatar
      Reland "[Compiler] Remove code aging support." · 8bf15bf1
      Ross McIlroy authored
      > This reverts commit 42d3d36b.
      > 
      > Original change's description:
      > > [Compiler] Remove code aging support.
      > > 
      > > Code aging is no longer supported by any remaining compilers now
      > > that full codegen has been removed. This CL removes all vestiges of
      > > code aging.
      > > 
      > > BUG=v8:6409
      > > 
      > > Change-Id: I945ebcc20c7c55120550c8ee36188bfa042ea65e
      > > Reviewed-on: https://chromium-review.googlesource.com/619153
      > > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
      > > Reviewed-by: Yang Guo <yangguo@chromium.org>
      > > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
      > > Reviewed-by: Marja Hölttä <marja@chromium.org>
      > > Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
      > > Cr-Commit-Position: refs/heads/master@{#47501}
      > 
      > TBR=ulan@chromium.org,rmcilroy@chromium.org,marja@chromium.org,yangguo@chromium.org,mstarzinger@chromium.org,rodolph.perfetta@arm.com
      > 
      > Change-Id: I9d8b2985e2d472697908270d93a35eb7ef9c88a8
      > No-Presubmit: true
      > No-Tree-Checks: true
      > No-Try: true
      > Bug: v8:6409
      > Reviewed-on: https://chromium-review.googlesource.com/625998
      > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
      > Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#47506}
      
      TBR=ulan@chromium.org,rmcilroy@chromium.org,marja@chromium.org,yangguo@chromium.org,mstarzinger@chromium.org,rodolph.perfetta@arm.com
      
      Change-Id: I68785c6be7686e874b3848103e3a34483eaeb519
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:6409
      Reviewed-on: https://chromium-review.googlesource.com/625919Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
      Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47535}
      8bf15bf1
  23. 22 Aug, 2017 4 commits
  24. 21 Aug, 2017 1 commit
  25. 17 Aug, 2017 1 commit
  26. 02 Aug, 2017 2 commits
  27. 01 Aug, 2017 2 commits
  28. 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
  29. 26 Jul, 2017 1 commit
  30. 24 Jul, 2017 1 commit