- 08 Apr, 2022 13 commits
-
-
Lu Yahan authored
Port 9ca0bfef Original Commit Message: This adds feedback collection to count the number of executions of call_direct instructions in Liftoff code. The purpose is better inlining decisions in Turbofan, which are enabled by having call count information for all kinds of calls. The new feature is gated on --wasm-speculative-inlining. While direct calls don't need to speculate about their target, the whole feedback collection infrastructure depends on that flag. Change-Id: I91e34d765e5a08c382d678acdb0fca57d5d3fb7e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3578235 Auto-Submit: Yahan Lu <yahan@iscas.ac.cn> Reviewed-by: ji qiu <qiuji@iscas.ac.cn> Commit-Queue: ji qiu <qiuji@iscas.ac.cn> Cr-Commit-Position: refs/heads/main@{#79878}
-
Clemens Backes authored
Replace by a unary right fold using the comma operator. This also evaluates from left to right, so has the same semantics but uses standard C++17 syntax. R=tebbi@chromium.org Bug: v8:12425 Change-Id: I680800ba07b048ee85d9da4ae32c12825df14e54 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3576131Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#79877}
-
Leszek Swirski authored
Use the LoadIC builtin instead of LoadICNoFeedback. Bug: v8:7700 Change-Id: Ia7833d7f0a7165dbbf1bbdbae55f44ce213c65ab Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3579104 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Victor Gomes <victorgomes@chromium.org> Commit-Queue: Victor Gomes <victorgomes@chromium.org> Cr-Commit-Position: refs/heads/main@{#79876}
-
Leszek Swirski authored
It might be wrong for bytecode blocks that only juggle registers. Bug: v8:7700 Change-Id: Idf495112d278e1899a1bbd1f92128fcc2edf6074 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3579103 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/main@{#79875}
-
Dominik Inführ authored
Sweeper needs to clean up slots in the OLD_TO_SHARED remembered set as well in the future. Unlike OLD_TO_NEW or OLD_TO_OLD this remembered set will not be reset after a full GC. So we will have to remove from it both during and after a full GC when sweeping. However in the current implementation we still reset this remembered set in a shared GC. This only works because we scan all client heaps during a shared GC anyways to rebuild the remembered set. We will get rid of that when all required write barriers are implemented. Bug: v8:11708 Change-Id: Ib891a882fdf70671a483c8662408cf64e72134c6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3574546Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/main@{#79874}
-
Leszek Swirski authored
This will need re-work but it allows us to test for now. Bug: v8:7700 Change-Id: I4eabb7f9f8e8a4c0d23c6bab22c7f0127c7820dd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3579102 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/main@{#79873}
-
Benedikt Meurer authored
For large BigInts, computing the decimal representation can take a very long time, so send them as hexadecimal strings instead. Also make sure to abbreviate the RemoteObject description for bigints appropriately always. Also-By: jarin@chromium.org Fixed: chromium:1068663 Change-Id: I2f7e4e1cbd2f66ce45be307fb787e101d9a8e2a7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3578653 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Auto-Submit: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/main@{#79872}
-
Camillo Bruni authored
Bug: chromium:1297451 Change-Id: I3c33eea5ef457f1c82c6a7681fb64c9a10572dee Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3576128Reviewed-by: Maya Lekova <mslekova@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/main@{#79871}
-
Manos Koukoutos authored
Bug: v8:7748 Change-Id: Ic65c09726994fddf73979b5f25b98f7ce4c5d6ef Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3574556Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/main@{#79870}
-
Marja Hölttä authored
Bug: v8:11111 Change-Id: I94f992f78a12a86c89924261bd64c73f935051b5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3576118Reviewed-by: Shu-yu Guo <syg@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/main@{#79869}
-
Marja Hölttä authored
Bug: v8:11111 Change-Id: I0c2c8c28f96723b3d586f1469ed4fdd0468c5c3e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3576120Reviewed-by: Shu-yu Guo <syg@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/main@{#79868}
-
v8-ci-autoroll-builder authored
Rolling v8/third_party/google_benchmark/src: https://chromium.googlesource.com/external/github.com/google/benchmark/+log/60b16f1..74ae567 Small optimization to counter map management (#1382) (Dominic Hamon) https://chromium.googlesource.com/external/github.com/google/benchmark/+/74ae567 getting sysinfo in line with Google style (#1381) (Dominic Hamon) https://chromium.googlesource.com/external/github.com/google/benchmark/+/3eac3b6 R=v8-waterfall-sheriff@grotations.appspotmail.com,mtv-sf-v8-sheriff@grotations.appspotmail.com,mlippautz@chromium.org Change-Id: Ib4510c2c1d98faf9d8f7a4684b93768d1ecc34e1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3577235 Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Bot-Commit: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Cr-Commit-Position: refs/heads/main@{#79867}
-
Milad Fa authored
Executing a frsp after copysign changes any SNaN inputs to QNaN which causes test failures. Change-Id: Ieab5d24fd09344e0a3108565f478fda3b5889556 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3576793Reviewed-by: Junliang Yan <junyan@redhat.com> Commit-Queue: Milad Farazmand <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/main@{#79866}
-
- 07 Apr, 2022 27 commits
-
-
Manos Koukoutos authored
If --liftoff-only is on, we should not execute Turbofan compilation, no matter what the result of Liftoff compilation was. Right now, decoding errors are considered bailouts, which make us fall back to Turbofan and trigger a DCHECK. Change-Id: Ic12591da256d92fb79578603d4778a3d2aa460ac Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3574555Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/main@{#79865}
-
Milad Fa authored
Passing `ip/r1` as scratch to LoadV128 anf StoreV128. Change-Id: Ie86d3bd241065de985f98025e7bb60aba4cd42d3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3576132Reviewed-by: Junliang Yan <junyan@redhat.com> Commit-Queue: Milad Farazmand <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/main@{#79864}
-
Dominik Inführ authored
Removing slots in the Iterate() method performs an atomic CAS operation on a cell. This is not necessary, we can simply keep slots and drop the whole SlotSet with all buckets after iteration. Bug: v8:12760 Change-Id: I6aeb656d21e5fea6f7e15238d4105013c84ffb2a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3574558Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/main@{#79863}
-
Milad Fa authored
Port 9ca0bfef Original Commit Message: This adds feedback collection to count the number of executions of call_direct instructions in Liftoff code. The purpose is better inlining decisions in Turbofan, which are enabled by having call count information for all kinds of calls. The new feature is gated on --wasm-speculative-inlining. While direct calls don't need to speculate about their target, the whole feedback collection infrastructure depends on that flag. R=jkummerow@chromium.org, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com BUG= LOG=N Change-Id: Id94a8a00e00877213b017d1ccf06ae0ea988539b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3576126Reviewed-by: Joran Siu <joransiu@ca.ibm.com> Reviewed-by: Junliang Yan <junyan@redhat.com> Commit-Queue: Milad Farazmand <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/main@{#79862}
-
Jakob Kummerow authored
The key idea is that we can now use call count feedback into account consistently for all kinds of calls that support inlining. Bug: v8:12166 Change-Id: I764b8686b6c825a9b24f0032e81f7d1217ef1371 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3574554Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Manos Koukoutos <manoskouk@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/main@{#79861}
-
Bryant Chandler authored
This reverts commit 3111db91. Reason for revert: This has runtime failures because including cmx fragments isn't working ocrrectly. Still investigating why this wasn't discovered by CQ. Original change's description: > [fuchsia] Use SDK provided gn templates for d8 > > cr_fuchsia_package is deprecated in favor of using the Fuchsia > SDK provided rules directly. > > This CL adds a cmx file specifically for v8_unittests. CMX > files define fuchsia components, see > https://chromium-review.googlesource.com/c/chromium/src/+/3529652 > for more info. > > Bug: chromium:1092804 > Change-Id: Ibf1d866ec6b94a0e1a7a7c7c443a6ee80e3b1042 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3537885 > Reviewed-by: Victor Gomes <victorgomes@chromium.org> > Reviewed-by: Wez <wez@chromium.org> > Reviewed-by: Camillo Bruni <cbruni@chromium.org> > Commit-Queue: Bryant Chandler <bryantchandler@chromium.org> > Cr-Commit-Position: refs/heads/main@{#79760} Bug: chromium:1092804 Change-Id: Ib9a4d4f8e04c6cd7f3bd289e7c956b6115a77a25 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3572004 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Reviewed-by: Wez <wez@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Bryant Chandler <bryantchandler@chromium.org> Cr-Commit-Position: refs/heads/main@{#79860}
-
Camillo Bruni authored
- Always return a MaybeLocal<String> - Don't crash on long filenames Bug: chromium:1311923 Change-Id: I96e10337ceb32aeafafe0b73c78651a1ac38fb9f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3576122Reviewed-by: Maya Lekova <mslekova@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/main@{#79859}
-
henrika authored
Local tests on Windows using the --enable-system-instrumentation flag in combination with ETW have shown that parts of the JS stack miss symbols and most of these missing parts comes from code-creation,Bytecodehandler events. The CL fixes this issue. Bug: v8:11043 Change-Id: I77b150742e689a4002dbc5937d6daa08a0795ab9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3574545Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Henrik Andreasson <henrika@chromium.org> Cr-Commit-Position: refs/heads/main@{#79858}
-
Jakob Gruber authored
Fixed: v8:12161 Change-Id: Ie6e83dd4f261fff2d1fa8613116e83ef6b61561f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3576116 Auto-Submit: Jakob Linke <jgruber@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#79857}
-
Nico Hartmann authored
This CL adds the requirements to port object definitions back to C++. A @cppObjectDefinition is introduced to annotate classes for which Torque shall merely generate asserts to check that offsets match between Torque and C++. As a first object, this CL ports Oddball back to C++. Bug: v8:12710 Change-Id: I1304d8980f6318ffccbc2ef7284cb9d46ff579e8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3523046Reviewed-by: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/main@{#79856}
-
Leszek Swirski authored
This reverts commit 51b99213. Reason for revert: Speculative revert for MSAN failure https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux%20-%20arm64%20-%20sim%20-%20MSAN/43080/overview Original change's description: > [osr] Add an install-by-offset mechanism > > .. for concurrent OSR. There, the challenge is to hit the correct > JumpLoop bytecode once compilation completes, since execution has > moved on in the meantime. > > This CL adds a new mechanism to request installation at a specific > bytecode offset. We add a new `osr_install_target` field to the > BytecodeArray: > > bitfield struct OSRUrgencyAndInstallTarget extends uint16 { > osr_urgency: uint32: 3 bit; > osr_install_target: uint32: 13 bit; > } > > // [...] > osr_urgency_and_install_target: OSRUrgencyAndInstallTarget; > bytecode_age: uint16; // Only 3 bits used. > // [...] > > Note urgency and install target are packed into one 16 bit field, > we can thus merge both checks into one comparison within JumpLoop. > Note also that these fields are adjacent to the bytecode age; we > still reset both OSR state and age with a single (now 32-bit) > store. > > The install target is the lowest 13 bits of the bytecode offset. > When set, every reached JumpLoop will check `is this my offset?`, > and if yes, jump into runtime to tier up. > > Drive-by: Rename BaselineAssembler::LoadByteField to LoadWord8Field. > > Bug: v8:12161 > Change-Id: I275d468b19df3a4816392a2fec0713a8d211ef80 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3571812 > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Commit-Queue: Jakob Linke <jgruber@chromium.org> > Cr-Commit-Position: refs/heads/main@{#79853} Bug: v8:12161 Change-Id: I0c47499544465c80b5b23a492c00ec1c62815caa No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3576121 Auto-Submit: Leszek Swirski <leszeks@chromium.org> Owners-Override: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Cr-Commit-Position: refs/heads/main@{#79855}
-
Clemens Backes authored
This improves the code generated for float to int64 conversions on x64. Instead of explicitly checking the input for specific values and executing conditional jumps, just convert the integer back to a float and check if this results in the rounded input. The "success value" is then materialized via vmov + and instead of via branches. old: 7 c4e1fb2cd9 vcvttsd2siq rbx,xmm1 c ba01000000 movl rdx,0x1 11 49ba000000000000e0c3 REX.W movq r10,0xc3e0000000000000 1b c441f96efa vmovq xmm15,r10 20 c5792ef9 vucomisd xmm15,xmm1 24 7a08 jpe 0x3599421714ee <+0x2e> 26 7408 jz 0x3599421714f0 <+0x30> 28 4883fb01 REX.W cmpq rbx,0x1 2c 7102 jno 0x3599421714f0 <+0x30> 2e 33d2 xorl rdx,rdx new: 7 c463010bf90b vroundsd xmm15,xmm15,xmm1,0xb d c4e1fb2cd9 vcvttsd2siq rbx,xmm1 12 c4e1832ac3 vcvtqsi2sd xmm0,xmm15,rbx 17 c4c17bc2c700 vcmpss xmm0,xmm0,xmm15, (eq) 1d c4e1f97ec2 vmovq rdx,xmm0 22 83e201 andl rdx,0x1 A follow-up step would be to replace the explicitly materialized success value by a direct jump to the code handling the error case, but that requires more rewrite in TurboFan. R=tebbi@chromium.org Bug: v8:10005 Change-Id: Iaedc3f395fb3a8c11c936faa8c6e55c2dfe86cd9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3560434Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#79854}
-
Jakob Gruber authored
.. for concurrent OSR. There, the challenge is to hit the correct JumpLoop bytecode once compilation completes, since execution has moved on in the meantime. This CL adds a new mechanism to request installation at a specific bytecode offset. We add a new `osr_install_target` field to the BytecodeArray: bitfield struct OSRUrgencyAndInstallTarget extends uint16 { osr_urgency: uint32: 3 bit; osr_install_target: uint32: 13 bit; } // [...] osr_urgency_and_install_target: OSRUrgencyAndInstallTarget; bytecode_age: uint16; // Only 3 bits used. // [...] Note urgency and install target are packed into one 16 bit field, we can thus merge both checks into one comparison within JumpLoop. Note also that these fields are adjacent to the bytecode age; we still reset both OSR state and age with a single (now 32-bit) store. The install target is the lowest 13 bits of the bytecode offset. When set, every reached JumpLoop will check `is this my offset?`, and if yes, jump into runtime to tier up. Drive-by: Rename BaselineAssembler::LoadByteField to LoadWord8Field. Bug: v8:12161 Change-Id: I275d468b19df3a4816392a2fec0713a8d211ef80 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3571812Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Jakob Linke <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#79853}
-
Benedikt Meurer authored
Since the inspector does not longer hold on strongly to Script objects after they were collected by V8, this test was relying on the GC to not collect the scripts too eagerly in case where nothing else holds on to the script. So explicitly adding a global object property assignment here in those cases to ensure that the Script is kept alive. Fixed: chromium:1314212, v8:12699 Bug: chromium:1246884, chromium:1295659 Change-Id: Ia16fcf841aeb29bf131fc6fa066f120d342f94b2 Doc: https://bit.ly/v8-inspector-script-caching Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3576117 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Auto-Submit: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/main@{#79852}
-
Leszek Swirski authored
Bug: v8:12781 Change-Id: I7dfddd886571a16a180bffb8f9fc7a946d5667bc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3576113 Auto-Submit: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#79851}
-
jameslahm authored
This is a follow up CL for https://crrev.com/c/3538284. Tests credited to https://crrev.com/c/3468352. - Add unicode filename path test. - Convert ansi encoded filename argv to utf8 encoded on windows. Because the ansi encoded filename argv may lose some information for unicode filename, and we need to use GetCommandLineW to get the actual unicode filename argument. And we convert it to utf8 encoded to be consistent with subsequent processing. - Use REPLACEMENT CHARACTER to replace the characters which cannot be encoded with sys.stdout.encoding in progress.py. This CL should be **reverted** if new unicode filenames cause problems. Bug: v8:12541 Change-Id: Ic5c5ae342b3a5b11c3119452af03c9165d429ed7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3568926Reviewed-by: Clemens Backes <clemensb@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: 王澳 <wangao.james@bytedance.com> Cr-Commit-Position: refs/heads/main@{#79850}
-
Leszek Swirski authored
Bug: v8:12781 Change-Id: I0df1c8a17482f13d210f7d2424a15e15c71108c0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3576115 Auto-Submit: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Samuel Groß <saelo@chromium.org> Commit-Queue: Samuel Groß <saelo@chromium.org> Cr-Commit-Position: refs/heads/main@{#79849}
-
Clemens Backes authored
Use C++17's std::conjunction together with std::is_same instead. R=leszeks@chromium.org Bug: v8:12425 Change-Id: I75a973f14f0642b00d390aa6ab4eb1ce0208c074 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3568478Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#79848}
-
Dominik Inführ authored
We can perform these DCHECKs on all pages, not just pages in old space. Bug: v8:12760 Change-Id: I202e1a96190d305b86c69cd6616bdb5ecc812044 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3574560Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/main@{#79847}
-
Jakob Kummerow authored
This adds feedback collection to count the number of executions of call_direct instructions in Liftoff code. The purpose is better inlining decisions in Turbofan, which are enabled by having call count information for all kinds of calls. The new feature is gated on --wasm-speculative-inlining. While direct calls don't need to speculate about their target, the whole feedback collection infrastructure depends on that flag. Bug: v8:12166 Change-Id: Ie24a988fcea631f370188dc21e60a5fac923dd3d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3571807Reviewed-by: Manos Koukoutos <manoskouk@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/main@{#79846}
-
Clemens Backes authored
Some test variants and fuzzers set their own GC interval, so the flag specified in the regression test causes flag contradictions. The test failure was flaky anyway, so this change is only a slight reduction in reproducability, and the test will still be used as seed for the fuzzers. R=machenbach@chromium.org Bug: chromium:1313475 Change-Id: I7c7084ab34fe46d691b841921d42a487cc8a1cad Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3576114Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#79845}
-
Nikolaos Papaspyrou authored
Minor MC heap verification requires heap iterability. This however was not directly ensured. Coincidentally, there was an unrelated call to `Heap::Verify` that ensured `Heap::MakeHeapIterable` had been called, so the precondition was met. This call was moved to an earlier point by https://crrev.com/c/3497318 and, because of that, some combination of flags now results in a crash. This CL fixes the issue by directly ensuring heap iterability. It also moves back the call to `Heap::Verify`, so that it takes place inside the GC safepoint. Bug: v8:12768 Change-Id: I2c66de0d0a735b84dd9435ff503e78bb3611ce55 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3569224Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Commit-Queue: Nikolaos Papaspyrou <nikolaos@chromium.org> Cr-Commit-Position: refs/heads/main@{#79844}
-
Clemens Backes authored
They can be replaced by std::conjunction and c++17 folding expressions. R=tebbi@chromium.org Bug: v8:12425 Change-Id: I109ac904245aab431f11752eff5129fd4361de8a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3570428Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#79843}
-
Georgia Kouveli authored
Callee saved registers do not include the LR anymore, so we can now remove the last place where we pass a non-default template argument to PushCPURegList/PopCPURegList (in the code generator). This makes the template argument redundant, so we can remove the template altogether. Change-Id: I07f0c0a10840817df8a5afc1dc74330e290ce5bf Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3571816Reviewed-by: Jakob Linke <jgruber@chromium.org> Commit-Queue: Georgia Kouveli <georgia.kouveli@arm.com> Cr-Commit-Position: refs/heads/main@{#79842}
-
Dominik Inführ authored
Turn this assertion also on for release builds for now. This shouldn't regress sweeping performance because we do the same work as in the last release. Bug: v8:12760 Change-Id: I02f78157d20780f46bb4aebf59ce96a7b52f0a27 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3571810Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/main@{#79841}
-
Marja Hölttä authored
Bug: v8:11111 Change-Id: I722702faa062e6083496d55cd96ee33d3952998b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3571809Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Shu-yu Guo <syg@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/main@{#79840}
-
Camillo Bruni authored
Change-Id: I97d29623e163ceee450814f03fba745d478082ff Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3574550 Auto-Submit: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/main@{#79839}
-