1. 22 May, 2019 1 commit
  2. 21 May, 2019 1 commit
  3. 20 May, 2019 4 commits
  4. 17 May, 2019 2 commits
  5. 30 Apr, 2019 1 commit
    • Mike Stanton's avatar
      Reland "[ptr-compr] New RelocInfo for compressed pointers." · ed319e84
      Mike Stanton authored
      Failure addressed by not exposing the new test to the jitless environment.
      (jgruber@ on TBR).
      
      New enum RelocInfo::COMPRESSED_EMBEDDED_OBJECT created to support
      compressed pointers in generated code. Enum name EMBEDDED_OBJECT
      changed to FULL_EMBEDDED_OBJECT.
      
      RelocInfo::[set_]target_object() abstract away the difference between
      FULL_EMBEDDED_OBJECT and COMPRESSED_EMBEDDED_OBJECT.
      
      Compressed embedded objects can only be created at this time on
      x64 with pointer compression turned on. Arm64 constant pools don't
      support compressed objects at this time.
      
      NOPRESUBMIT=true
      
      Bug: v8:7703
      TBR: jgruber@chromium.org
      Change-Id: Ifff53b041bab09b4b8c3e16085e5df4aa2b99f4f
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1588461Reviewed-by: 's avatarMichael Stanton <mvstanton@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Commit-Queue: Michael Stanton <mvstanton@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#61104}
      ed319e84
  6. 29 Apr, 2019 2 commits
  7. 11 Apr, 2019 1 commit
  8. 25 Feb, 2019 1 commit
  9. 15 Feb, 2019 1 commit
  10. 07 Feb, 2019 1 commit
  11. 30 Jan, 2019 2 commits
  12. 16 Jan, 2019 1 commit
    • Clemens Hammacher's avatar
      [assembler] Allow to pass custom buffer implementations · 1a3aab51
      Clemens Hammacher authored
      When generating an Assembler, you currently have two choices: Either
      let the Assembler allocate a growable internal buffer, which is owned
      by the Assembler. Or provide an externally allocated buffer, which
      cannot grow.
      This CL changes this interface to allow providing any implementation of
      a buffer. The provided buffer can be a view to an externally owned
      buffer, which still can grow.
      This will be used to split WebAssembly compilation and code submission.
      The buffer needs to be able to grow, but cannot be owned by the
      Assembler because it has to survive until the code is submitted.
      
      R=mstarzinger@chromium.org
      
      Bug: v8:8689
      Change-Id: Ib6c5ebffc8b71d0778944abac34f02c5cc7dbd79
      Reviewed-on: https://chromium-review.googlesource.com/c/1411347
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#58848}
      1a3aab51
  13. 24 Dec, 2018 1 commit
  14. 13 Dec, 2018 4 commits
    • Sigurd Schneider's avatar
      Reland "Reland "Reland "[code-comments] Put code comments into the code object""" · b55dd17f
      Sigurd Schneider authored
      This is a reland of 9c0a4858
      
      Original change's description:
      > Reland "Reland "[code-comments] Put code comments into the code object""
      >
      > This is a reland of ed3d6472
      >
      > This reland fixes that padding at the end of Wasm instruction streams
      > triggered asserts in the code printer.
      >
      > Original change's description:
      > > Reland "[code-comments] Put code comments into the code object"
      > >
      > > This is a reland of e774cffe
      > >
      > > This reland disables a test as v8:8548 is blocking it, which was
      > > broken by a recent CL. CQ did not catch this because the merge-base
      > > CQ used did not yet contain the CL that caused v8:8548.
      > >
      > > Original change's description:
      > > > [code-comments] Put code comments into the code object
      > > >
      > > > Code comments in the snapshot can now be enabled with gn
      > > > arg 'v8_enable_snapshot_code_comments'
      > > >
      > > > Bug: v8:7989
      > > > Change-Id: I8bd00cafa63132d00d849394c311ba15e6b6daf3
      > > > Reviewed-on: https://chromium-review.googlesource.com/c/1329173
      > > > Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
      > > > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
      > > > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
      > > > Reviewed-by: Michael Stanton <mvstanton@chromium.org>
      > > > Cr-Commit-Position: refs/heads/master@{#58020}
      > >
      > > TBR=mvstanton@chromium.org,mstarzinger@chromium.org,jgruber@chromium.org,tebbi@chromium.org
      > >
      > > Bug: v8:7989, v8:8548
      > > Change-Id: I464fc897205fefdf2dfc2eadc54d699c4e08a0e9
      > > Reviewed-on: https://chromium-review.googlesource.com/c/1361166
      > > Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
      > > Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
      > > Cr-Commit-Position: refs/heads/master@{#58028}
      >
      > Bug: v8:7989, v8:8548
      > Change-Id: I254f55ff687ad049f8d92b09331ed26a2bd05d7d
      > Reviewed-on: https://chromium-review.googlesource.com/c/1371784
      > Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
      > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
      > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#58221}
      
      TBR=jgruber@chromium.org,mstarzinger@chromium.org
      
      Bug: v8:7989, v8:8548, v8:8593
      Change-Id: I4f7ffc98e0281c7b744eb4a04ba0763896c7b59b
      Reviewed-on: https://chromium-review.googlesource.com/c/1375919Reviewed-by: 's avatarSigurd Schneider <sigurds@chromium.org>
      Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#58232}
      b55dd17f
    • Clemens Hammacher's avatar
      Revert "Reland "Reland "[code-comments] Put code comments into the code object""" · 8a5c0095
      Clemens Hammacher authored
      This reverts commit 9c0a4858.
      
      Reason for revert: Seems to break nosnap debug: https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Linux%20-%20nosnap%20-%20debug/22228
      
      Original change's description:
      > Reland "Reland "[code-comments] Put code comments into the code object""
      > 
      > This is a reland of ed3d6472
      > 
      > This reland fixes that padding at the end of Wasm instruction streams
      > triggered asserts in the code printer.
      > 
      > Original change's description:
      > > Reland "[code-comments] Put code comments into the code object"
      > >
      > > This is a reland of e774cffe
      > >
      > > This reland disables a test as v8:8548 is blocking it, which was
      > > broken by a recent CL. CQ did not catch this because the merge-base
      > > CQ used did not yet contain the CL that caused v8:8548.
      > >
      > > Original change's description:
      > > > [code-comments] Put code comments into the code object
      > > >
      > > > Code comments in the snapshot can now be enabled with gn
      > > > arg 'v8_enable_snapshot_code_comments'
      > > >
      > > > Bug: v8:7989
      > > > Change-Id: I8bd00cafa63132d00d849394c311ba15e6b6daf3
      > > > Reviewed-on: https://chromium-review.googlesource.com/c/1329173
      > > > Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
      > > > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
      > > > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
      > > > Reviewed-by: Michael Stanton <mvstanton@chromium.org>
      > > > Cr-Commit-Position: refs/heads/master@{#58020}
      > >
      > > TBR=mvstanton@chromium.org,mstarzinger@chromium.org,jgruber@chromium.org,tebbi@chromium.org
      > >
      > > Bug: v8:7989, v8:8548
      > > Change-Id: I464fc897205fefdf2dfc2eadc54d699c4e08a0e9
      > > Reviewed-on: https://chromium-review.googlesource.com/c/1361166
      > > Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
      > > Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
      > > Cr-Commit-Position: refs/heads/master@{#58028}
      > 
      > Bug: v8:7989, v8:8548
      > Change-Id: I254f55ff687ad049f8d92b09331ed26a2bd05d7d
      > Reviewed-on: https://chromium-review.googlesource.com/c/1371784
      > Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
      > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
      > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#58221}
      
      TBR=mvstanton@chromium.org,mstarzinger@chromium.org,sigurds@chromium.org,jgruber@chromium.org
      
      Change-Id: I681a3c63120c6ab953bfe9cd2b07bcf560ebfdee
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:7989, v8:8548
      Reviewed-on: https://chromium-review.googlesource.com/c/1375916
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#58228}
      8a5c0095
    • Sigurd Schneider's avatar
      Reland "Reland "[code-comments] Put code comments into the code object"" · 9c0a4858
      Sigurd Schneider authored
      This is a reland of ed3d6472
      
      This reland fixes that padding at the end of Wasm instruction streams
      triggered asserts in the code printer.
      
      Original change's description:
      > Reland "[code-comments] Put code comments into the code object"
      >
      > This is a reland of e774cffe
      >
      > This reland disables a test as v8:8548 is blocking it, which was
      > broken by a recent CL. CQ did not catch this because the merge-base
      > CQ used did not yet contain the CL that caused v8:8548.
      >
      > Original change's description:
      > > [code-comments] Put code comments into the code object
      > >
      > > Code comments in the snapshot can now be enabled with gn
      > > arg 'v8_enable_snapshot_code_comments'
      > >
      > > Bug: v8:7989
      > > Change-Id: I8bd00cafa63132d00d849394c311ba15e6b6daf3
      > > Reviewed-on: https://chromium-review.googlesource.com/c/1329173
      > > Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
      > > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
      > > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
      > > Reviewed-by: Michael Stanton <mvstanton@chromium.org>
      > > Cr-Commit-Position: refs/heads/master@{#58020}
      >
      > TBR=mvstanton@chromium.org,mstarzinger@chromium.org,jgruber@chromium.org,tebbi@chromium.org
      >
      > Bug: v8:7989, v8:8548
      > Change-Id: I464fc897205fefdf2dfc2eadc54d699c4e08a0e9
      > Reviewed-on: https://chromium-review.googlesource.com/c/1361166
      > Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
      > Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#58028}
      
      Bug: v8:7989, v8:8548
      Change-Id: I254f55ff687ad049f8d92b09331ed26a2bd05d7d
      Reviewed-on: https://chromium-review.googlesource.com/c/1371784
      Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
      Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#58221}
      9c0a4858
    • Jakob Gruber's avatar
      [asm] Pad instruction area with int3 · 28b01697
      Jakob Gruber authored
      The disassembler expects the actual instruction area of a code object
      (i.e. from InstructionStart() to the first embedded metadata section
      such as the handler table) to contain only valid instructions.
      
      This changes asm::DataAlign() to pad with 0xcc bytes, which are int3
      instructions on x64 and ia32.
      
      Bug: v8:8559
      Change-Id: I8a0920a85d4de89194e5c8d3d1a541d8b36fef92
      Reviewed-on: https://chromium-review.googlesource.com/c/1375652Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#58207}
      28b01697
  15. 07 Dec, 2018 3 commits
  16. 04 Dec, 2018 4 commits
  17. 16 Nov, 2018 1 commit
  18. 15 Nov, 2018 3 commits
    • Jakob Gruber's avatar
      Reland "[builtins] Support embedded builtins in nosnapshot builds" · e1044d10
      Jakob Gruber authored
      This is a reland of bf2f0a02
      
      Original change's description:
      > [builtins] Support embedded builtins in nosnapshot builds
      >
      > This CL adds support for embedded builtins in nosnap builds by creating
      > and setting an 'embedded blob' after builtin generation. Unlike
      > snapshot builds, the blob is not embedded into the .text section but
      > located on the C++ heap.
      >
      > This makes nosnap builds more consistent with mksnapshot, and allows us
      > to simplify there and in serializer cctests.
      >
      > Complications arise from the different workflows we need to support:
      >
      > 1. the standard mksnapshot build process,
      > 2. nosnap builds (which reuse the blob created by the first Isolate),
      > 2. and tests with various complicated serialization workflows.
      >
      > To cover all of these cases, this CL introduces two knobs to twiddle:
      >
      > 1. A 'sticky' embedded blob which overrides compiled-in default
      >    embedded blobs at Isolate setup.
      > 2. The blob lifecycle can be managed manually or through refcounting.
      >
      > These are described in more detail in isolate.cc.
      >
      > Tbr: ulan@chromium.org
      > Bug: v8:6666, v8:8350
      > Change-Id: I3842e40cdaf45d2cadd05c6eb1ec2f5e3d83568d
      > Reviewed-on: https://chromium-review.googlesource.com/c/1310195
      > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
      > Reviewed-by: Yang Guo <yangguo@chromium.org>
      > Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#57523}
      
      Tbr: ulan@chromium.org,yangguo@chromium.org
      Bug: v8:6666, v8:8350
      Change-Id: I13b523c9e7406b39a3cd28465c06f17f1744a738
      Reviewed-on: https://chromium-review.googlesource.com/c/1337578
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#57540}
      e1044d10
    • Jakob Gruber's avatar
      Revert "[builtins] Support embedded builtins in nosnapshot builds" · 856be9c2
      Jakob Gruber authored
      This reverts commit bf2f0a02.
      
      Reason for revert: https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Linux%20-%20nosnap%20-%20debug/21753
      
      Original change's description:
      > [builtins] Support embedded builtins in nosnapshot builds
      > 
      > This CL adds support for embedded builtins in nosnap builds by creating
      > and setting an 'embedded blob' after builtin generation. Unlike
      > snapshot builds, the blob is not embedded into the .text section but
      > located on the C++ heap.
      > 
      > This makes nosnap builds more consistent with mksnapshot, and allows us
      > to simplify there and in serializer cctests.
      > 
      > Complications arise from the different workflows we need to support:
      > 
      > 1. the standard mksnapshot build process,
      > 2. nosnap builds (which reuse the blob created by the first Isolate),
      > 2. and tests with various complicated serialization workflows.
      > 
      > To cover all of these cases, this CL introduces two knobs to twiddle:
      > 
      > 1. A 'sticky' embedded blob which overrides compiled-in default
      >    embedded blobs at Isolate setup.
      > 2. The blob lifecycle can be managed manually or through refcounting.
      > 
      > These are described in more detail in isolate.cc.
      > 
      > Tbr: ulan@chromium.org
      > Bug: v8:6666, v8:8350
      > Change-Id: I3842e40cdaf45d2cadd05c6eb1ec2f5e3d83568d
      > Reviewed-on: https://chromium-review.googlesource.com/c/1310195
      > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
      > Reviewed-by: Yang Guo <yangguo@chromium.org>
      > Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#57523}
      
      TBR=ulan@chromium.org,yangguo@chromium.org,jgruber@chromium.org
      
      Change-Id: I6e35a0cb7186fb50f1012f5c618fb8b48b24a813
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:6666, v8:8350
      Reviewed-on: https://chromium-review.googlesource.com/c/1337577Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#57529}
      856be9c2
    • Jakob Gruber's avatar
      [builtins] Support embedded builtins in nosnapshot builds · bf2f0a02
      Jakob Gruber authored
      This CL adds support for embedded builtins in nosnap builds by creating
      and setting an 'embedded blob' after builtin generation. Unlike
      snapshot builds, the blob is not embedded into the .text section but
      located on the C++ heap.
      
      This makes nosnap builds more consistent with mksnapshot, and allows us
      to simplify there and in serializer cctests.
      
      Complications arise from the different workflows we need to support:
      
      1. the standard mksnapshot build process,
      2. nosnap builds (which reuse the blob created by the first Isolate),
      2. and tests with various complicated serialization workflows.
      
      To cover all of these cases, this CL introduces two knobs to twiddle:
      
      1. A 'sticky' embedded blob which overrides compiled-in default
         embedded blobs at Isolate setup.
      2. The blob lifecycle can be managed manually or through refcounting.
      
      These are described in more detail in isolate.cc.
      
      Tbr: ulan@chromium.org
      Bug: v8:6666, v8:8350
      Change-Id: I3842e40cdaf45d2cadd05c6eb1ec2f5e3d83568d
      Reviewed-on: https://chromium-review.googlesource.com/c/1310195Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#57523}
      bf2f0a02
  19. 19 Oct, 2018 1 commit
  20. 12 Oct, 2018 1 commit
  21. 19 Sep, 2018 1 commit
  22. 17 Sep, 2018 1 commit
  23. 15 Sep, 2018 2 commits