1. 16 Nov, 2018 1 commit
  2. 09 Nov, 2018 1 commit
  3. 31 Oct, 2018 1 commit
  4. 29 Oct, 2018 1 commit
  5. 22 Oct, 2018 1 commit
  6. 16 Oct, 2018 1 commit
    • Dan Elphick's avatar
      [snapshot] Create a ReadOnly snapshot · f602712f
      Dan Elphick authored
      In preparation for sharing RO_SPACE between all Isolates within a
      process, this first pulls RO_SPACE out of the Startup snapshot and puts
      it in its own ReadOnly snapshot.
      
      The snapshot is first populated with the read-only roots. After that the
      StartupSerializer serializes as before but starting from the first
      mutable root. References to objects in the ReadOnly snapshot that aren't
      themselves roots are added to a new cache called ReadOnlyObjectCache
      which functions like the PartialSnapshotCache but lives in the
      ReadOnlySerializer rather than the StartupSerializer. These cache
      entries are referenced using a new bytecode: ReadOnlyObjectCache. (To
      make room for this, the ApiReference bytecode has been moved).
      
      To reduce code duplication, the StartupSerializer has been refactored to
      create a new base class RootSerializer, which ReadOnlySerializer also
      subclasses. The base class is responsible primarily for keeping track of
      already serialized roots and visiting the roots.
      
      Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
      Change-Id: Iff26042886130ae22eccf2e11b35f6f226f4a792
      Bug: v8:8191
      Reviewed-on: https://chromium-review.googlesource.com/c/1244676
      Commit-Queue: Dan Elphick <delphick@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#56681}
      f602712f
  7. 25 Sep, 2018 3 commits
    • Yang Guo's avatar
      Reland "[snapshot] add checksum to startup snapshot" · 8ff37bc7
      Yang Guo authored
      This is a reland of bcb8d49b
      
      TBR=petermarshall@chromium.org
      
      Original change's description:
      > [snapshot] add checksum to startup snapshot
      >
      > We already had checksumming for code cache data. We now extend
      > checksumming to the startup snapshot to catch data corruption early.
      >
      > The performance impact for deserialization is a regression of 1-2%,
      > which should be acceptable.
      >
      > Sample output for the included test with --profile-deserialization:
      >
      > [Verifying snapshot checksum took 0.023 ms]
      > [Deserializing isolate (134348 bytes) took 1.891 ms]
      > [Verifying snapshot checksum took 0.024 ms]
      > [Deserializing isolate (134348 bytes) took 1.654 ms]
      > [Deserializing context #0 (47208 bytes) took 0.331 ms]
      > Deserialization will reserve:
      >     208168 bytes per isolate
      >     123368 bytes per context #0
      > Snapshot blob consists of:
      >     134492 bytes in 6 chunks for startup
      >     115272 bytes for builtins
      >      47152 bytes in 31 chunks for context #0
      > [Verifying snapshot checksum took 0.048 ms]
      > [Verifying snapshot checksum took 0.043 ms]
      >
      > R=peria@chromium.org, petermarshall@chromium.org
      >
      > Bug: chromium:881417
      > Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
      > Change-Id: Ibc57520d459c86be8972f731aa35045b5e3751d7
      > Reviewed-on: https://chromium-review.googlesource.com/1241874
      > Reviewed-by: Peter Marshall <petermarshall@chromium.org>
      > Commit-Queue: Yang Guo <yangguo@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#56217}
      
      Bug: chromium:881417
      Change-Id: I037f378fc2d45c3e0fa670bf538df68cbba5c53c
      Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
      Reviewed-on: https://chromium-review.googlesource.com/1243191Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Commit-Queue: Yang Guo <yangguo@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#56224}
      8ff37bc7
    • Clemens Hammacher's avatar
      Revert "[snapshot] add checksum to startup snapshot" · 0a04f263
      Clemens Hammacher authored
      This reverts commit bcb8d49b.
      
      Reason for revert: MSan compile error: https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Linux%20-%20arm64%20-%20sim%20-%20MSAN/23025
      
      Original change's description:
      > [snapshot] add checksum to startup snapshot
      > 
      > We already had checksumming for code cache data. We now extend
      > checksumming to the startup snapshot to catch data corruption early.
      > 
      > The performance impact for deserialization is a regression of 1-2%,
      > which should be acceptable.
      > 
      > Sample output for the included test with --profile-deserialization:
      > 
      > [Verifying snapshot checksum took 0.023 ms]
      > [Deserializing isolate (134348 bytes) took 1.891 ms]
      > [Verifying snapshot checksum took 0.024 ms]
      > [Deserializing isolate (134348 bytes) took 1.654 ms]
      > [Deserializing context #0 (47208 bytes) took 0.331 ms]
      > Deserialization will reserve:
      >     208168 bytes per isolate
      >     123368 bytes per context #0
      > Snapshot blob consists of:
      >     134492 bytes in 6 chunks for startup
      >     115272 bytes for builtins
      >      47152 bytes in 31 chunks for context #0
      > [Verifying snapshot checksum took 0.048 ms]
      > [Verifying snapshot checksum took 0.043 ms]
      > 
      > R=​peria@chromium.org, petermarshall@chromium.org
      > 
      > Bug: chromium:881417
      > Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
      > Change-Id: Ibc57520d459c86be8972f731aa35045b5e3751d7
      > Reviewed-on: https://chromium-review.googlesource.com/1241874
      > Reviewed-by: Peter Marshall <petermarshall@chromium.org>
      > Commit-Queue: Yang Guo <yangguo@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#56217}
      
      TBR=peria@chromium.org,yangguo@chromium.org,petermarshall@chromium.org
      
      Change-Id: Iccb82092858ab68a5d6ae9552fa716108eda354b
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: chromium:881417
      Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
      Reviewed-on: https://chromium-review.googlesource.com/1243190Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#56221}
      0a04f263
    • Yang Guo's avatar
      [snapshot] add checksum to startup snapshot · bcb8d49b
      Yang Guo authored
      We already had checksumming for code cache data. We now extend
      checksumming to the startup snapshot to catch data corruption early.
      
      The performance impact for deserialization is a regression of 1-2%,
      which should be acceptable.
      
      Sample output for the included test with --profile-deserialization:
      
      [Verifying snapshot checksum took 0.023 ms]
      [Deserializing isolate (134348 bytes) took 1.891 ms]
      [Verifying snapshot checksum took 0.024 ms]
      [Deserializing isolate (134348 bytes) took 1.654 ms]
      [Deserializing context #0 (47208 bytes) took 0.331 ms]
      Deserialization will reserve:
          208168 bytes per isolate
          123368 bytes per context #0
      Snapshot blob consists of:
          134492 bytes in 6 chunks for startup
          115272 bytes for builtins
           47152 bytes in 31 chunks for context #0
      [Verifying snapshot checksum took 0.048 ms]
      [Verifying snapshot checksum took 0.043 ms]
      
      R=peria@chromium.org, petermarshall@chromium.org
      
      Bug: chromium:881417
      Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
      Change-Id: Ibc57520d459c86be8972f731aa35045b5e3751d7
      Reviewed-on: https://chromium-review.googlesource.com/1241874Reviewed-by: 's avatarPeter Marshall <petermarshall@chromium.org>
      Commit-Queue: Yang Guo <yangguo@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#56217}
      bcb8d49b
  8. 20 Sep, 2018 1 commit
    • Dan Elphick's avatar
      [interpreter] Always put bytecode handlers in builtins table · daa296b5
      Dan Elphick authored
      This always creates the bytecode handlers as part of the builtins table
      regardless of the V8_EMBEDDED_BYTECODE_HANDLERS definition.
      
      Lazy deserialization of bytecode handlers is enabled for this flow by
      moving the three lazy bytecode deserializers from the strong roots into
      the builtins table (ensuring that they not marked lazy themselves).
      
      To simplify lazy deserialization, the illegal bytecode handler is made
      non-lazy so that GetAndMaybeDeserializeBytecodeHandler doesn't to know
      about it.
      
      Since the bytecode handlers are now always part of the builtins table,
      many bytecode specific methods are removed, including logging and in
      BuiltinsSerializer and BuiltinsDeserializer.
      
      Removes setup-interpreter.h, setup-interpreter-internal.cc and
      builtin-snapshot-utils.*.
      
      Change-Id: Ie421aa897a04f7b3bcb964c476eb7ab149388d53
      Reviewed-on: https://chromium-review.googlesource.com/1220046Reviewed-by: 's avatarHannes Payer <hpayer@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
      Commit-Queue: Dan Elphick <delphick@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#56063}
      daa296b5
  9. 03 Sep, 2018 1 commit
  10. 08 Aug, 2018 1 commit
  11. 26 Jul, 2018 1 commit
  12. 05 Jul, 2018 1 commit
    • jgruber's avatar
      [builtins] Add embedded stats to --serialization-statistics · a7dce4fb
      jgruber authored
      This adds the option to output statistics about the embedded blob.
      
      On x64 release, the output is currently:
      
      Total size:                         724064
      Metadata size:                      6832
      Instruction size:                   703427
      Padding:                            13805
      Embedded builtin count:             852
      Instruction size (50th percentile): 222
      Instruction size (75th percentile): 749
      Instruction size (90th percentile): 1871
      Instruction size (99th percentile): 9171
      
      Total size is added to our Memory benchmark.
      
      Drive-by: Fix startup / context regexps for Memory benchmark.
      
      Bug: v8:6666, v8:7898
      Change-Id: I90d4458877939d3b48593bd9dd3a33971fe78c44
      Reviewed-on: https://chromium-review.googlesource.com/1126104
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#54256}
      a7dce4fb
  13. 03 Jul, 2018 1 commit
  14. 20 Apr, 2018 1 commit
  15. 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
  16. 26 Mar, 2018 1 commit
    • jgruber's avatar
      [builtins] Support off-heap constant pool access · 4c5bf68e
      jgruber authored
      Access to the constant pool of off-heap builtins must use
      Instruction{Start,Size} instead of the raw instruction_{start,size}
      accessors, and we need to copy the constant_pool_offset field when
      creating trampolines.
      
      This in turn required access to the embedded blob without an
      associated isolate, which is now implemented by global variable set by
      each isolate. Both writes and reads are relaxed, as races do not
      matter since each isolate will attempt to set the same value of the
      blob and its size.
      
      Drive-by: Support off-heap code disassembly.
      
      Bug: v8:6666,v8:7575
      Change-Id: I4f203acd4dc128339cf2dd54b3253d9552616649
      Reviewed-on: https://chromium-review.googlesource.com/973442
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#52209}
      4c5bf68e
  17. 22 Mar, 2018 3 commits
  18. 20 Mar, 2018 2 commits
  19. 19 Mar, 2018 1 commit
    • jgruber's avatar
      Reland "[builtins] Remove off-heap builtins from the snapshot" · fd70917d
      jgruber authored
      This is a reland of f1b1ec70
      
      Original change's description:
      > [builtins] Remove off-heap builtins from the snapshot
      >
      > This CL is the final major step towards shipping off-heap-safe builtins
      > embedded into the binary.
      >
      > Prior to snapshot serialization, we now:
      > * create the embedded blob containing off-heap instruction streams,
      > * use that to generate embedded.cc (containing embedded binary data),
      > * replace off-heap-safe builtins with trampolines,
      > * and serialize those into the final snapshot.
      >
      > The new RelocInfo::OFF_HEAP_TARGET kind is used to fix up trampoline
      > targets on deserialization.
      >
      > Bug: v8:6666
      > Change-Id: Ib07aea9e3bd7ecdec42291c1388b3a7453ea96ce
      > Reviewed-on: https://chromium-review.googlesource.com/950775
      > Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
      > Reviewed-by: Yang Guo <yangguo@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#51960}
      
      TBR=yangguo@chromium.org,mstarzinger@chromium.org
      
      Cq-Include-Trybots: luci.v8.try:v8_mac64_dbg,v8_mac64_rel
      Bug: v8:6666
      Change-Id: Id9954af3c8195754ff3658c4603858904fcf88c4
      Reviewed-on: https://chromium-review.googlesource.com/964481
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#52006}
      fd70917d
  20. 15 Mar, 2018 2 commits
  21. 09 Mar, 2018 2 commits
    • jgruber's avatar
      Reland "[builtins] Embed builtins into the binary" · e6476f89
      jgruber authored
      This is a reland of 491d5a81
      
      Original change's description:
      > [builtins] Embed builtins into the binary
      >
      > This embeds code for off-heap-safe builtins into the binary. Actual
      > execution of embedded code is not implemented yet.
      >
      > The embedded file has the following format:
      >
      > namespace v8 {
      > namespace internal {
      >
      > namespace {
      >
      > V8_EMBEDDED_TEXT_HEADER(v8_embedded_blob_)
      > __asm__( /* builtin offsets and lengths */ );
      > __asm__(V8_ASM_LABEL("Builtins_RecordWrite"));
      > __asm__( /* binary instruction stream */ );
      > /* Repeat for other builtins. */
      >
      > extern "C" const uint8_t v8_embedded_blob_[];
      > static const uint32_t v8_embedded_blob_size_ = /* size in bytes */;
      >
      > }  // namespace
      >
      > const uint8_t* DefaultEmbeddedBlob() { return v8_embedded_blob_; }
      > uint32_t DefaultEmbeddedBlobSize() { return v8_embedded_blob_size_; }
      >
      > }  // namespace internal
      > }  // namespace v8
      >
      > Bug: v8:6666
      > Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;luci.v8.try:v8_linux64_fyi_rel_ng
      > Change-Id: Ic989f01da69ebe2863f31d934bfbe2c5d6e80864
      > Reviewed-on: https://chromium-review.googlesource.com/946011
      > Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      > Reviewed-by: Yang Guo <yangguo@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#51759}
      
      TBR=yangguo@chromium.org
      
      Bug: v8:6666
      Change-Id: I89b0498f22b4ce573723748d55d86a82ba285a88
      Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;luci.v8.try:v8_linux64_fyi_rel_ng
      Reviewed-on: https://chromium-review.googlesource.com/957024Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#51832}
      e6476f89
    • Jakob Gruber's avatar
      Revert "Reland "[builtins] Embed builtins into the binary"" · 481aa56d
      Jakob Gruber authored
      This reverts commit 36b32aa2.
      
      Reason for revert: https://build.chromium.org/p/client.v8.fyi/builders/Win%20V8%20FYI%20Release%20%28NVIDIA%29/builds/208
      
      Original change's description:
      > Reland "[builtins] Embed builtins into the binary"
      > 
      > This is a reland of 491d5a81
      > 
      > Original change's description:
      > > [builtins] Embed builtins into the binary
      > >
      > > This embeds code for off-heap-safe builtins into the binary. Actual
      > > execution of embedded code is not implemented yet.
      > >
      > > The embedded file has the following format:
      > >
      > > namespace v8 {
      > > namespace internal {
      > >
      > > namespace {
      > >
      > > V8_EMBEDDED_TEXT_HEADER(v8_embedded_blob_)
      > > __asm__( /* builtin offsets and lengths */ );
      > > __asm__(V8_ASM_LABEL("Builtins_RecordWrite"));
      > > __asm__( /* binary instruction stream */ );
      > > /* Repeat for other builtins. */
      > >
      > > extern "C" const uint8_t v8_embedded_blob_[];
      > > static const uint32_t v8_embedded_blob_size_ = /* size in bytes */;
      > >
      > > }  // namespace
      > >
      > > const uint8_t* DefaultEmbeddedBlob() { return v8_embedded_blob_; }
      > > uint32_t DefaultEmbeddedBlobSize() { return v8_embedded_blob_size_; }
      > >
      > > }  // namespace internal
      > > }  // namespace v8
      > >
      > > Bug: v8:6666
      > > Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;luci.v8.try:v8_linux64_fyi_rel_ng
      > > Change-Id: Ic989f01da69ebe2863f31d934bfbe2c5d6e80864
      > > Reviewed-on: https://chromium-review.googlesource.com/946011
      > > Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      > > Reviewed-by: Yang Guo <yangguo@chromium.org>
      > > Cr-Commit-Position: refs/heads/master@{#51759}
      > 
      > TBR=yangguo@chromium.org
      > 
      > Bug: v8:6666
      > Change-Id: I741554cb080b6811dfbcb0913c6e1594e74c0432
      > Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;luci.v8.try:v8_linux64_fyi_rel_ng
      > Reviewed-on: https://chromium-review.googlesource.com/955084
      > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
      > Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#51804}
      
      TBR=yangguo@chromium.org,jgruber@chromium.org
      
      Change-Id: I0e21f958f18b0e4d7edebece5e4a2a3ea094cdd3
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:6666
      Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;luci.v8.try:v8_linux64_fyi_rel_ng
      Reviewed-on: https://chromium-review.googlesource.com/956185Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#51828}
      481aa56d
  22. 08 Mar, 2018 2 commits
    • Yang Guo's avatar
      [debug] implement break at builtin entry via debug trampoline. · 31f2a821
      Yang Guo authored
      R=bmeurer@chromium.org, leszeks@chromium.org
      
      Bug: v8:178
      Change-Id: I00411ddfee458a71464dcba7f1b504b46c70ef06
      Reviewed-on: https://chromium-review.googlesource.com/953002Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
      Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
      Commit-Queue: Yang Guo <yangguo@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#51811}
      31f2a821
    • jgruber's avatar
      Reland "[builtins] Embed builtins into the binary" · 36b32aa2
      jgruber authored
      This is a reland of 491d5a81
      
      Original change's description:
      > [builtins] Embed builtins into the binary
      >
      > This embeds code for off-heap-safe builtins into the binary. Actual
      > execution of embedded code is not implemented yet.
      >
      > The embedded file has the following format:
      >
      > namespace v8 {
      > namespace internal {
      >
      > namespace {
      >
      > V8_EMBEDDED_TEXT_HEADER(v8_embedded_blob_)
      > __asm__( /* builtin offsets and lengths */ );
      > __asm__(V8_ASM_LABEL("Builtins_RecordWrite"));
      > __asm__( /* binary instruction stream */ );
      > /* Repeat for other builtins. */
      >
      > extern "C" const uint8_t v8_embedded_blob_[];
      > static const uint32_t v8_embedded_blob_size_ = /* size in bytes */;
      >
      > }  // namespace
      >
      > const uint8_t* DefaultEmbeddedBlob() { return v8_embedded_blob_; }
      > uint32_t DefaultEmbeddedBlobSize() { return v8_embedded_blob_size_; }
      >
      > }  // namespace internal
      > }  // namespace v8
      >
      > Bug: v8:6666
      > Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;luci.v8.try:v8_linux64_fyi_rel_ng
      > Change-Id: Ic989f01da69ebe2863f31d934bfbe2c5d6e80864
      > Reviewed-on: https://chromium-review.googlesource.com/946011
      > Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      > Reviewed-by: Yang Guo <yangguo@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#51759}
      
      TBR=yangguo@chromium.org
      
      Bug: v8:6666
      Change-Id: I741554cb080b6811dfbcb0913c6e1594e74c0432
      Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;luci.v8.try:v8_linux64_fyi_rel_ng
      Reviewed-on: https://chromium-review.googlesource.com/955084Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#51804}
      36b32aa2
  23. 06 Mar, 2018 4 commits
    • Ross McIlroy's avatar
      Revert "Reland "[builtins] Embed builtins into the binary"" · c75ff739
      Ross McIlroy authored
      This reverts commit 75d19b5b.
      
      Reason for revert: Breaking Mac: https://build.chromium.org/p/client.v8.fyi/builders/Mac%20V8%20FYI%20Release%20%28Intel%29/builds/290
      
      Original change's description:
      > Reland "[builtins] Embed builtins into the binary"
      > 
      > This is a reland of 491d5a81
      > 
      > Original change's description:
      > > [builtins] Embed builtins into the binary
      > >
      > > This embeds code for off-heap-safe builtins into the binary. Actual
      > > execution of embedded code is not implemented yet.
      > >
      > > The embedded file has the following format:
      > >
      > > namespace v8 {
      > > namespace internal {
      > >
      > > namespace {
      > >
      > > V8_EMBEDDED_TEXT_HEADER(v8_embedded_blob_)
      > > __asm__( /* builtin offsets and lengths */ );
      > > __asm__(V8_ASM_LABEL("Builtins_RecordWrite"));
      > > __asm__( /* binary instruction stream */ );
      > > /* Repeat for other builtins. */
      > >
      > > extern "C" const uint8_t v8_embedded_blob_[];
      > > static const uint32_t v8_embedded_blob_size_ = /* size in bytes */;
      > >
      > > }  // namespace
      > >
      > > const uint8_t* DefaultEmbeddedBlob() { return v8_embedded_blob_; }
      > > uint32_t DefaultEmbeddedBlobSize() { return v8_embedded_blob_size_; }
      > >
      > > }  // namespace internal
      > > }  // namespace v8
      > >
      > > Bug: v8:6666
      > > Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;luci.v8.try:v8_linux64_fyi_rel_ng
      > > Change-Id: Ic989f01da69ebe2863f31d934bfbe2c5d6e80864
      > > Reviewed-on: https://chromium-review.googlesource.com/946011
      > > Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      > > Reviewed-by: Yang Guo <yangguo@chromium.org>
      > > Cr-Commit-Position: refs/heads/master@{#51759}
      > 
      > TBR=yangguo@chromium.org
      > 
      > Bug: v8:6666
      > Change-Id: Iba245976ce46c62474dcba94a99ab4a217b2e20e
      > Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;luci.v8.try:v8_linux64_fyi_rel_ng
      > Reviewed-on: https://chromium-review.googlesource.com/950983
      > Reviewed-by: Yang Guo <yangguo@chromium.org>
      > Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#51769}
      
      TBR=yangguo@chromium.org,jgruber@chromium.org
      
      Change-Id: If2560e5ea57585421ba5c3da35717abb9b31766f
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:6666
      Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;luci.v8.try:v8_linux64_fyi_rel_ng
      Reviewed-on: https://chromium-review.googlesource.com/951562Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
      Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#51772}
      c75ff739
    • jgruber's avatar
      Reland "[builtins] Embed builtins into the binary" · 75d19b5b
      jgruber authored
      This is a reland of 491d5a81
      
      Original change's description:
      > [builtins] Embed builtins into the binary
      >
      > This embeds code for off-heap-safe builtins into the binary. Actual
      > execution of embedded code is not implemented yet.
      >
      > The embedded file has the following format:
      >
      > namespace v8 {
      > namespace internal {
      >
      > namespace {
      >
      > V8_EMBEDDED_TEXT_HEADER(v8_embedded_blob_)
      > __asm__( /* builtin offsets and lengths */ );
      > __asm__(V8_ASM_LABEL("Builtins_RecordWrite"));
      > __asm__( /* binary instruction stream */ );
      > /* Repeat for other builtins. */
      >
      > extern "C" const uint8_t v8_embedded_blob_[];
      > static const uint32_t v8_embedded_blob_size_ = /* size in bytes */;
      >
      > }  // namespace
      >
      > const uint8_t* DefaultEmbeddedBlob() { return v8_embedded_blob_; }
      > uint32_t DefaultEmbeddedBlobSize() { return v8_embedded_blob_size_; }
      >
      > }  // namespace internal
      > }  // namespace v8
      >
      > Bug: v8:6666
      > Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;luci.v8.try:v8_linux64_fyi_rel_ng
      > Change-Id: Ic989f01da69ebe2863f31d934bfbe2c5d6e80864
      > Reviewed-on: https://chromium-review.googlesource.com/946011
      > Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      > Reviewed-by: Yang Guo <yangguo@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#51759}
      
      TBR=yangguo@chromium.org
      
      Bug: v8:6666
      Change-Id: Iba245976ce46c62474dcba94a99ab4a217b2e20e
      Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;luci.v8.try:v8_linux64_fyi_rel_ng
      Reviewed-on: https://chromium-review.googlesource.com/950983Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#51769}
      75d19b5b
    • Jakob Gruber's avatar
      Revert "[builtins] Embed builtins into the binary" · 4f18484b
      Jakob Gruber authored
      This reverts commit 491d5a81.
      
      Reason for revert: https://build.chromium.org/p/client.v8/builders/V8%20Mac64/builds/20696
      
      Original change's description:
      > [builtins] Embed builtins into the binary
      > 
      > This embeds code for off-heap-safe builtins into the binary. Actual
      > execution of embedded code is not implemented yet.
      > 
      > The embedded file has the following format:
      > 
      > namespace v8 {
      > namespace internal {
      > 
      > namespace {
      > 
      > V8_EMBEDDED_TEXT_HEADER(v8_embedded_blob_)
      > __asm__( /* builtin offsets and lengths */ );
      > __asm__(V8_ASM_LABEL("Builtins_RecordWrite"));
      > __asm__( /* binary instruction stream */ );
      > /* Repeat for other builtins. */
      > 
      > extern "C" const uint8_t v8_embedded_blob_[];
      > static const uint32_t v8_embedded_blob_size_ = /* size in bytes */;
      > 
      > }  // namespace
      > 
      > const uint8_t* DefaultEmbeddedBlob() { return v8_embedded_blob_; }
      > uint32_t DefaultEmbeddedBlobSize() { return v8_embedded_blob_size_; }
      > 
      > }  // namespace internal
      > }  // namespace v8
      > 
      > Bug: v8:6666
      > Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;luci.v8.try:v8_linux64_fyi_rel_ng
      > Change-Id: Ic989f01da69ebe2863f31d934bfbe2c5d6e80864
      > Reviewed-on: https://chromium-review.googlesource.com/946011
      > Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      > Reviewed-by: Yang Guo <yangguo@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#51759}
      
      TBR=yangguo@chromium.org,jgruber@chromium.org
      
      Change-Id: I36f5ee173fca565327b7f3e0ea20503ceef451fe
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:6666
      Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;luci.v8.try:v8_linux64_fyi_rel_ng
      Reviewed-on: https://chromium-review.googlesource.com/950982Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#51760}
      4f18484b
    • jgruber's avatar
      [builtins] Embed builtins into the binary · 491d5a81
      jgruber authored
      This embeds code for off-heap-safe builtins into the binary. Actual
      execution of embedded code is not implemented yet.
      
      The embedded file has the following format:
      
      namespace v8 {
      namespace internal {
      
      namespace {
      
      V8_EMBEDDED_TEXT_HEADER(v8_embedded_blob_)
      __asm__( /* builtin offsets and lengths */ );
      __asm__(V8_ASM_LABEL("Builtins_RecordWrite"));
      __asm__( /* binary instruction stream */ );
      /* Repeat for other builtins. */
      
      extern "C" const uint8_t v8_embedded_blob_[];
      static const uint32_t v8_embedded_blob_size_ = /* size in bytes */;
      
      }  // namespace
      
      const uint8_t* DefaultEmbeddedBlob() { return v8_embedded_blob_; }
      uint32_t DefaultEmbeddedBlobSize() { return v8_embedded_blob_size_; }
      
      }  // namespace internal
      }  // namespace v8
      
      Bug: v8:6666
      Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;luci.v8.try:v8_linux64_fyi_rel_ng
      Change-Id: Ic989f01da69ebe2863f31d934bfbe2c5d6e80864
      Reviewed-on: https://chromium-review.googlesource.com/946011
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#51759}
      491d5a81
  24. 30 Jan, 2018 1 commit
  25. 01 Dec, 2017 1 commit
  26. 14 Nov, 2017 1 commit
    • Jakob Gruber's avatar
      Revert "Revert lazy bytecode handler support" · e0400694
      Jakob Gruber authored
      This reverts commit 9e4543a2.
      
      Reason for revert: Culprit CL was found, let's reland this.
      
      Original change's description:
      > Revert lazy bytecode handler support
      >
      > Speculative revert due to canary crashes. I'll begin relanding these
      > one-by-one next week.
      >
      > This bundles two reverts:
      >
      > Revert "[snapshot] Lazy-deserialize bytecode handlers"
      > This reverts commit b4587369.
      >
      > Revert "[interpreter] Remove mechanism for bytecode handler reuse"
      > This reverts commit 07fc87a2.
      >
      > TBR: rmcilroy@chromium.org,mlippautz@chromium.org,yangguo@chromium.org
      > Bug: chromium:783708
      > Change-Id: I6f8314b9eeafd9412a1c69843bc242e7da240eee
      > Reviewed-on: https://chromium-review.googlesource.com/763428
      > Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#49294}
      
      TBR=rmcilroy@chromium.org,mlippautz@chromium.org,yangguo@chromium.org
      
      # Not skipping CQ checks because original CL landed > 1 day ago.
      
      Bug: chromium:783708
      Change-Id: I6c9274ddf0d0832ecce32baacc4f6a1388f56ac4
      Reviewed-on: https://chromium-review.googlesource.com/768749
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49362}
      e0400694
  27. 10 Nov, 2017 1 commit
    • jgruber's avatar
      Revert lazy bytecode handler support · 9e4543a2
      jgruber authored
      Speculative revert due to canary crashes. I'll begin relanding these
      one-by-one next week.
      
      This bundles two reverts:
      
      Revert "[snapshot] Lazy-deserialize bytecode handlers"
      This reverts commit b4587369.
      
      Revert "[interpreter] Remove mechanism for bytecode handler reuse"
      This reverts commit 07fc87a2.
      
      TBR: rmcilroy@chromium.org,mlippautz@chromium.org,yangguo@chromium.org
      Bug: chromium:783708
      Change-Id: I6f8314b9eeafd9412a1c69843bc242e7da240eee
      Reviewed-on: https://chromium-review.googlesource.com/763428
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49294}
      9e4543a2
  28. 08 Nov, 2017 1 commit
  29. 26 Sep, 2017 1 commit
    • Yang Guo's avatar
      Reland "[snapshot] include version string in the startup snapshot." · dc7b2b2b
      Yang Guo authored
      This is a reland of 629406d1
      Original change's description:
      > [snapshot] include version string in the startup snapshot.
      > 
      > This is to easier diagnose build issues involving the snapshot.
      > Sample error message for mismatching snapshot:
      > 
      > #
      > # Fatal error in ../../src/snapshot/snapshot-common.cc, line 286
      > # Version mismatch between V8 binary and snapshot.
      > #   V8 binary version: 6.3.1 (candidate)
      > #    Snapshot version: 6.3.0 (candidate)
      > # The snapshot consists of 2820444 bytes and contains 1 contexts.
      > #
      > 
      > 
      > R=machenbach@chromium.org
      > 
      > Bug: chromium:764327
      > Change-Id: Icdc7aeac77819b113985b424feda814a072d5406
      > Reviewed-on: https://chromium-review.googlesource.com/684295
      > Reviewed-by: Michael Achenbach <machenbach@chromium.org>
      > Commit-Queue: Yang Guo <yangguo@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#48161}
      
      Bug: chromium:764327
      Change-Id: I3721689824e0a6909eede86d0829dc258ae40c4d
      Reviewed-on: https://chromium-review.googlesource.com/684494Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
      Commit-Queue: Yang Guo <yangguo@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#48164}
      dc7b2b2b