- 18 Aug, 2020 17 commits
-
-
Milad Farazmand authored
Port 4765c70f Original Commit Message: On arm, the root register points into the middle of the roots array to allow to use the full int12_t offset range. Therefore some offsets into the root array are negative. This CL changes the liftoff assembler for arm to allow loads from negative offsets. On arm64, offsets can also be negative when pointer compression is disabled. Additionally this CL changes the signature of LiftoffAssembler::LoadTaggedPointer from uint32_t to int32_t to allow the LiftoffCompiler to provide negative indices. This CL does not come with a separate test yet. However, this changes is needed for https://crrev.com/c/2352784. Where there will also be a test. R=ahaas@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: Ie286b0169a5f7a1de90e0ec7002bfac83383ea6c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2363127Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#69456}
-
Santiago Aboy Solanes authored
Bug: v8:7790 Change-Id: I76db7b605cf3d8ecb994d2eb98ae9566eadb7331 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2289775Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#69455}
-
evih authored
The wasm instance is not needed after calling the wasm function. Bug: v8:10701 Change-Id: I9b53ecba74873746ee9c163011bca0167969c6c7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2362691Reviewed-by: Andreas Haas <ahaas@chromium.org> Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Eva Herencsárová <evih@google.com> Cr-Commit-Position: refs/heads/master@{#69454}
-
Andreas Haas authored
On arm, the root register points into the middle of the roots array to allow to use the full int12_t offset range. Therefore some offsets into the root array are negative. This CL changes the liftoff assembler for arm to allow loads from negative offsets. On arm64, offsets can also be negative when pointer compression is disabled. Additionally this CL changes the signature of LiftoffAssembler::LoadTaggedPointer from uint32_t to int32_t to allow the LiftoffCompiler to provide negative indices. This CL does not come with a separate test yet. However, this changes is needed for https://crrev.com/c/2352784. Where there will also be a test. R=thibaudm@chromium.org Bug: v8:7581 Change-Id: I0a97a62ff8e934d45a4494adfbc74a3e1149c8c1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2359429Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#69453}
-
Santiago Aboy Solanes authored
This is a reland of 0fe7a6cf Original change's description: > [csa][cleanup] Remove ParameterMode/TNodify IntPtrOrSmiConstant > > Bug: v8:9708, v8:6949 > Change-Id: I0a17eab689d8297218af92658bf5e63d34c94dfc > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2356387 > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> > Cr-Commit-Position: refs/heads/master@{#69435} Bug: v8:9708 Bug: v8:6949 Change-Id: Ic91d1249cf3178165f2c378122e5700a0f36feb5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2361465 Auto-Submit: Santiago Aboy Solanes <solanes@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#69452}
-
Maya Lekova authored
This reverts commit 1dd7f3a9. Reason for revert: Breaks TSAN - https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20TSAN/32846? Original change's description: > [heap] Add concurrent marking write barrier > > A LocalHeap creates and owns an instance of MarkingBarrier. A pointer to > the marking barrier is set to a thread_local variable for a quick access. > > WriteBarrier::MarkingSlow fetches the thread_local variable and invokes > the write barrier if it is set. Otherwise, it invokes the main thread > heap()->marking_barrier(). > > Each marking barrier has its own local marking worklist that is > published during scavenge (for updating pointers) and at finalization > of incremental marking. > > Typed-slot recording does not work yet because it is not thread-safe. > It will be fixed in a subsequent CL. > > Bug: v8:10315 > Change-Id: I221a906436cd91e7405a253ce0eb06cf68046f2c > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2354809 > Commit-Queue: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> > Cr-Commit-Position: refs/heads/master@{#69448} TBR=ulan@chromium.org,dinfuehr@chromium.org Change-Id: I9719d565aaa313cd23f5e759dcef1246f475eb46 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:10315 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2362689Reviewed-by: Maya Lekova <mslekova@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#69451}
-
Ross McIlroy authored
MSVC on x86 has issues with ALIGNAS(8) on InstructionOperand, but does align the object to 8 bytes anyway. As a work-around, avoid ALIGNAS for InstructionOperand on MSVC x86. BUG=v8:10796 Change-Id: Iabb465489d97f9518a4429e8d78c06296539ed97 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2358680Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#69450}
-
Clemens Backes authored
{NativeModuleDeserializer::ReadCode} always returned {true}. Thus remove this return value and the code handling a {false} return. R=thibaudm@chromium.org Bug: chromium:1110258 Change-Id: I2cf76936f6eea213e6318ea35bdb58b2ded801c4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2352782Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#69449}
-
Ulan Degenbaev authored
A LocalHeap creates and owns an instance of MarkingBarrier. A pointer to the marking barrier is set to a thread_local variable for a quick access. WriteBarrier::MarkingSlow fetches the thread_local variable and invokes the write barrier if it is set. Otherwise, it invokes the main thread heap()->marking_barrier(). Each marking barrier has its own local marking worklist that is published during scavenge (for updating pointers) and at finalization of incremental marking. Typed-slot recording does not work yet because it is not thread-safe. It will be fixed in a subsequent CL. Bug: v8:10315 Change-Id: I221a906436cd91e7405a253ce0eb06cf68046f2c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2354809 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#69448}
-
evih authored
GC support works for the current 0 and 1 param version of the wrapper. Bug: v8:10701 Change-Id: I9e3822b1481223c44050d23ddee7293936f1e6d4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2351673Reviewed-by: Andreas Haas <ahaas@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Eva Herencsárová <evih@google.com> Cr-Commit-Position: refs/heads/master@{#69447}
-
Clemens Backes authored
This is a reland of 899cb348. The new fuzzer regression test is skipped in jitless. Original change's description: > [wasm][fuzzer] Fix exception detection > > Exceptions were detected by checking for a pending exception on the > isolate, but {CallWasmFunctionForTesting} was clearing any pending > exception before returning. > This CL fixes that by explicitly passing back a boolean which is set if > an exception occurred during execution. > > R=ahaas@chromium.org > > Bug: chromium:1115280 > Change-Id: Ife71ceef0751d18e0870335b9520c2bf77e351cc > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2352787 > Reviewed-by: Andreas Haas <ahaas@chromium.org> > Commit-Queue: Clemens Backes <clemensb@chromium.org> > Cr-Commit-Position: refs/heads/master@{#69404} Bug: chromium:1115280 Change-Id: I9bb7300d423c53214e51e61233b0a6b09a21fd97 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2361464Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#69446}
-
Almothana Athamneh authored
Change-Id: I711d2b8e67ad80731b805353520988f796d6a95d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2358678Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Almothana Athamneh <almuthanna@chromium.org> Cr-Commit-Position: refs/heads/master@{#69445}
-
Ulan Degenbaev authored
Instead of forcing GC right away, the function now post a task and performance GC from the task with an empty stack to avoid false positive pointers in conservative stack scanning. Bug: chromium:1098187 Change-Id: I88864845a1e395056c5d5f6e867ad774b87dbb6a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2307217 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Simon Zünd <szuend@chromium.org> Reviewed-by: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#69444}
-
Martin Bidlingmaier authored
R=jgruber@chromium.org Tbr: tmrts@chromium.org Bug: v8:10765 Change-Id: I4c36614ef897c811cd4331802ad8ea5c90c5fd47 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2345228 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#69443}
-
Martin Bidlingmaier authored
This adds the new JsRegExp::Type EXPERIMENTAL, which should eventually be implemented with the algorithm based on automata. Currently the new engine deals with plain search strings only, i.e. regexps that do not contain operators or escape sequences. R=jgruber@chromium.org Bug: v8:10765 Change-Id: I6a10d9cdf4605d219dbe7cc1989df3bfa7349ff8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2339094Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#69442}
-
Dominik Inführ authored
Starting the task right on NotifyDeserializationComplete() turned out to be too early for some tests. So let an AllocationObserver start the stress allocation after deserialization is finished. Bug: v8:10315 Change-Id: I00a4294add5ec87074f9e775c602b3031cc16d58 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2358735 Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#69441}
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/939db33..13765d6 Rolling v8/third_party/aemu-linux-x64: zCy9vIuheNK--OaT_8WBj3IbVxW_RuxRLMp8KWTLqzIC..p5IjOVYEoaWHNJ28H6OKk3LlpDPCUruvOahozwiZAIgC Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/5abddab..03f5451 Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/3bd3c99..5664586 Rolling v8/third_party/zlib: https://chromium.googlesource.com/chromium/src/third_party/zlib/+log/7492de9..d53accf Rolling v8/tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang/+log/361d367..7c75562 TBR=machenbach@chromium.org,tmrts@chromium.org,v8-waterfall-sheriff@grotations.appspotmail.com Change-Id: Idbf0b55b91374c8edda27e7ff5a2648c1747e926 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2360749Reviewed-by: v8-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@{#69440}
-
- 17 Aug, 2020 23 commits
-
-
Ng Zhi An authored
In Liftoff, we were missing kS128 cases to load to/from stack. For the x64 and ARM64 instruction selector, the calculation of reverse_slot is incorrect for 128-bit values: - reverse_slot += 2 (size of 128-bit values, 2 pointers) - this copies from slot -2 into register - but the value starts at slot -1, it occupies slots -1 and -2 - we end up copying slot -2 (most significant half) of the register, and also slot -3, which is where rsi was store (Wasm instance addr) - the test ends up with a different result every time The calculation of reverse_slot is changed to follow how ia32 and ARM does it, which is to start with - reverse_slot = 0 - in the code-generator, add 1 to the slot - then after emitting Peek operation, reverse_slot += 2 The fixes for x64 and ARM64 are in both instruction-selector and code-generator. ia32 and ARM didn't support writing kSimd128 values yet, it was only a missing check in code-generator, so add that in. For ARM, the codegen is more involved, vld1 does not support addressing with an offset, so we have to do the addition into a scratch register. Also adding a test for returning multiple v128. V128 is not exposed to JavaScript, so we use a Wasm function call, and then an involved chain of extract lanes, returning 6 i32 which we verify the values of. It extracts the first and last lane of the i32x4 value in order to catch bugs where we write or read to a wrong stack slot (off by 1). The simd-scalar-lowering for kCall was only handling single s128 return, we adopt the way i64-lowering handles kCall, so that is can now handle any kinds of calls with s128 in the descriptor. Bug: v8:10794 Bug: chromium:1115230 Change-Id: I2ccdd55f6292bc5794be78053b27e14da8cce70e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2355189 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Reviewed-by: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#69439}
-
Francis McCabe authored
This reverts commit dc18b822. Reason for revert: still causing failures: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20debug/31566 Original change's description: > Reland^3 "[flags] warn about contradictory flags" > > This is a reland of 0ba115e6 > Changes: > - Also allow second parameter influenced by --cache to be reassigned. > - Fix --stress-opt to only --always-opt in the last iteration as before. > > Original change's description: > > Reland^2 "[flags] warn about contradictory flags" > > > > This is a reland of d8f8a7e2 > > Change compared to last reland: > > - Do not check for d8 flag contradictions in the presence of --fuzzing > > - Allow identical re-declaration of --cache=* > > > > Original change's description: > > > Reland "[flags] warn about contradictory flags" > > > > > > This is a reland of b8f91666 > > > Difference to previous CL: Additional functionality to specify > > > incompatible flags based on GN variables and extra-flags, used > > > to fix the issues that came up on the waterfall. > > > > > > This also changes the rules regarding repeated flags: While > > > explicitly repeated flags are allowed for boolean values as long > > > as they are identical, repeated flags or explicit flags in the > > > presence of an active implication are disallowed for non-boolean > > > flags. The latter simplifies specifying conflict rules in > > > variants.py. Otherwise a rule like > > > > > > INCOMPATIBLE_FLAGS_PER_EXTRA_FLAG = { > > > "--gc-interval=*": ["--gc-interval=*"], > > > } > > > > > > wouldn't work because specifying the same GC interval twice > > > wouldn't actually count as a conflict. This was an issue with > > > test/mjsunit/wasm/gc-buffer.js, which specifies > > > --gc-interval=500 exactly like the extra flag by the stress bot. > > > > > > Also, this now expands contradictory flags checking to d8 flags > > > for consistency. > > > > > > Original change's description: > > > > [flags] warn about contradictory flags > > > > > > > > Design Doc: https://docs.google.com/document/d/1lkvu8crkK7Ei39qjkPCFijpNyxWXsOktG9GB-7K34jM/ > > > > > > > > Bug: v8:10577 > > > > Change-Id: Ib9cfdffa401c48c895bf31caed5ee03545beddab > > > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2154792 > > > > Reviewed-by: Clemens Backes <clemensb@chromium.org> > > > > Reviewed-by: Michael Achenbach <machenbach@chromium.org> > > > > Reviewed-by: Georg Neis <neis@chromium.org> > > > > Reviewed-by: Tamer Tas <tmrts@chromium.org> > > > > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > > > > Cr-Commit-Position: refs/heads/master@{#68168} > > > > > > Bug: v8:10577 > > > Change-Id: I268e590ee18a535b13dee14eeb15ddd0a9ee8341 > > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2235115 > > > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > > > Reviewed-by: Tamer Tas <tmrts@chromium.org> > > > Reviewed-by: Clemens Backes <clemensb@chromium.org> > > > Reviewed-by: Georg Neis <neis@chromium.org> > > > Cr-Commit-Position: refs/heads/master@{#68989} > > > > Bug: v8:10577 > > Change-Id: I31d2794d4f9ff630f3444210100c64d67d881276 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2339464 > > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > > Reviewed-by: Clemens Backes <clemensb@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#69339} > > Bug: v8:10577 > Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel_ng > Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_isolates_rel_ng > Change-Id: I4a69dc57a102782cb453144323e3752ac8278624 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2352770 > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Cr-Commit-Position: refs/heads/master@{#69433} TBR=machenbach@chromium.org,neis@chromium.org,clemensb@chromium.org,tebbi@chromium.org,tmrts@chromium.org Change-Id: I4ccdd7b931d0ddccbcec1d6cfae8d4874ee49cfc No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:10577 Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel_ng Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_isolates_rel_ng Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2360414Reviewed-by: Francis McCabe <fgm@chromium.org> Commit-Queue: Francis McCabe <fgm@chromium.org> Cr-Commit-Position: refs/heads/master@{#69438}
-
Francis McCabe authored
This reverts commit 0fe7a6cf. Reason for revert: Causing tree to fail: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20debug/31566 Original change's description: > [csa][cleanup] Remove ParameterMode/TNodify IntPtrOrSmiConstant > > Bug: v8:9708, v8:6949 > Change-Id: I0a17eab689d8297218af92658bf5e63d34c94dfc > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2356387 > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> > Cr-Commit-Position: refs/heads/master@{#69435} TBR=rmcilroy@chromium.org,solanes@chromium.org Change-Id: Ie816bffee696bb03cf26e195405f0fe8509dd0f3 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:9708 Bug: v8:6949 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2360048Reviewed-by: Francis McCabe <fgm@chromium.org> Commit-Queue: Francis McCabe <fgm@chromium.org> Cr-Commit-Position: refs/heads/master@{#69437}
-
Santiago Aboy Solanes authored
Removed all uses of ParameterToTagged and TaggedToParameter but forgot to remove the method themselves. Bug: v8:9708, v8:6949 Change-Id: I8718a0739ce81ca42546125fac765618e0208cb2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2356388Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#69436}
-
Santiago Aboy Solanes authored
Bug: v8:9708, v8:6949 Change-Id: I0a17eab689d8297218af92658bf5e63d34c94dfc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2356387Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#69435}
-
Marja Hölttä authored
The deadlock occurs because of cyclical "first mutex1, then mutex2" mutex locking patterns between 3 mutexes: the futex-emulation mutex, the gc mutex and the isolate break_access mutex. The fix is to not allocate memory while holding the futex-emulation mutex. This breaks the cycle. Bug: v8:10239, v8:10800 Change-Id: Ifbb693549a28db11d8affc56de0bbed3ef0dd701 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2356345Reviewed-by: Shu-yu Guo <syg@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#69434}
-
Tobias Tebbi authored
This is a reland of 0ba115e6 Changes: - Also allow second parameter influenced by --cache to be reassigned. - Fix --stress-opt to only --always-opt in the last iteration as before. Original change's description: > Reland^2 "[flags] warn about contradictory flags" > > This is a reland of d8f8a7e2 > Change compared to last reland: > - Do not check for d8 flag contradictions in the presence of --fuzzing > - Allow identical re-declaration of --cache=* > > Original change's description: > > Reland "[flags] warn about contradictory flags" > > > > This is a reland of b8f91666 > > Difference to previous CL: Additional functionality to specify > > incompatible flags based on GN variables and extra-flags, used > > to fix the issues that came up on the waterfall. > > > > This also changes the rules regarding repeated flags: While > > explicitly repeated flags are allowed for boolean values as long > > as they are identical, repeated flags or explicit flags in the > > presence of an active implication are disallowed for non-boolean > > flags. The latter simplifies specifying conflict rules in > > variants.py. Otherwise a rule like > > > > INCOMPATIBLE_FLAGS_PER_EXTRA_FLAG = { > > "--gc-interval=*": ["--gc-interval=*"], > > } > > > > wouldn't work because specifying the same GC interval twice > > wouldn't actually count as a conflict. This was an issue with > > test/mjsunit/wasm/gc-buffer.js, which specifies > > --gc-interval=500 exactly like the extra flag by the stress bot. > > > > Also, this now expands contradictory flags checking to d8 flags > > for consistency. > > > > Original change's description: > > > [flags] warn about contradictory flags > > > > > > Design Doc: https://docs.google.com/document/d/1lkvu8crkK7Ei39qjkPCFijpNyxWXsOktG9GB-7K34jM/ > > > > > > Bug: v8:10577 > > > Change-Id: Ib9cfdffa401c48c895bf31caed5ee03545beddab > > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2154792 > > > Reviewed-by: Clemens Backes <clemensb@chromium.org> > > > Reviewed-by: Michael Achenbach <machenbach@chromium.org> > > > Reviewed-by: Georg Neis <neis@chromium.org> > > > Reviewed-by: Tamer Tas <tmrts@chromium.org> > > > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > > > Cr-Commit-Position: refs/heads/master@{#68168} > > > > Bug: v8:10577 > > Change-Id: I268e590ee18a535b13dee14eeb15ddd0a9ee8341 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2235115 > > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > > Reviewed-by: Tamer Tas <tmrts@chromium.org> > > Reviewed-by: Clemens Backes <clemensb@chromium.org> > > Reviewed-by: Georg Neis <neis@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#68989} > > Bug: v8:10577 > Change-Id: I31d2794d4f9ff630f3444210100c64d67d881276 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2339464 > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Cr-Commit-Position: refs/heads/master@{#69339} Bug: v8:10577 Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel_ng Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_isolates_rel_ng Change-Id: I4a69dc57a102782cb453144323e3752ac8278624 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2352770 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#69433}
-
Santiago Aboy Solanes authored
* AllocateFixedArray * GetArrayAllocationSize * GetFixedArrayAllocationSize Bug: v8:9708, v8:6949 Change-Id: I30c810d49a4b5b2f5782a66f17061a0cf8737bcf Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2356348Reviewed-by: Mythri Alle <mythria@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#69432}
-
Almothana Athamneh authored
Bug: chromium:1113183 Change-Id: I0715257b5e929ae6877e1d031138ec24d2789c29 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2358732Reviewed-by: Liviu Rau <liviurau@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Almothana Athamneh <almuthanna@chromium.org> Cr-Commit-Position: refs/heads/master@{#69431}
-
Marja Hölttä authored
Bug: v8:10239, chromium:1115354 Change-Id: I64b028b383dcff1e4224c945ee1f982d1979eb9d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2354813Reviewed-by: Shu-yu Guo <syg@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#69430}
-
Santiago Aboy Solanes authored
Do: * FixedArraySizeDoesntFitInNewSpace * GotoIfFixedArraySizeDoesntFitInNewSpace Bug: v8:9708, v8:6949 Change-Id: Ic76b6b98620e6fcec9b13a940c51a36616c21a56 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2356347Reviewed-by: Mythri Alle <mythria@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#69429}
-
Georg Neis authored
Bug: v8:7790 Change-Id: I8160a3729fcff8037e83eb4566e15b6b0f42781f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2358736Reviewed-by: Santiago Aboy Solanes <solanes@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#69428}
-
Seth Brenith authored
This is a reland of f4548e75 Original change's description: > [regalloc] Place spill instructions optimally > > Design doc: > https://docs.google.com/document/d/1n9ADWnDI-sw0OvdSmrthf61prmDqbDmQq-NSrQw2MVI/edit?usp=sharing > > Most of this change follows directly what is discussed in the design > document. A few other things are also changed: > > - PopulateReferenceMapsPhase is moved after ResolveControlFlowPhase so > that it can make use of the decision regarding whether a value is > spilled at its definition or later. > - SpillSlotLocator is removed. It was already somewhat confusing, > because the responsibility for marking blocks as needing frames was > split: in some cases they were marked by SpillSlotLocator, and in > other cases they were marked by CommitSpillsInDeferredBlocks. With > this change, that split responsibility would become yet more > confusing if we kept SpillSlotLocator for the values that are spilled > at their definition, so I propose a simpler rule that whatever code > adds the spill move also marks the block. > - A few class definitions (LiveRangeBound, FindResult, > LiveRangeBoundArray, and LiveRangeFinder) are moved without > modification from register-allocator.cc to register-allocator.h so > that we can refer to them from another cc file. > > Bug: v8:10606 > Change-Id: I374a3219a5de477a53bc48117e230287eae89e72 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2285390 > Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> > Cr-Commit-Position: refs/heads/master@{#69345} Bug: v8:10606 Change-Id: I10fc1ef4b0bebb6c9f55ebdefe33e8c1e5646f0a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2352483 Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#69427}
-
Leszek Swirski authored
Enable logging script events and code position events during a background compile. This isn't technically thread-safe, but neither are the existing logger accesses in the parser, so something has to be done here in general. Bug: chromium:1011762 Change-Id: I3b610c3bb146880ef826928b6f341f402ca6247e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2162853Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#69426}
-
Emanuel Ziegler authored
Add an event for recording metrics related to decoding Wasm modules. R=clemensb@chromium.org Bug: chromium:1092417 Change-Id: Id60560d8eb8c14edb5b863857b18c1c82f48e7e7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2351672 Commit-Queue: Emanuel Ziegler <ecmziegler@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#69425}
-
Yuki Shiino authored
Moves a forward declaration of v8::CFunction to the appropriate position. Change-Id: I9ea8c7697a0abd39a0c8fdc536aae0417e04cafe Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2359091Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Yuki Shiino <yukishiino@chromium.org> Cr-Commit-Position: refs/heads/master@{#69424}
-
Maya Lekova authored
This reverts commit 8984a258. Reason for revert: Breaks GC stress custom snapshot bot - https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20GC%20Stress%20-%20custom%20snapshot/32681 Original change's description: > [wasm] Map JS_TO_WASM frame marker to proper frame type > > Bug: v8:10701 > Change-Id: Ic924352195076c9cdc6a2b5f20cd75a1dcc489df > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2355950 > Commit-Queue: Eva Herencsárová <evih@google.com> > Reviewed-by: Andreas Haas <ahaas@chromium.org> > Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> > Cr-Commit-Position: refs/heads/master@{#69421} TBR=jkummerow@chromium.org,ahaas@chromium.org,thibaudm@chromium.org,evih@google.com Change-Id: Iabc9de9fa1f1478369bf6a7dde77e661d8467542 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:10701 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2358677Reviewed-by: Maya Lekova <mslekova@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#69423}
-
Emanuel Ziegler authored
Some fixes that were required to make the metric recording framework run better: - Set the foreground task runner later so it can still be modified in test cases - Add Start and Stop methods to TimedScope for more control - Clear map of contexts explicitly to avoid it being triggered at the end of the destructor when counters are already destroyed and a SEGFAULT may occur due to histogram updates during destruction of the weak persistent handles. R=rmcilroy@chromium.org Bug: chromium:1101749 Change-Id: Ib41c7aeb1aac96f0fa102f0fceadbf7ec2dd78dc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2351668Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Emanuel Ziegler <ecmziegler@chromium.org> Cr-Commit-Position: refs/heads/master@{#69422}
-
evih authored
Bug: v8:10701 Change-Id: Ic924352195076c9cdc6a2b5f20cd75a1dcc489df Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2355950 Commit-Queue: Eva Herencsárová <evih@google.com> Reviewed-by: Andreas Haas <ahaas@chromium.org> Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#69421}
-
Dominik Inführ authored
Allow AllocationObserver::Step to remove allocation observers as well. They could already add new observers (to start incremental marking), removing will be used when starting StressConcurrentAllocator from an allocation observer. Bug: v8:10315 Change-Id: I823ded2f9a408b3fa5269ee8416060d0cabb3162 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2357690Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#69420}
-
Thibaud Michaud authored
Temporarily disable multi-value until the launch is approved. R=ahaas@chromium.org Bug: chromium:1097717 Change-Id: Ifb2370d87ec5e531257852bc5fc5259386a022d8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2358675Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#69419}
-
Santiago Aboy Solanes authored
We can bypass the data() and do a direct access read. Bug: v8:7790 Change-Id: Id1d5b4ad9dcde1673fae07a076ad11322da4c724 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2358730Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#69418}
-
Jakob Kummerow authored
This is a comment-only CL. Change-Id: I002b1765bfa839982ab11c22f744734fdd34d4ce Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2352788Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#69417}
-