1. 04 May, 2020 11 commits
  2. 03 May, 2020 1 commit
  3. 02 May, 2020 1 commit
  4. 01 May, 2020 10 commits
  5. 30 Apr, 2020 17 commits
    • Ng Zhi An's avatar
      [wasm-simd][fuzzer] Add more f32x4 ops to fuzzer · 84a06b59
      Ng Zhi An authored
      Bug: v8:10180
      Change-Id: I71a5c63abdcca2b11d29a1d25844cda738384161
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2173815Reviewed-by: 's avatarDeepti Gandluri <gdeepti@chromium.org>
      Commit-Queue: Zhi An Ng <zhin@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#67511}
      84a06b59
    • Deepti Gandluri's avatar
      Revert "Reland^4 "[runtime] Amortize descriptor array growing for fast-mode prototypes"" · accf95fc
      Deepti Gandluri authored
      This reverts commit fd2548f3.
      
      Reason for revert: Breaks telemetry benchmark, blocks deps roll.
      https://ci.chromium.org/p/chromium/builders/try/linux-rel/373686?
      https://chromium-swarm.appspot.com/task?id=4be57eb0279bbb10
      
      Original change's description:
      > Reland^4 "[runtime] Amortize descriptor array growing for fast-mode prototypes"
      > 
      > This CL:
      >  - stops tracking transitions for fast maps that are known to be detached
      >  - reuses descriptor arrays when transitioning detached maps to avoid O(n^2) performance and garbage creation
      > 
      > Fix2 in reland: constructor_or_backpointer can be a smi since it can also hold a user-provided function.prototype
      > Fix in reland: check whether the map of the back pointer is the metamap rather than reading the map of the constructor-or-backpointer slot. If the slot contains a constructor, it's possible that the object transitions while the concurrent marker is reading the map (from which it's reading the instance type); and it's possible that the transitioned map isn't set up yet fully when we read the instance type. An acquire load for the constructor-or-backpointer map would also fix it by serializing stores, but is more expensive. Checking the metamap is faster.
      > 
      > Original commit message:
      > > This avoids an O(n^2) algorithm that creates an equal amount of garbage.
      > > Even though the actual final descriptor array might be a little bigger,
      > > it reduces peak memory usage by allocating less.
      > 
      > Change-Id: Id99dc76a369057e5c4d76a31163605cb38a66867
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2172080
      > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
      > Commit-Queue: Toon Verwaest <verwaest@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#67501}
      
      TBR=ulan@chromium.org,verwaest@chromium.org
      
      Change-Id: If305b5410ca37e04e9ec0ce50e9b494f5c4cd4dc
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2174767Reviewed-by: 's avatarDeepti Gandluri <gdeepti@chromium.org>
      Commit-Queue: Deepti Gandluri <gdeepti@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#67510}
      accf95fc
    • v8-ci-autoroll-builder's avatar
      Update V8 DEPS. · 9cc80787
      v8-ci-autoroll-builder authored
      Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/26e9d48..d56e126
      
      Rolling v8/buildtools: https://chromium.googlesource.com/chromium/src/buildtools/+log/7977eb1..204a35a
      
      Rolling v8/buildtools/third_party/libunwind/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind/+log/43bb9f8..d999d54
      
      Rolling v8/third_party/aemu-linux-x64: 7YlCgase5GlIanqHn-nZClSlZ5kQETJyVUYRF7Jjy6UC..5G0SNnG7y5vrRx9uieYCXluC7lrENI134I3ts-s7BckC
      
      Rolling v8/third_party/android_sdk/public: Jxtur3_L9RzY4q79K-AwIahwFW4oi5uYVD5URx9h62wC..zMVtBEihXp2Z0NYFNjLLmNrwy6252b_YWG6sh2l0QAcC
      
      Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/032c783..b0ad61f
      
      Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/dd2f620..2072ffc
      
      Rolling v8/third_party/fuchsia-sdk: https://chromium.googlesource.com/chromium/src/third_party/fuchsia-sdk/+log/2457e41..277fe91
      
      Rolling v8/third_party/jinja2: https://chromium.googlesource.com/chromium/src/third_party/jinja2/+log/b41863e..3f90fa0
      
      Rolling v8/third_party/zlib: https://chromium.googlesource.com/chromium/src/third_party/zlib/+log/156be8c..21c6af6
      
      Rolling v8/tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang/+log/105a846..b6a9eb3
      
      Rolling v8/tools/swarming_client: https://chromium.googlesource.com/infra/luci/client-py/+log/99e00d6..160b445
      
      TBR=machenbach@chromium.org,tmrts@chromium.org
      
      Change-Id: I0a496658336c731c715a10d79c167e6159c48881
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2174543Reviewed-by: 's avatarv8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
      Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
      Cr-Commit-Position: refs/heads/master@{#67509}
      9cc80787
    • Ng Zhi An's avatar
      [wasm-simd][liftoff] Implement i8x16 i16x8 i32x4 gt · f7d6edc2
      Ng Zhi An authored
      Bug: v8:9909
      Change-Id: I095a57d25cd03fb390e745b9fcb83566a70d044e
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2173658Reviewed-by: 's avatarClemens Backes <clemensb@chromium.org>
      Commit-Queue: Zhi An Ng <zhin@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#67508}
      f7d6edc2
    • Ng Zhi An's avatar
      [wasm-simd][liftoff] Implement i8x16 ge · 6b868b37
      Ng Zhi An authored
      I missed out the i8x16 implementation in https://crrev.com/c/2169017.
      
      Bug: v8:9909
      Change-Id: I3264e9dce51acca262ad71885379b320008555b5
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2173657Reviewed-by: 's avatarClemens Backes <clemensb@chromium.org>
      Commit-Queue: Zhi An Ng <zhin@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#67507}
      6b868b37
    • Maya Lekova's avatar
      [googletest] Update fuchsia-sdk deps in BUILD.gn · f4e7fd51
      Maya Lekova authored
      Apply the change from this CL to V8's version of googletest too:
      https://chromium-review.googlesource.com/c/chromium/src/+/2059008
      
      TBR=thakis@chromium.org
      
      Bug: chromium:1076363
      Change-Id: If51c47c88178e75bdc205dd6b72f6aa357ec2d4c
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2172742
      Commit-Queue: Maya Lekova <mslekova@chromium.org>
      Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
      Auto-Submit: Maya Lekova <mslekova@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#67506}
      f4e7fd51
    • Igor Sheludko's avatar
      [runtime] Fix miscalculated number of properties for derived class · a4cf3321
      Igor Sheludko authored
      ... when an error occurs during super constructor compilation.
      
      Bug: chromium:1072947
      Change-Id: I8acf461de1f3c141e45d3b61b3ac2f5c990e106a
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2172964Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
      Commit-Queue: Toon Verwaest <verwaest@chromium.org>
      Auto-Submit: Igor Sheludko <ishell@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#67505}
      a4cf3321
    • Frank Tang's avatar
      Roll test262 · 31ce84b2
      Frank Tang authored
      https://chromium.googlesource.com/external/github.com/tc39/test262/+log/31dabb56..6a18c27c
      
      6a18c27 Generate test files from templates by Alexey Shvayka · 10 hours ago master
      10a8c04 Test throw() called w/o arguments by Alexey Shvayka · 10 hours ago
      75a0c1b Test return() called w/o arguments by Alexey Shvayka · 10 hours ago
      4d9dccf Remove invalid feature, fix lint by Gus Caplan · 10 hours ago
      850c653 Revert "Correct the expectation of zh-Hant" by Frank Yung-Fong Tang · 11 hours ago
      fd90d58 Change `alphanum` to character class by Alexey Shvayka · 11 hours ago
      d3b3e5e Make `alphanum` a non-capturing group by Alexey Shvayka · 11 hours ago
      4371e3a Remove unnecessary capture group by Alexey Shvayka · 11 hours ago
      af05e8e Revert "Simplify alphanum regex in testIntl.js" by Alexey Shvayka · 11 hours ago
      a3c7d30 Add AsyncGeneratorFunction test by Alexey Shvayka · 3 days ago
      69de665 Add GeneratorFunction test by Alexey Shvayka · 3 days ago
      43bc9f1 Add Function test by Alexey Shvayka · 3 days ago
      e8dfe54 Correct the expectation of zh-Hant by Frank Yung-Fong Tang · 4 days ago
      76b3891 Correctly tag AggregateError proto-from-ctor-realm test by Shu-yu Guo · 4 days ago
      c3e980a correct style-short.js by Frank Yung-Fong Tang · 4 days ago
      df861e4 correct style-narrow.js by Frank Yung-Fong Tang · 4 days ago
      d6c1b36 style-long.js by Frank Yung-Fong Tang · 4 days ago
      17fe569 correct style-short.js by Frank Yung-Fong Tang · 4 days ago
      81de828 correct style-narrow.js by Frank Yung-Fong Tang · 4 days ago
      79c1818 Correct pl-pl*.js test for minimumGroupingDigits by Frank Yung-Fong Tang · 4 days ago
      39ed5d9 Add object rest destructuring test by Alexey Shvayka · 4 days ago
      b08380c Add object spread test by Alexey Shvayka · 4 days ago
      c9ce3be Add Object.seal test by Alexey Shvayka · 4 days ago
      feaa555 Add Object.isSealed test by Alexey Shvayka · 4 days ago
      a65d0bf Add Object.isFrozen test by Alexey Shvayka · 4 days ago
      521446b Add Object.freeze test by Alexey Shvayka · 4 days ago
      07ff2ff Add Object.defineProperties test by Alexey Shvayka · 4 days ago
      56cbc61 Add Object.getOwnPropertyDescriptors test by Alexey Shvayka · 4 days ago
      2183fa7 Add Object.assign test by Alexey Shvayka · 4 days ago
      0942fe1 correct comments by Frank Yung-Fong Tang · 4 days ago
      9b54c22 correct comments by Frank Yung-Fong Tang · 4 days ago
      aabf688 correct comment by Frank Yung-Fong Tang · 4 days ago
      e72a965 Change the compareArray to allow new property by Frank Yung-Fong Tang · 4 days ago
      21440c7 Change compareArray to allow new property by Frank Yung-Fong Tang · 4 days ago
      fc55e45 Change the compareArray to allow new property by Frank Yung-Fong Tang · 4 days ago
      8ad1225 Change compareArray to allow new property by Frank Yung-Fong Tang · 4 days ago
      4fb0e70 add "fractionalSecondDigits" by Frank Yung-Fong Tang · 4 days ago
      9c6ab18 Add fractionalSecondDigits by Frank Yung-Fong Tang · 4 days ago
      
      Bug: v8:7834
      Change-Id: If455a1d5b3629aba45060f97672ff829ce112fa8
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2174068
      Auto-Submit: Frank Tang <ftang@chromium.org>
      Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
      Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
      Commit-Queue: Michael Achenbach <machenbach@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#67504}
      31ce84b2
    • Toon Verwaest's avatar
      [mjsunit] Disable compiler/number-divide on gc-stress · 9107cdd9
      Toon Verwaest authored
      This test fails if GC happens in the wrong moment.
      
      Change-Id: I3bab2c3a2670d5868cfad545b1a4d45b9567b3a8
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2174421
      Commit-Queue: Toon Verwaest <verwaest@chromium.org>
      Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
      Auto-Submit: Toon Verwaest <verwaest@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#67503}
      9107cdd9
    • Marja Hölttä's avatar
      [Promise.any] Add Promise.any · 6f994a0b
      Marja Hölttä authored
      CL adopted from joshualitt@: https://chromium-review.googlesource.com/c/v8/v8/+/2002932
      
      Link to explainer is here: https://github.com/tc39/proposal-promise-anyCo-authored-by: 's avatarJoshua Litt <joshualitt@chromium.org>
      
      Bug: v8:9808
      Change-Id: I6872020e857d4b131d5663f95fd58e6271ccb067
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2124834
      Commit-Queue: Marja Hölttä <marja@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarIgor Sheludko <ishell@chromium.org>
      Reviewed-by: 's avatarSathya Gunasekaran  <gsathya@chromium.org>
      Reviewed-by: 's avatarShu-yu Guo <syg@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#67502}
      6f994a0b
    • Toon Verwaest's avatar
      Reland^4 "[runtime] Amortize descriptor array growing for fast-mode prototypes" · fd2548f3
      Toon Verwaest authored
      This CL:
       - stops tracking transitions for fast maps that are known to be detached
       - reuses descriptor arrays when transitioning detached maps to avoid O(n^2) performance and garbage creation
      
      Fix2 in reland: constructor_or_backpointer can be a smi since it can also hold a user-provided function.prototype
      Fix in reland: check whether the map of the back pointer is the metamap rather than reading the map of the constructor-or-backpointer slot. If the slot contains a constructor, it's possible that the object transitions while the concurrent marker is reading the map (from which it's reading the instance type); and it's possible that the transitioned map isn't set up yet fully when we read the instance type. An acquire load for the constructor-or-backpointer map would also fix it by serializing stores, but is more expensive. Checking the metamap is faster.
      
      Original commit message:
      > This avoids an O(n^2) algorithm that creates an equal amount of garbage.
      > Even though the actual final descriptor array might be a little bigger,
      > it reduces peak memory usage by allocating less.
      
      Change-Id: Id99dc76a369057e5c4d76a31163605cb38a66867
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2172080Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Commit-Queue: Toon Verwaest <verwaest@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#67501}
      fd2548f3
    • Toon Verwaest's avatar
      Revert "Reland^3 "[runtime] Amortize descriptor array growing for fast-mode prototypes"" · 4911ab95
      Toon Verwaest authored
      This reverts commit 65630850.
      
      Reason for revert: due to failures
      
      Original change's description:
      > Reland^3 "[runtime] Amortize descriptor array growing for fast-mode prototypes"
      > 
      > This CL:
      >  - stops tracking transitions for fast maps that are known to be detached
      >  - reuses descriptor arrays when transitioning detached maps to avoid O(n^2) performance and garbage creation
      > 
      > Fix in reland: check whether the map of the back pointer is the metamap rather than reading the map of the constructor-or-backpointer slot. If the slot contains a constructor, it's possible that the object transitions while the concurrent marker is reading the map (from which it's reading the instance type); and it's possible that the transitioned map isn't set up yet fully when we read the instance type. An acquire load for the constructor-or-backpointer map would also fix it by serializing stores, but is more expensive. Checking the metamap is faster.
      > 
      > Original commit message:
      > > This avoids an O(n^2) algorithm that creates an equal amount of garbage.
      > > Even though the actual final descriptor array might be a little bigger,
      > > it reduces peak memory usage by allocating less.
      > 
      > TBR=ulan@chromium.org,ishell@chromium.org
      > 
      > Change-Id: I57000949debdee2b69dd41e0c5975b3e8a34c6f4
      > No-Presubmit: true
      > No-Tree-Checks: true
      > No-Try: true
      > Bug: b:148346655, v8:10339
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2173363
      > Commit-Queue: Toon Verwaest <verwaest@chromium.org>
      > Reviewed-by: Toon Verwaest <verwaest@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#67499}
      
      TBR=ulan@chromium.org,clemensb@chromium.org,ishell@chromium.org,verwaest@chromium.org
      
      Change-Id: Ie7018912f591d397c8acede9b31fbf269d225fe4
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: b:148346655, v8:10339
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2174299Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
      Commit-Queue: Toon Verwaest <verwaest@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#67500}
      4911ab95
    • Toon Verwaest's avatar
      Reland^3 "[runtime] Amortize descriptor array growing for fast-mode prototypes" · 65630850
      Toon Verwaest authored
      This CL:
       - stops tracking transitions for fast maps that are known to be detached
       - reuses descriptor arrays when transitioning detached maps to avoid O(n^2) performance and garbage creation
      
      Fix in reland: check whether the map of the back pointer is the metamap rather than reading the map of the constructor-or-backpointer slot. If the slot contains a constructor, it's possible that the object transitions while the concurrent marker is reading the map (from which it's reading the instance type); and it's possible that the transitioned map isn't set up yet fully when we read the instance type. An acquire load for the constructor-or-backpointer map would also fix it by serializing stores, but is more expensive. Checking the metamap is faster.
      
      Original commit message:
      > This avoids an O(n^2) algorithm that creates an equal amount of garbage.
      > Even though the actual final descriptor array might be a little bigger,
      > it reduces peak memory usage by allocating less.
      
      TBR=ulan@chromium.org,ishell@chromium.org
      
      Change-Id: I57000949debdee2b69dd41e0c5975b3e8a34c6f4
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: b:148346655, v8:10339
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2173363
      Commit-Queue: Toon Verwaest <verwaest@chromium.org>
      Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#67499}
      65630850
    • Michael Lippautz's avatar
      heap: Rework forced GCs · fe0c91cb
      Michael Lippautz authored
      Forced GCs can either be invoked internally or communicate the fact that
      they are forced externally via API. Before this CL, all uses were
      passing kGCCallbackFlagForced to indicate that the GC was forced.
      
      This flag is used by embedders though to trigger followup actions. E.g.,
      it can be used to trigger a follow up call to
      GarbageCollectionForTesting() call which requires --expose-gc.
      
      This patch changes the semantics as follows:
      - Internal forced GCs use a Heap GC flag (kForcedGC)
      - External forced GCs and GC extension use kGCCallbackFlagForced
      
      Bug: chromium:1074061
      Change-Id: Ide7ea0ccdf88b8c8cac002289aef5b7eb0f9748c
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2172747Reviewed-by: 's avatarMaya Lekova <mslekova@chromium.org>
      Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#67498}
      fe0c91cb
    • Toon Verwaest's avatar
      Revert "Reland^2 "[runtime] Amortize descriptor array growing for fast-mode prototypes"" · 3afa7cf0
      Toon Verwaest authored
      This reverts commit d29b2f81.
      
      Reason for revert: accidental reland without fix
      
      Original change's description:
      > Reland^2 "[runtime] Amortize descriptor array growing for fast-mode prototypes"
      > 
      > Fix: check whether the map of the back pointer is the metamap rather than reading the map of the constructor-or-backpointer slot. If the slot contains a constructor, it's possible that the object transitions while the concurrent marker is reading the map (from which it's reading the instance type); and it's possible that the transitioned map isn't set up yet fully when we read the instance type. An acquire load for the constructor-or-backpointer map would also fix it by serializing stores, but is more expensive. Checking the metamap is faster.
      > 
      > In case of false negatives (it is a map but we read the field before it was properly initialized) we'll simply mark too many descriptors in the worst case.
      > 
      > Original change's description:
      > > Revert "Reland "[runtime] Amortize descriptor array growing for fast-mode prototypes""
      > > 
      > > This reverts commit 71f9c117.
      > > 
      > > Reason for revert: Seems to cause several TSan flakes, e.g. https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20TSAN%20-%20concurrent%20marking/12926
      > > 
      > > Original change's description:
      > > > Reland "[runtime] Amortize descriptor array growing for fast-mode prototypes"
      > > > 
      > > > This is a reland of 2de2d3dc
      > > > 
      > > > Original change's description:
      > > > > [runtime] Amortize descriptor array growing for fast-mode prototypes
      > > > >
      > > > > This avoids an O(n^2) algorithm that creates an equal amount of garbage.
      > > > > Even though the actual final descriptor array might be a little bigger,
      > > > > it reduces peak memory usage by allocating less.
      > > > >
      > > > > Bug: b:148346655
      > > > > Change-Id: I984159d36e9e0b37c19bc81afc90c94c9a9d168a
      > > > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2135728
      > > > > Commit-Queue: Toon Verwaest <verwaest@chromium.org>
      > > > > Reviewed-by: Igor Sheludko <ishell@chromium.org>
      > > > > Cr-Commit-Position: refs/heads/master@{#67031}
      > > > 
      > > > Bug: b:148346655, v8:10339
      > > > Change-Id: I24436d8f49dc1fe527c4f6558db1abcba323b6f8
      > > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2139215
      > > > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
      > > > Reviewed-by: Igor Sheludko <ishell@chromium.org>
      > > > Auto-Submit: Toon Verwaest <verwaest@chromium.org>
      > > > Commit-Queue: Igor Sheludko <ishell@chromium.org>
      > > > Cr-Commit-Position: refs/heads/master@{#67475}
      > > 
      > > TBR=ulan@chromium.org,ishell@chromium.org,verwaest@chromium.org
      > > 
      > > Change-Id: I6fa02d0c89557eae33b792c1fe62c9c15eb0f7c7
      > > No-Presubmit: true
      > > No-Tree-Checks: true
      > > No-Try: true
      > > Bug: b:148346655, v8:10339
      > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2172749
      > > Reviewed-by: Clemens Backes <clemensb@chromium.org>
      > > Commit-Queue: Clemens Backes <clemensb@chromium.org>
      > > Cr-Commit-Position: refs/heads/master@{#67478}
      > 
      > TBR=ulan@chromium.org,clemensb@chromium.org,ishell@chromium.org,verwaest@chromium.org
      > 
      > Change-Id: Ib86e039374e721919cd5b02495c252ee7af283bd
      > No-Presubmit: true
      > No-Tree-Checks: true
      > No-Try: true
      > Bug: b:148346655, v8:10339
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2173359
      > Reviewed-by: Toon Verwaest <verwaest@chromium.org>
      > Commit-Queue: Toon Verwaest <verwaest@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#67495}
      
      TBR=ulan@chromium.org,clemensb@chromium.org,ishell@chromium.org,verwaest@chromium.org
      
      Change-Id: Ia624ac774c021146b9b3b7e60372113c50a1ec61
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: b:148346655, v8:10339
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2173361Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
      Commit-Queue: Toon Verwaest <verwaest@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#67497}
      3afa7cf0
    • Dominik Inführ's avatar
      [heap] Allow background threads to request GC · 5bbca548
      Dominik Inführ authored
      When a background thread fails to allocate, it requests a GC and
      retries the allocation afterwards. Make second allocation more likely
      to succeed by allowing those allocations to expand the old space.
      
      TLABs of LocalHeaps also need to be invalidated before the GC.
      
      Bug: v8:10315
      Change-Id: Idaea2c4ee25642d508c72ae274b06d60c6e225e0
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2154193
      Commit-Queue: Dominik Inführ <dinfuehr@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#67496}
      5bbca548
    • Toon Verwaest's avatar
      Reland^2 "[runtime] Amortize descriptor array growing for fast-mode prototypes" · d29b2f81
      Toon Verwaest authored
      Fix: check whether the map of the back pointer is the metamap rather than reading the map of the constructor-or-backpointer slot. If the slot contains a constructor, it's possible that the object transitions while the concurrent marker is reading the map (from which it's reading the instance type); and it's possible that the transitioned map isn't set up yet fully when we read the instance type. An acquire load for the constructor-or-backpointer map would also fix it by serializing stores, but is more expensive. Checking the metamap is faster.
      
      In case of false negatives (it is a map but we read the field before it was properly initialized) we'll simply mark too many descriptors in the worst case.
      
      Original change's description:
      > Revert "Reland "[runtime] Amortize descriptor array growing for fast-mode prototypes""
      > 
      > This reverts commit 71f9c117.
      > 
      > Reason for revert: Seems to cause several TSan flakes, e.g. https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20TSAN%20-%20concurrent%20marking/12926
      > 
      > Original change's description:
      > > Reland "[runtime] Amortize descriptor array growing for fast-mode prototypes"
      > > 
      > > This is a reland of 2de2d3dc
      > > 
      > > Original change's description:
      > > > [runtime] Amortize descriptor array growing for fast-mode prototypes
      > > >
      > > > This avoids an O(n^2) algorithm that creates an equal amount of garbage.
      > > > Even though the actual final descriptor array might be a little bigger,
      > > > it reduces peak memory usage by allocating less.
      > > >
      > > > Bug: b:148346655
      > > > Change-Id: I984159d36e9e0b37c19bc81afc90c94c9a9d168a
      > > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2135728
      > > > Commit-Queue: Toon Verwaest <verwaest@chromium.org>
      > > > Reviewed-by: Igor Sheludko <ishell@chromium.org>
      > > > Cr-Commit-Position: refs/heads/master@{#67031}
      > > 
      > > Bug: b:148346655, v8:10339
      > > Change-Id: I24436d8f49dc1fe527c4f6558db1abcba323b6f8
      > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2139215
      > > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
      > > Reviewed-by: Igor Sheludko <ishell@chromium.org>
      > > Auto-Submit: Toon Verwaest <verwaest@chromium.org>
      > > Commit-Queue: Igor Sheludko <ishell@chromium.org>
      > > Cr-Commit-Position: refs/heads/master@{#67475}
      > 
      > TBR=ulan@chromium.org,ishell@chromium.org,verwaest@chromium.org
      > 
      > Change-Id: I6fa02d0c89557eae33b792c1fe62c9c15eb0f7c7
      > No-Presubmit: true
      > No-Tree-Checks: true
      > No-Try: true
      > Bug: b:148346655, v8:10339
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2172749
      > Reviewed-by: Clemens Backes <clemensb@chromium.org>
      > Commit-Queue: Clemens Backes <clemensb@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#67478}
      
      TBR=ulan@chromium.org,clemensb@chromium.org,ishell@chromium.org,verwaest@chromium.org
      
      Change-Id: Ib86e039374e721919cd5b02495c252ee7af283bd
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: b:148346655, v8:10339
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2173359Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
      Commit-Queue: Toon Verwaest <verwaest@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#67495}
      d29b2f81