- 11 Aug, 2020 27 commits
-
-
Seth Brenith authored
I noticed a pattern that has been copied around to various places and thought a helper function might be appropriate. Change-Id: I8944ac5166c649f15c09f587308406cab317b8d4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2346766Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Cr-Commit-Position: refs/heads/master@{#69344}
-
Milad Farazmand authored
Change-Id: Ie3e14a6ef4531349e81a8ae741bc7470c7e547ca Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2349468Reviewed-by: Junliang Yan <jyan@ca.ibm.com> Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#69343}
-
Santiago Aboy Solanes authored
Also remove ParameterMode Bug: v8:9708, v8:6949 Change-Id: Iaf51004472a4aef0acf29d01497b1047247dc83d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2349301Reviewed-by: Dan Elphick <delphick@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#69342}
-
Bill Budge authored
This reverts commit 0ba115e6. Reason for revert: Breaks test on TSAN - block-conflicts https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20TSAN%20-%20concurrent%20marking/14230 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} TBR=machenbach@chromium.org,neis@chromium.org,clemensb@chromium.org,tebbi@chromium.org,tmrts@chromium.org Change-Id: I1454a05e357ddd704db7fb79e51be65d45a9a16e No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:10577 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2348365Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#69341}
-
Andreas Haas authored
R=neis@chromium.org Bug: v8:10506 Change-Id: I4cffa301fd306acc4da4375bc6f0729d363cc659 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2349307Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#69340}
-
Tobias Tebbi authored
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}
-
Mythri A authored
We shouldn't spill weak pointers onto the stack when calling functions that can trigger GC. DynamicMapChecks operator was using feedback loaded from the feedback vector across the TryMigrateInstance function call. The feedback can be a weak pointer to receiver map for monomorphic cases and TryMigrateInstance can trigger a GC. This cl fixes it by holding a holding a strong reference to the feedback. Bug: v8:10774,v8:10582,v8:9684 Change-Id: Ia36f4d8ad46421ae570f41439bc1f0875081deee Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2336804Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#69338}
-
Dominik Inführ authored
Isolate::GetHeapStatistics uses PagedSpace::Available, which races with allocating background threads. Bug: v8:10315 Change-Id: I6e0dc37d90e0c7a3e3dd2b8bdb77f2ea82372c13 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2349294Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#69337}
-
Dominik Inführ authored
SimulateIncrementalMarking needs to invoke EnsureSweepingCompleted in a safepoint. Otherwise RefillFreeList in this method races with concurrent allocation. Bug: v8:10315 Change-Id: I9aa11d225a1c1844648788f956fd72988fe269fe Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2349299Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#69336}
-
Clemens Backes authored
This is a reland of 60ee70bb. The wasm c-api flakes were fixed in https://crrev.com/c/2349293. Original change's description: > [wasm] Ensure that only TurboFan code is serialized > > We have the implicit assumption that Liftoff code will never be > serialized, and we start relying on that when implementing new features > (debugging, dynamic tiering). > > This CL makes the serializer fail if the module contains any Liftoff > code. Existing tests are changed to ensure that we fully tiered up > before serializing a module (similar to the logic in Chromium). > The "wasm-clone-module" test needs to serialize the module before > enabling the debugger. > > Note that chrome currently only serializes a module after it fully > tiered up, so that should be fine. If other embedders need the ability > to serialize a module in an arbitrary state, we will have to fix this > later. With this CL we will be on the safe side though and (gracefully) > fail serialization instead of accidentally serializing Liftoff code. > > R=ahaas@chromium.org > > Bug: v8:10777 > Change-Id: I1245e5f7fda3447a544c1e3525e1239cde759174 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2336799 > Commit-Queue: Clemens Backes <clemensb@chromium.org> > Reviewed-by: Andreas Haas <ahaas@chromium.org> > Cr-Commit-Position: refs/heads/master@{#69276} Bug: v8:10777 Change-Id: I2a7c1429812ca46d88a2902b8e0a7b7e3d638b56 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2349290Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#69335}
-
Dominik Inführ authored
Now that background threads participate in sweeping, this method races because multiple threads now want to update that counter. We could either make this counter atomic or remove it entirely. This CL removes this counter since it isn't strictly necessary, it is only used when sweeper finds more garbage than markers. This happens e.g. with right-trimming but should be rare and is eventually fixed in the next GC. Bug: v8:10315 Change-Id: Iebae8937860160a3b49bedd03c2e21e41f7dfe76 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2349296Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#69334}
-
Zeynep Cankara authored
This CL checks the version of the log file by checking the format of Map Objects processed by the IC processor. The version check requirement came from the modified IC event logging pipeline of the V8. Bug: v8:10644 Change-Id: Ic661a34cfaf15edfde5fa24588275ac055a5bb5e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2343067 Commit-Queue: Zeynep Cankara <zcankara@google.com> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#69333}
-
Clemens Backes authored
We only want to serialize TurboFan code, because Liftoff code could contain breakpoints, and we start thinking about embedding other non-relocatable constants. Thus, wait until top-tier compilation finished before triggering serialization. A follow-up CL will make serialization fail if any Liftoff code is encountered. R=ahaas@chromium.org Bug: v8:10777 Change-Id: I73d6c2d868545fcd4069a8cf9850ca7fca375ecb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2349293Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#69332}
-
Clemens Backes authored
This removes the {InterpretWasmModuleForTesting} function in favor of {InterpretWasmModule}, and uses that in {InterpretAndExecuteModule}. The latter again is reused in {WasmExecutionFuzzer::FuzzWasmModule}, such that all fuzzers execute the same checks now. R=ahaas@chromium.org Bug: chromium:1112099, chromium:1113681 Change-Id: Ia8818b93e9274266a81573edd6852e4e4734b150 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2346283 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#69331}
-
Ulan Degenbaev authored
This is the first step in refactoring Worklist to allow arbitrary number of local worklists with private segments: - Introduce MarkingWorklistImpl<> which will eventually replace (and will be renamed to) Worklist. - MarkingWorklistImpl<> owns the global pool of segments but does not keep track of private segments. - MarkingWorklistImpl<>::Local owns private segments and can be constructed dynamically on background threads. - Rename the existing MarkingWorklistsHolder to MarkingWorklists. - Rename the existing MarkingWorklists to MarkingWorklists::Local. - Rename the existing marking_workists_holder to marking_worklists. - Rename the existing marking_worklists to local_marking_worklists. Design doc: https://bit.ly/2XMtjLi Bug: v8:10315 Change-Id: I9da34883ad34f4572fccd40c51e51eaf50c617bc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2343330Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#69330}
-
Kim-Anh Tran authored
This change adds support for skipping locations that are in a skipList on step over. This feature is useful for when we are debugging C++ applications that have DWARF information we only want to stop on every breakable location in C++, not non every breakable location on wasm level. Bug: chromium:1105765 Change-Id: Ie835b011a00cf31e0c5b2df1ac96ebd89f53d23a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2339458Reviewed-by: Eric Leese <leese@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Reviewed-by: Simon Zünd <szuend@chromium.org> Commit-Queue: Kim-Anh Tran <kimanh@chromium.org> Cr-Commit-Position: refs/heads/master@{#69329}
-
evih authored
Simplify by using assembler function. Bug: v8:10701 Change-Id: I7d07a271369fcf8ad34652b6e94463b0468ee1c5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2346282 Commit-Queue: Eva Herencsárová <evih@google.com> Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#69328}
-
Clemens Backes authored
Remove the {ErrorThrower} parameter to {CallWasmFunctionForTesting} (it was only populated in a subset of failures anyway), and merge it with {RunWasmModuleForTesting}. R=ahaas@chromium.org Bug: chromium:1113681 Change-Id: I5391e2f911928641a907bc5dad5a54677c90acb6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2346279Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#69327}
-
Jakob Gruber authored
Updated: IsOptimized -> HasAttachedOptimizedCode HasOptimizedCode -> HasAvailableOptimizedCode IsInterpreted -> ActiveTierIsIgnition Bug: v8:8888 Change-Id: I96363622b67b53371a974f1c17cef387093f053c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2346404 Auto-Submit: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Mythri Alle <mythria@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#69326}
-
Jakob Gruber authored
This CL adds more systematic predicates to JSFunction to reason about available code kinds. Introduced terminology: - Attached code kinds are accessible directly from the JSFunction itself. - Available code kinds are either attached or accessible indirectly. - The Active code kind is the one that would be executed on the next function execution. Bug: v8:8888 Change-Id: I9468884dfe97a6cb73f8329b2b6cb62b622d3e7a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2345966 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Auto-Submit: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#69325}
-
Clemens Backes authored
The "wasm fuzzer" and "wasm async fuzzer" use the {InterpretAndExecuteModule} function, which did not check for possible nondeterminism in the interpreter yet. This can lead to wrong reports of mismatches, or in endless loops being executed in compiled code which was not executed in the interpreter. This CL adds the check for nondeterminism in that function, and adds a TODO to merge the two very similar methods. R=ahaas@chromium.org Bug: chromium:1112099, chromium:1113681 Change-Id: I80b01d4c53d04f0632807fa852147dc9fb8075ca Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2346280 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#69324}
-
Clemens Backes authored
The interpreter is used for testing (including fuzzing) only, and in these cases it's often important to see the exact value of a float. Both decimal and scientific notation does not show the full value though, and decimal representation can also be really long for large values, making it hard to compare values. This CL switches this debug output to hexadecimal float values, which always shows the float value in full precision and is also much shorter than decimal notation in many cases. R=ahaas@chromium.org Bug: chromium:1112099 Change-Id: Ia84824227fcd2f1e763ab89280a202ed44930a71 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2346646Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#69323}
-
Marja Hölttä authored
Bug: v8:10239 Change-Id: I5d8e9c85f97835bcabb0c42c7dc0db0fdb3f82fe Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2342851Reviewed-by: Shu-yu Guo <syg@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#69322}
-
Lei Zhang authored
32-bit MSVC generates a C4018 warning for signed/unsigned mismatch. Fix this by casting the std::numeric_limits<int32_t>::max() return value. Change-Id: Iaff6b81c797a88654a7d2fa6d910da105d824df8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2346934Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org> Cr-Commit-Position: refs/heads/master@{#69321}
-
Dominik Inführ authored
Incrementing gc_count_ races with Heap::IncrementalMarkingLimitReached(), which starts incremental marking immediately on every second GC. Bug: v8:10315 Change-Id: Ieb1126bb4ecc472afe5fdd023a601d753576752e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2346648Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#69320}
-
Marja Hölttä authored
The design included per-location lists, but they were left out in Version 1 of the implementation. In addition: drive-by style unification. Bug: v8:10239 Change-Id: Ia4d69fdf4ce0c3aad2dae8082e00e9fa14c4170a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2339620 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/master@{#69319}
-
Milad Farazmand authored
The hight 32 bits of the result of mulhw are undefined and need to be cleared manually. Change-Id: I0e746898aa26a7970ab59b89c374afd1377028ea Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2347208Reviewed-by: Junliang Yan <jyan@ca.ibm.com> Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#69318}
-
- 10 Aug, 2020 13 commits
-
-
Shu-yu Guo authored
The Intent to Deprecate and Remove was sent in March 2019: https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/_zPuM7ETNSE Current use of Atomics.wake is at <0.0002% of page loads: https://chromestatus.com/metrics/feature/timeline/popularity/2556 Bug: v8:7883 Change-Id: I4534df6cb88e0afbeae655254d6ce48ad7b462e7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2333349 Commit-Queue: Shu-yu Guo <syg@chromium.org> Reviewed-by: Ben Smith <binji@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#69317}
-
Bill Budge authored
This reverts commit 57242a05. Reason for revert: regression tests fails: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20debug/31477 Original change's description: > [wasm-simd][arm] Use vmov to move all ones to register > > vceq(dst, dst, dst) does not seem to always set the register to all > ones. The right way should be be to use vmov (immediate) anyway. This > was not supported in the assembler yet, so we need changes to the > assembler, diassembler, and simulator. > > There is an unfortunate fork in logic in the simulator, due to the way > the switches are set up, vmov (imm) logic is duplicated across two > different cases, because the switch looks at the top bit of the > immediate. Refactoring this will be a bigger change that is irrelevant > for this bug, so I'm putting that off for now. Instead we extract the > core of vmov (imm) into helpers and call it in the two cases. > > Bug: chromium:1112124 > Change-Id: I283dbcd86cb0572e5ee720835f897b51fae96701 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2337503 > Commit-Queue: Zhi An Ng <zhin@chromium.org> > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> > Reviewed-by: Bill Budge <bbudge@chromium.org> > Cr-Commit-Position: refs/heads/master@{#69315} TBR=bbudge@chromium.org,jkummerow@chromium.org,v8-arm-ports@googlegroups.com,zhin@chromium.org Change-Id: I5d9d1dcb81771f71001d959ec5a03a43a11c4233 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:1112124 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2347211Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#69316}
-
Ng Zhi An authored
vceq(dst, dst, dst) does not seem to always set the register to all ones. The right way should be be to use vmov (immediate) anyway. This was not supported in the assembler yet, so we need changes to the assembler, diassembler, and simulator. There is an unfortunate fork in logic in the simulator, due to the way the switches are set up, vmov (imm) logic is duplicated across two different cases, because the switch looks at the top bit of the immediate. Refactoring this will be a bigger change that is irrelevant for this bug, so I'm putting that off for now. Instead we extract the core of vmov (imm) into helpers and call it in the two cases. Bug: chromium:1112124 Change-Id: I283dbcd86cb0572e5ee720835f897b51fae96701 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2337503 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#69315}
-
Frank Tang authored
https://chromium.googlesource.com/external/github.com/tc39/test262/+log/0f5a274aad..e73054f7 Bug: v8:7834 Change-Id: I1063b3e25ea957681a2f52c8d5b27970514d96d8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2342290Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Shu-yu Guo <syg@chromium.org> Commit-Queue: Frank Tang <ftang@chromium.org> Cr-Commit-Position: refs/heads/master@{#69314}
-
Ng Zhi An authored
Optimize shuffles which only use a single operand (called swizzles), after canonicalization. Bug: v8:10696 Change-Id: I2e5ffdb723123dffb0abcb6126345972ddc9f652 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2335735Reviewed-by: Clemens Backes <clemensb@chromium.org> Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#69313}
-
Andreas Haas authored
This CL adds an API function that tells the embedder if there is ongoing background work that will eventually post foreground tasks. Design doc: https://docs.google.com/document/d/18vaABH1mR35PQr8XPHZySuQYgSjJbWFyAW63LW2m8-w R=adamk@chromium.org Bug: v8:10787 Change-Id: I9060c5cdc9dbafeb7ea7c5c26d09c2dc744800bd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2342847Reviewed-by: Adam Klein <adamk@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#69312}
-
Ng Zhi An authored
With a displacement of int32_t min (-2^31), and a displacement mode of kNegativeDisplacement, we will try to negate this constant, but the result will not fit in an int32_t, leading to a runtime crash. Check for this special case in CanBeImmediate, and return false. Bug: chromium:1091892 Change-Id: I7f18153d13805f2836dd5c8e1bc098f1e9600566 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2341095 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#69311}
-
Clemens Backes authored
The plain "wasm fuzzer" (which takes the fuzzer input as the wasm wire bytes) was already running both the interpreter and compiled code, but it did not compare the results of both. This CL fixes this by reusing some logic that was already present in the fuzzers based on the {WasmCompileFuzzer} class. R=ahaas@chromium.org Bug: chromium:1113681, chromium:1112099 Change-Id: I9d407f66dfcba0eec90f050630b028edd5fae1d1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2339624 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#69310}
-
Thibaud Michaud authored
Add missing source position for stack check, used by OSR to find the correct return address. R=clemensb@chromium.org Bug: v8:10235 Change-Id: Ie26dd3b2079168e846f84b3a4ffe18b838649be7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2339625Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#69309}
-
Clemens Backes authored
We consider some function "test-only" function, e.g. if they have a "ForTesting" in their name. The src/runtime/runtime-test.cc file should be allowed to call such functions. R=tmrts@chromium.org CC=ahaas@chromium.org Change-Id: Ib57bba36ba35f29c7673d4cef6d6b1e5ad9c7f65 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2339623Reviewed-by: Andreas Haas <ahaas@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#69308}
-
Clemens Backes authored
The {name} parameter was unused, we always picked the exported "main" function. R=ahaas@chromium.org Bug: chromium:1113681 Change-Id: Iee4b8f72e1137a7e366c3c31b4fa4e4ef81863b4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2345964Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#69307}
-
Santiago Aboy Solanes authored
* CopyElementsOnWrite * CopyFixedArrayElements * GrowElementsCapacity There are two versions of CopyFixedArrayElements which still remain to be TNodified and removed ParameterMode. Bug: v8:9708, v8:6949 Change-Id: I0d63b51004aefbc55dfc57184ed9a0dda7c9b526 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2339478Reviewed-by: Mythri Alle <mythria@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#69306}
-
Jakob Kummerow authored
Bug: v8:7748 Change-Id: If876c9499373f091067299fe333e7b59d6cefb41 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2343077Reviewed-by: Manos Koukoutos <manoskouk@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#69305}
-