1. 03 May, 2019 31 commits
  2. 02 May, 2019 9 commits
    • Johannes Henkel's avatar
      Revert "[DevTools] Add V8InspectorSession::state(), which returns binary (CBOR)." · c27c369a
      Johannes Henkel authored
      This reverts commit b7134d3a.
      
      Reason for revert: breaks presubmit
      
      Original change's description:
      > [DevTools] Add V8InspectorSession::state(), which returns binary (CBOR).
      > 
      > Keep the existing method for compatibility, by converting
      > to json from CBOR using the inspector_protocol_encoding library,
      > via a v8 specific interface library that directs routines for
      > converting between strings and doubles to v8's implementations.
      > 
      > This change also brings in the encoding.h / encoding.cc files from the
      > upstream inspector_protocol project. The only modification here
      > are the header guards, and the namespace. I will fix roll.py to
      > make it so that we pick up future changes.
      > 
      > third_party/inspector_protocol/BUILD.gn is specific to v8, by necessity.
      > third_party/inspector_protocol/.clang-format is a copy of the upstream
      > file. If we don't put this, we'll find ourselves auto-formatting the roll,
      > which is annoying.
      > 
      > Change-Id: I20fa8759164e7a39f8a7c30e0d2a3f8a7e4be227
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1590627
      > Reviewed-by: Alexei Filippov <alph@chromium.org>
      > Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
      > Commit-Queue: Johannes Henkel <johannes@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#61187}
      
      TBR=dgozman@chromium.org,alph@chromium.org,caseq@chromium.org,johannes@chromium.org
      
      Change-Id: I67f297ef8454499036c94bf88e0d23657a579140
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1592130Reviewed-by: 's avatarDmitry Gozman <dgozman@chromium.org>
      Commit-Queue: Johannes Henkel <johannes@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#61189}
      c27c369a
    • Maciej Goszczycki's avatar
      [heap] Set read-only space's and its pages' heap_ to null. · 964edc25
      Maciej Goszczycki authored
      Various small changes are required to enable this.
      
      HeapObject::GetReadOnlyRoots no longer uses the Space's heap when
      possible (see comment in ReadOnlyHeap::GetReadOnlyRoots definition).
      This requires that ReadOnlyRoots be construct-able using a raw pointer
      to the read-only space's roots array.
      
      Global read-only heap state is now cleared by tests where appropriate
      and extra DCHECKs in ReadOnlyHeap::SetUp should make catching future
      issues easier.
      
      String padding is now always cleared just before read-only space is
      sealed when not deserializing.
      
      Change-Id: I7d1db1c11567be5df06ff7066f3a699125f8b372
      Bug: v8:7464
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1535830
      Commit-Queue: Maciej Goszczycki <goszczycki@google.com>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Reviewed-by: 's avatarDan Elphick <delphick@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#61188}
      964edc25
    • Johannes Henkel's avatar
      [DevTools] Add V8InspectorSession::state(), which returns binary (CBOR). · b7134d3a
      Johannes Henkel authored
      Keep the existing method for compatibility, by converting
      to json from CBOR using the inspector_protocol_encoding library,
      via a v8 specific interface library that directs routines for
      converting between strings and doubles to v8's implementations.
      
      This change also brings in the encoding.h / encoding.cc files from the
      upstream inspector_protocol project. The only modification here
      are the header guards, and the namespace. I will fix roll.py to
      make it so that we pick up future changes.
      
      third_party/inspector_protocol/BUILD.gn is specific to v8, by necessity.
      third_party/inspector_protocol/.clang-format is a copy of the upstream
      file. If we don't put this, we'll find ourselves auto-formatting the roll,
      which is annoying.
      
      Change-Id: I20fa8759164e7a39f8a7c30e0d2a3f8a7e4be227
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1590627Reviewed-by: 's avatarAlexei Filippov <alph@chromium.org>
      Reviewed-by: 's avatarDmitry Gozman <dgozman@chromium.org>
      Commit-Queue: Johannes Henkel <johannes@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#61187}
      b7134d3a
    • Seth Brenith's avatar
      Touch guard pages when allocating stack frames · df8548cd
      Seth Brenith authored
      On Windows, expanding the stack by more than 4 KB at a time can cause
      access violations. This change fixes a few known cases (and includes
      unit tests for those), and attempts to make stack expansion more
      consistent overall by using the AllocateStackSpace helper method
      everywhere we can, even when the offset is a small constant.
      
      On arm64, there was already a consistent method for stack pointer
      manipulation using the Claim and Drop methods, so Claim is updated to
      touch every page.
      
      Bug: v8:9017
      Change-Id: I2dbbceeebbdefaf45803e9b621fe83f52234a395
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1570666
      Commit-Queue: Seth Brenith <seth.brenith@microsoft.com>
      Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#61186}
      df8548cd
    • Maciej Goszczycki's avatar
      Reland "[heap] Skip ro-space from heap iterators, add CombinedHeapIterator." · 9c062093
      Maciej Goszczycki authored
      Code relocation info is now always allocated in old-space. Before relocation
      info allocated for placeholders and builtins (which get replaced with
      trampolines in nosnap builds) would become unreachable. Since read-only space
      is not GCed and ReadOnlyHeapIterator doesn't check for reachability,
      ValidateSnapshot would fail finding unreachable objects returned by
      ReadOnlyHeapIterator.
      
      Because trampoline relocation info gets replaced with canonical one, this only
      affects no-embdded-builtins nosnap builds, which don't get much benefit from
      read-only relocation info anyway.
      
      A new check has been added to the read-only deserializer to verify that every
      read-only object is reachable at mksnapshot-time.
      
      The CombinedHeapIterator iteration order was changed to iterate over
      read-only space first, because that's how HeapIterator worked.
      
      This is a reland of 3d1d8eae
      
      Original change's description:
      > [heap] Skip ro-space from heap iterators, add CombinedHeapIterator.
      >
      > Read-only space sharing requires an iterator independent of heap. This
      > also enables future removal of read-only space from heap.
      >
      > Bug: v8:7464
      > Change-Id: Ia07a9369494ea2c547d12c01ffa1d7b8b6bbeabc
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1552795
      > Commit-Queue: Maciej Goszczycki <goszczycki@google.com>
      > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
      > Reviewed-by: Dan Elphick <delphick@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#60819}
      
      Bug: v8:7464
      Change-Id: I49ae070955b77956962334a84f762ab29052d5ff
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1566513Reviewed-by: 's avatarDan Elphick <delphick@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Commit-Queue: Maciej Goszczycki <goszczycki@google.com>
      Cr-Commit-Position: refs/heads/master@{#61185}
      9c062093
    • Hannes Payer's avatar
      [heap] Add a page-based code object registry. · e09fbbd1
      Hannes Payer authored
      
      The registry right now has no users. In a follow-up CL I will
      remove the skip list for code pages and make users of the skip
      list use the registry.
      
      Bug: v8:9093
      Change-Id: I23a2b9e0d4158e2ffa89626e71f58d3bb5a41201
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1593074Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Commit-Queue: Hannes Payer <hpayer@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#61184}
      e09fbbd1
    • Toon Verwaest's avatar
      [runtime] Inline SeqOneByteSubStringKey IsMatch and AsHandle · a87a971b
      Toon Verwaest authored
      The performance actually matters to JSON parsing and this improves it by a % or
      2.
      
      In the longer run we should probably share the IsMatch implementation in
      StringTableKey directly and call a virtual GetBytes on the key implementation.
      
      Change-Id: I838a106f9c8c52f0385057a52a8c0b9141ae025b
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1589977
      Commit-Queue: Toon Verwaest <verwaest@chromium.org>
      Auto-Submit: Toon Verwaest <verwaest@chromium.org>
      Reviewed-by: 's avatarIgor Sheludko <ishell@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#61183}
      a87a971b
    • Ross McIlroy's avatar
      [Test] Add PrepareForOptimization to inspector tests · 69a71cba
      Ross McIlroy authored
      Bug: v8:8801, v8:8394
      Change-Id: I7f27cb0a9dcbdd1ba0e3f90735472408c22185e1
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1593304
      Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
      Commit-Queue: Mythri Alle <mythria@chromium.org>
      Auto-Submit: Ross McIlroy <rmcilroy@chromium.org>
      Reviewed-by: 's avatarMythri Alle <mythria@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#61182}
      69a71cba
    • Sigurd Schneider's avatar
      [wasm] Rename WasmTableObject field 'elements' to 'entries' · 9ad4062f
      Sigurd Schneider authored
      This ensures that the parent class' field 'elements' is not shadowed.
      
      Bug: v8:9194
      Change-Id: Ibb53dedc0205cbb4c61e810e2d5822a94843c605
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1593076
      Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
      Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#61181}
      9ad4062f