1. 26 Apr, 2018 3 commits
  2. 24 Apr, 2018 1 commit
  3. 23 Apr, 2018 4 commits
  4. 20 Apr, 2018 1 commit
    • Sigurd Schneider's avatar
      [deoptimizer] Refactor frame output writing in deoptimizer · a1f33fa2
      Sigurd Schneider authored
      This CL introduces an stack abstraction for writing frame descriptions.
      Previously, we managed the output offset by hand, which is verbose and
      error prone. This CL introduced FrameWriter, which offers a stack
      abstraction with push operations for constructing the output frame
      descriptions.
      
      The abstraction is only applied to DoComputeBuiltinContinuation;
      following CLs will apply it to the other DoCompute* functions.
      
      Bug: v8:7679
      
      Change-Id: Ia6e34de1ed63ba9245e2a08945b1e0548562ed43
      Reviewed-on: https://chromium-review.googlesource.com/1019143Reviewed-by: 's avatarJaroslav Sevcik <jarin@chromium.org>
      Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#52714}
      a1f33fa2
  5. 17 Apr, 2018 1 commit
  6. 14 Apr, 2018 1 commit
    • Jakob Kummerow's avatar
      [ubsan] Change Address typedef to uintptr_t · 2459046c
      Jakob Kummerow authored
      The "Address" type is V8's general-purpose type for manipulating memory
      addresses. Per the C++ spec, pointer arithmetic and pointer comparisons
      are undefined behavior except within the same array; since we generally
      don't operate within a C++ array, our general-purpose type shouldn't be
      a pointer type.
      
      Bug: v8:3770
      Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;master.tryserver.blink:linux_trusty_blink_rel
      Change-Id: Ib96016c24a0f18bcdba916dabd83e3f24a1b5779
      Reviewed-on: https://chromium-review.googlesource.com/988657
      Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
      Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#52601}
      2459046c
  7. 10 Apr, 2018 3 commits
  8. 09 Apr, 2018 3 commits
  9. 05 Apr, 2018 1 commit
    • jgruber's avatar
      Rename Code::instruction_{start,end,size} functions · 7b29fe43
      jgruber authored
      In order to clarify the difference between, e.g., InstructionStart and
      instruction_start, rename as follows:
      
      Code::instruction_start -> raw_instruction_start
      Code::instruction_end   -> raw_instruction_end
      Code::instruction_size  -> raw_instruction_size
      
      The difference between the camel-case and raw_* function families is
      in how they handle off-heap-trampoline Code objects. For example, when
      called on an off-heap-trampoline: raw_instruction_start returns the
      trampoline's entry point, while InstructionStart returns the off-heap
      code's entry point (located in the .text section of the binary).
      
      Some callsites were updated to call the camel-case function family as
      appropriate.
      
      Bug: v8:6666
      Change-Id: I4a572f47c2d161a853599d7c17879e263b0d1a87
      Reviewed-on: https://chromium-review.googlesource.com/997532
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#52387}
      7b29fe43
  10. 04 Apr, 2018 1 commit
  11. 03 Apr, 2018 1 commit
  12. 28 Mar, 2018 1 commit
  13. 23 Mar, 2018 3 commits
  14. 21 Mar, 2018 1 commit
  15. 02 Mar, 2018 1 commit
  16. 27 Feb, 2018 1 commit
  17. 26 Feb, 2018 1 commit
  18. 23 Feb, 2018 2 commits
    • jgruber's avatar
      [deoptimizer] Support off-heap code in deoptimizer · 19068040
      jgruber authored
      The deoptimizer can create argument adaptor frames, in which case we
      write a return address onto the stack that jumps into the middle of
      the ArgumentsAdaptorTrampoline builtin. Now that this builtin is
      off-heap, we need to calculate the return address based on the
      off-heap instruction stream, not the on-heap trampoline.
      
      Bug: v8:6666
      Change-Id: I55b27fe8b0573f6c6ae66375850352f71bdff618
      Reviewed-on: https://chromium-review.googlesource.com/934202
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarJaroslav Sevcik <jarin@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#51520}
      19068040
    • jgruber's avatar
      [builtins] Add IsOffHeapSafe predicate and test · 481c21e0
      jgruber authored
      Off-heap-safety slightly differs from isolate-independence in that it
      allows external references and checks instruction-size constraints.
      
      This adds the new predicate as well as a cctest verifying it. New
      DCHECKs are introduced to document assumptions and upcoming work.
      
      Note that this breaks the --stress-off-heap-code flag. Fixes will
      follow in upcoming CLs.
      
      Bug: v8:6666
      Change-Id: If4f3e0f4428bacc8d293cd864b9b07b81679c423
      Reviewed-on: https://chromium-review.googlesource.com/934183
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#51513}
      481c21e0
  19. 20 Feb, 2018 1 commit
  20. 13 Feb, 2018 1 commit
  21. 31 Jan, 2018 1 commit
  22. 11 Jan, 2018 1 commit
  23. 09 Jan, 2018 1 commit
  24. 20 Dec, 2017 1 commit
    • Georgia Kouveli's avatar
      Reland "[arm64] Preparation for padding of arguments" · f6879033
      Georgia Kouveli authored
      This is a reland of bcf11729
      
      The test was timing out in no snapshot builds, as each CodeAssemblerTester
      creates a new Context. Reduced the random iterations significantly.
      
      Original change's description:
      > [arm64] Preparation for padding of arguments
      >
      > As part of JSSP removal, we need to align the arguments passed to functions
      > on the stack, by adding a padding slot when the total number of arguments
      > is odd.
      >
      > This patch introduces the kPadArguments flag (which is currently set to
      > false for all architectures), which will control padding of arguments in
      > architecture-independent parts of the code (deoptimizer, instruction
      > selector).
      >
      > It also adds some executable tests for tail calls with various stack
      > parameter counts on the caller and callee sides.
      >
      > This will be turned on for arm64 together with arm64-specific changes to
      > the code generator, the MacroAsembler and the builtins, in a later patch.
      >
      > Bug: v8:6644
      > Change-Id: I79a5c149123fe8130cedd1ccffec3d9b50361e08
      > Reviewed-on: https://chromium-review.googlesource.com/806554
      > Commit-Queue: Georgia Kouveli <georgia.kouveli@arm.com>
      > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
      > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#50134}
      
      TBR=jarin@chromium.org
      
      Bug: v8:6644
      Change-Id: I795877ed9791e126ffac6841dbbb65189e95d207
      Reviewed-on: https://chromium-review.googlesource.com/833046
      Commit-Queue: Georgia Kouveli <georgia.kouveli@arm.com>
      Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#50238}
      f6879033
  25. 16 Dec, 2017 1 commit
    • Michael Achenbach's avatar
      Revert "[arm64] Preparation for padding of arguments" · fb8efb12
      Michael Achenbach authored
      This reverts commit bcf11729.
      
      Reason for revert:
      https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap%20-%20debug/builds/16791
      
      The test cctest/test-run-tail-calls/FuzzStackParamCount hangs on
      the nosnap debug bot and times out.
      
      Original change's description:
      > [arm64] Preparation for padding of arguments
      > 
      > As part of JSSP removal, we need to align the arguments passed to functions
      > on the stack, by adding a padding slot when the total number of arguments
      > is odd.
      > 
      > This patch introduces the kPadArguments flag (which is currently set to
      > false for all architectures), which will control padding of arguments in
      > architecture-independent parts of the code (deoptimizer, instruction
      > selector).
      > 
      > It also adds some executable tests for tail calls with various stack
      > parameter counts on the caller and callee sides.
      > 
      > This will be turned on for arm64 together with arm64-specific changes to
      > the code generator, the MacroAsembler and the builtins, in a later patch.
      > 
      > Bug: v8:6644
      > Change-Id: I79a5c149123fe8130cedd1ccffec3d9b50361e08
      > Reviewed-on: https://chromium-review.googlesource.com/806554
      > Commit-Queue: Georgia Kouveli <georgia.kouveli@arm.com>
      > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
      > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#50134}
      
      TBR=rmcilroy@chromium.org,jarin@chromium.org,georgia.kouveli@arm.com
      
      Change-Id: Iff4d7da418204834822842b160eacb8980058172
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:6644
      Reviewed-on: https://chromium-review.googlesource.com/830847Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
      Commit-Queue: Michael Achenbach <machenbach@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#50144}
      fb8efb12
  26. 15 Dec, 2017 3 commits