1. 15 May, 2019 3 commits
  2. 14 May, 2019 5 commits
  3. 13 May, 2019 2 commits
  4. 10 May, 2019 3 commits
  5. 09 May, 2019 6 commits
  6. 08 May, 2019 7 commits
  7. 07 May, 2019 5 commits
    • Maggie Chen's avatar
      Finch:increase max_old_space_size to 4 GB based on availability of physical memory · b2f75b00
      Maggie Chen authored
      This is for the finch experiment CL 1592792 V8HugeMaxOldGenerationSize
      (--js-flags="huge_max_old_generation_size").
      The purpose of this finch is to support web apps that require more heap
      space for their data sets.
      
      The current max_old_space_size is 2 GB. This CL increases the size to 4 GB for
      64-bit systems with a physical memory size bigger than 16 GB. This CL does not
      change MaxGrowingFactor. HeapController::kMaxSize is still set to 2GB so the
      GC schedule remains the same.
      
      All tests from "tools\dev\gm.py x64.release.check" passes in my local machine
      with FLAG_increase_max_old_space_size forced to true.
      
      Bug:958974
      
      Change-Id: I9d916d75c0b16342040dd1336e28e423e5bcc474
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1592129
      Commit-Queue: Maggie Chen <magchen@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#61297}
      b2f75b00
    • Toon Verwaest's avatar
      [runtime] Cleanup StringTableKey · 9ce8ed75
      Toon Verwaest authored
      - Performs hash / length check before calling IsMatch
      - Casts to string before calling IsMatch
      - Removes special two-char internalization key
        (will look into removing StringTableNoAllocateKey next, and possible fold
        StringTableInsertionKey into InternalizedStringKey).
      
      Change-Id: Ida76761eb2c3dc350c829ac2bfe12d52aef5f96d
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1598753Reviewed-by: 's avatarIgor Sheludko <ishell@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Commit-Queue: Toon Verwaest <verwaest@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#61280}
      9ce8ed75
    • Peter Marshall's avatar
      Reland "[typedarray] Make JSTypedArray::length authoritative." · 330e5ba2
      Peter Marshall authored
      This is a reland of ad44c258
      
      Patchset 2 is the original CL
      Patchset 3 fixes some misuses of FixedArrayBase::length() and adds some
      DCHECKS to flush out any more misuses.
      Patchset 4 adds the PPC/S390 port by miladfar@ca.ibm.com.
      
      Original change's description:
      > [typedarray] Make JSTypedArray::length authoritative.
      >
      > This is the first step towards full huge typed array support in V8.
      > Before this change, the JSTypedArray::length and the elements backing
      > store length (FixedTypedArrayBase::length) were used more or less
      > interchangeably to determine the number of elements in a JSTypedArray.
      >
      > With this change we disentangle these two lengths, and instead make
      > JSTypedArray::length authoritative. For on-heap typed arrays, the
      > FixedTypedArrayBase::length will remain the number of elements in the
      > backing store, but for the off-heap typed arrays, this length will be
      > set to 0 (matching the fact that the FixedTypedArrayBase instance does
      > not contain any elements itself).
      >
      > This also unifies the JSTypedArray::set_/length() and length_value()
      > methods to only have JSTypedArray::set_/length() which returns/takes
      > size_t values. Currently this still requires the values to be in Smi
      > range, but later we will extend this to allow arbitrary size_t values
      > (in the safe integer range).
      >
      > Bug: v8:4153, v8:7881
      > Change-Id: Iff9089130bb31fa9e08e0cf913e7ab52c3dbf107
      > Cq-Include-Trybots: luci.chromium.try:linux-blink-rel
      > Doc: http://doc/1Z-wM2qwvAuxH46e9ivtkYvKzzwYZg8ymm0x0wJaomow
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1543729
      > Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
      > Reviewed-by: Peter Marshall <petermarshall@chromium.org>
      > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
      > Reviewed-by: Ben Titzer <titzer@chromium.org>
      > Reviewed-by: Hannes Payer <hpayer@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#60648}
      
      Bug: v8:4153, v8:7881, v8:9105
      Change-Id: Ic38f833071a723642ebc6f82a4012dbc0878ef98
      Cq-Include-Trybots: luci.chromium.try:linux-blink-rel
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1594435Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
      Reviewed-by: 's avatarHannes Payer <hpayer@chromium.org>
      Commit-Queue: Peter Marshall <petermarshall@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#61275}
      330e5ba2
    • Dan Elphick's avatar
      Revert "[compiler] Don't collect source positions for the top frame" · 4bb78818
      Dan Elphick authored
      This reverts commit 758700a7.
      
      Reason for revert: Broken
      
      Original change's description:
      > [compiler] Don't collect source positions for the top frame
      > 
      > While most source positions were not collected even throwing exceptions,
      > the top frame still was always collected as it was used to initialize
      > the JSMessageObject. This skips even that frame, by storing the
      > SharedFunctionInfo and bytecode offset in the JSMessageObject allowing
      > it to lazily evaluate the actual source position.
      > 
      > Also adds tests to test-api.cc that test each of the source position
      > functions in isolation to ensure that they don't rely on previous
      > invocations to call the source collection function.
      > 
      > Since no source positions are now collected at the point when an
      > exception is thrown, the mjsunit/stack-traces-overflow now passes again
      > with the flag enabled. (cctest/test-cpu-profiler/Inlining2 is now the
      > only failure).
      > 
      > Bug: v8:8510
      > Change-Id: Ic5382bdbab65cd8838f0c84b544fabb1a9109d13
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1587385
      > Commit-Queue: Dan Elphick <delphick@chromium.org>
      > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
      > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#61271}
      
      TBR=ulan@chromium.org,rmcilroy@chromium.org,delphick@chromium.org
      
      Change-Id: I3ee0b5db5f8a1b3255f68070dc10d27d0e013048
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:8510
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1598758Reviewed-by: 's avatarDan Elphick <delphick@chromium.org>
      Commit-Queue: Dan Elphick <delphick@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#61273}
      4bb78818
    • Dan Elphick's avatar
      [compiler] Don't collect source positions for the top frame · 758700a7
      Dan Elphick authored
      While most source positions were not collected even throwing exceptions,
      the top frame still was always collected as it was used to initialize
      the JSMessageObject. This skips even that frame, by storing the
      SharedFunctionInfo and bytecode offset in the JSMessageObject allowing
      it to lazily evaluate the actual source position.
      
      Also adds tests to test-api.cc that test each of the source position
      functions in isolation to ensure that they don't rely on previous
      invocations to call the source collection function.
      
      Since no source positions are now collected at the point when an
      exception is thrown, the mjsunit/stack-traces-overflow now passes again
      with the flag enabled. (cctest/test-cpu-profiler/Inlining2 is now the
      only failure).
      
      Bug: v8:8510
      Change-Id: Ic5382bdbab65cd8838f0c84b544fabb1a9109d13
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1587385
      Commit-Queue: Dan Elphick <delphick@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#61271}
      758700a7
  8. 06 May, 2019 4 commits
  9. 03 May, 2019 3 commits
    • Maciej Goszczycki's avatar
      Revert "[heap] Set read-only space's and its pages' heap_ to null." · fa4b433f
      Maciej Goszczycki authored
      This reverts commit 964edc25.
      
      Reason for revert: chromium:959190
      
      Original change's description:
      > [heap] Set read-only space's and its pages' heap_ to null.
      >
      > 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: Ulan Degenbaev <ulan@chromium.org>
      > Reviewed-by: Dan Elphick <delphick@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#61188}
      
      TBR=ulan@chromium.org,hpayer@chromium.org,delphick@chromium.org,goszczycki@google.com
      
      Change-Id: I53cecf3976dfeabae309040313351385f651f010
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:7464, chromium:959190
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1591608Reviewed-by: 's avatarAdam Klein <adamk@chromium.org>
      Commit-Queue: Adam Klein <adamk@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#61217}
      fa4b433f
    • Maciej Goszczycki's avatar
      [heap] Fix allocation types in CodeBuilder · c4806ca7
      Maciej Goszczycki authored
      CodeBuilder was calling AllocateRawWithLightRetry when it should have been
      calling AllocateRawWithRetryOrFail (and vice versa).
      
      Also improved variable naming.
      
      Bug: chromium:957934
      Change-Id: I03a95165f6d5b44c1f47d08d338d48bcc37c6d04
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1590075
      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@{#61210}
      c4806ca7
    • Sigurd Schneider's avatar
      Revert "Reland "[json] Speed up json parsing"" · 47fccbfd
      Sigurd Schneider authored
      This reverts commit bbd740f0.
      
      Reason for revert: blocks lkgr due to layout test failure:
      https://ci.chromium.org/p/v8/builders/ci/V8-Blink%20Linux%2064/31607
      
      Original change's description:
      > Reland "[json] Speed up json parsing"
      > 
      > This is a reland of b0c4a876
      > 
      > Original change's description:
      > > [json] Speed up json parsing
      > >
      > > - scan using raw data pointers + GC callback
      > > - scan using scanner tables
      > > - cap internalizing large string values
      > > - inline fast transitioning logic
      > >
      > > Fixes previous CL by moving AllowHeapAllocation to callers of
      > > ReportUnexpectedCharacter where needed to make it clear we need to exit.
      > >
      > > Tbr: ulan@chromium.org
      > > Change-Id: Icfbb7cd536e0fbe153f34acca5d0fab6b5453d71
      > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1591778
      > > Reviewed-by: Igor Sheludko <ishell@chromium.org>
      > > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
      > > Commit-Queue: Toon Verwaest <verwaest@chromium.org>
      > > Cr-Commit-Position: refs/heads/master@{#61159}
      > 
      > Tbr: verwaest@chromium.org
      > Cq-Include-Trybots: luci.v8.try:v8_linux64_msan_rel
      > Change-Id: Ic7d0057178c649fc45b8c8f4587ee9128e351515
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1593292
      > Commit-Queue: Igor Sheludko <ishell@chromium.org>
      > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
      > Reviewed-by: Igor Sheludko <ishell@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#61179}
      
      TBR=ulan@chromium.org,ishell@google.com,verwaest@google.com,ishell@chromium.org,verwaest@chromium.org
      
      Change-Id: I3ae8f9ce8214bebe7fab9d87c5daf8cdfdb94199
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Cq-Include-Trybots: luci.v8.try:v8_linux64_msan_rel
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1594438
      Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
      Reviewed-by: 's avatarSigurd Schneider <sigurds@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#61194}
      47fccbfd
  10. 02 May, 2019 2 commits
    • 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
    • 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