- 08 Apr, 2022 23 commits
-
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/38ea770..53a9bbc Rolling v8/buildtools/linux64: git_revision:ab9104586734cb45aa77c70ca5042edbcc9f6aa5..git_revision:ae110f8b525009255ba1f9ae96982176d3bfad3d Rolling v8/buildtools/third_party/libc++abi/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi/+log/ac492da..ed21e7f Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/5ff11ff..5af479b Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/ba94bbe..e121d14 Rolling v8/tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang/+log/3436376..bbc5794 Rolling v8/tools/clang/dsymutil: M56jPzDv1620Rnm__jTMYS62Zi8rxHVq7yw0qeBFEgkC..pEbTLlGCfrxK3iYSRElN2XcFrzEUg0_Wo3mQsE6AbtIC R=v8-waterfall-sheriff@grotations.appspotmail.com,mtv-sf-v8-sheriff@grotations.appspotmail.com Change-Id: Iefe6463005318beb32d0f3752771420a8a228df0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3577241 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@{#79888}
-
Leszek Swirski authored
Bug: v8:7700 Change-Id: I32e1160dd71193857e6760dd0a3b826e3ec0f044 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3579141Reviewed-by: Victor Gomes <victorgomes@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#79887}
-
Leszek Swirski authored
This allows us to inject maglev compilations into perf profiles. Bug: v8:7700 Change-Id: Ic1f2671835ca231cd954124db325a5ab8480bee0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3579101 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#79886}
-
Michael Lippautz authored
Trivial changes from https://crrev.com/c/3571887. Bug: v8:12600 Change-Id: I0a6f36d32f72a6c3817a4390645ccf5a690c5580 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3579161Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#79885}
-
Thibaud Michaud authored
Rename element_size_bytes() to value_kind_size(), and add the uncompressed version: value_kind_full_size(). R=clemensb@chromium.org Change-Id: I956142937fd1134ecbdaaa617c402ed8fff2cf17 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3568477Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/main@{#79884}
-
Michael Lippautz authored
test-embedder-tracing.cc -> embedder-tracing-unittest.cc In addition - Add heap helpers - CHECK -> EXPECT macros Bug: v8:12781 Change-Id: Ibd17a4e6d527c963170af54c57f6abc51cb08808 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3576127Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#79883}
-
Manos Koukoutos authored
We need this because read_heap_type uses the type vector capacity as out-of-bounds limit. Bug: chromium:1314496, v8:7748 Change-Id: Id76c8a143c32b20b24356f361d554cb212576c09 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3578654Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/main@{#79882}
-
Leszek Swirski authored
Simple implementations of: * Load[Immutable]CurrentContextSlot * Arithmetic with Smi immediate (AddSmi etc.) * TestEqual[Strict] Bug: v8:7700 Change-Id: I895b60631b6a99296709bdf24709b7325a0e76e4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3578854 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Victor Gomes <victorgomes@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#79881}
-
Leszek Swirski authored
Bug: v8:7700 Change-Id: I4d8f6496e796de30894c5b8229610a49ddee8bb5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3579142 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Victor Gomes <victorgomes@chromium.org> Cr-Commit-Position: refs/heads/main@{#79880}
-
Leszek Swirski authored
Prevent thrashing tier up attempts when maglev fails to compile. Bug: v8:7700 Change-Id: I31f6bd331d1c5aefa0384fcdcb055203b9055f8c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3579143 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@{#79879}
-
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 17 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}
-