- 16 Aug, 2021 27 commits
-
-
Santiago Aboy Solanes authored
Bug: v8:7790, chromium:1239122 Change-Id: Id2f72035c968fba859be8b4685385b3f543eee2a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3094008 Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#76319}
-
Santiago Aboy Solanes authored
We can reuse part of ConcurrentLookupIterator::TryGetOwnConstantElement to read a char from a string concurrently. Bug: v8:7790, v8:11012 Change-Id: Iaa75e0cdb457963e89e6bbbdb79766502286cc2d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3097277 Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#76318}
-
Junliang Yan authored
Change-Id: I7826df99d08cd8732fa1db0b1540457971428efa Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3097873Reviewed-by: Milad Fa <mfarazma@redhat.com> Commit-Queue: Junliang Yan <junyan@redhat.com> Cr-Commit-Position: refs/heads/master@{#76317}
-
Junliang Yan authored
Change-Id: Idcb68ad86edbd1855c41532f776d0e7f42b7223b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3097872Reviewed-by: Milad Fa <mfarazma@redhat.com> Commit-Queue: Junliang Yan <junyan@redhat.com> Cr-Commit-Position: refs/heads/master@{#76316}
-
Junliang Yan authored
Change-Id: I65a96957216856d334303968f954c035b355f547 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3097871Reviewed-by: Milad Fa <mfarazma@redhat.com> Commit-Queue: Junliang Yan <junyan@redhat.com> Cr-Commit-Position: refs/heads/master@{#76315}
-
Junliang Yan authored
Change-Id: I3d166575a5828b4ac1a1a7d11e5f67460428a00c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3097870Reviewed-by: Milad Fa <mfarazma@redhat.com> Commit-Queue: Junliang Yan <junyan@redhat.com> Cr-Commit-Position: refs/heads/master@{#76314}
-
Georg Neis authored
Also remove remnants of x87 port. Change-Id: I3376539504d2a04c9f918ab39d0976eaca31782f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3097866 Auto-Submit: Georg Neis <neis@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#76313}
-
Junliang Yan authored
Change-Id: I6573caaead1c402265469ce7ec4e14f51d770e79 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3097386Reviewed-by: Milad Fa <mfarazma@redhat.com> Commit-Queue: Junliang Yan <junyan@redhat.com> Cr-Commit-Position: refs/heads/master@{#76312}
-
Clemens Backes authored
The {CodeSpaceWriteScope} in {InstanceBuilder::Build} was kept open while processing imports, which could compile another wasm module via {compiler::ResolveWasmImportCall} and {WasmEngine::SyncCompileTranslatedAsmJs}. This leads to errors since {CodeSpaceWriteScope}s for different modules cannot be held open at the same time. This CL fixes that by only opening the {CodeSpaceWriteScope} for the actual compilation of import wrappers. Drive-by: Only call {ProcessImports} if there are imports to be processed, to avoid some of the overhead of {ProcessImports} and {CompileImportWrappers}. R=jkummerow@chromium.org Bug: chromium:1239522 Change-Id: Ifbaf64a4be92088ae4a3fd7e9700a33397b2a967 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3097283 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#76311}
-
Daniel Bevenius authored
This commit updates the comment for the AddData methods which currently refer to GetDataFromSnapshot, and changes them to GetDataFromSnapshotOnce instead. Change-Id: Id09d187eccf645338e2c75b8b692c15a904c8357 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2301929Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#76310}
-
Jakob Kummerow authored
No-Try: true Change-Id: Icfcf3c264968b6577165a6ef591892dd35c6f3dd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3097272 Auto-Submit: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#76309}
-
Yu Yin authored
Bug: v8:12008 Change-Id: I2e1d918a1370dae1e15919fbf02d69cbe48f63bf Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3089095Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#76308}
-
Liu Yu authored
Allows atomic loading of an unsigned 32bit value from 64bit widths. Bug: v8:12093 Change-Id: Ib6ca2f3f44d4e82e5e41bf1ca0494e48ca90a21a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3096888Reviewed-by: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Auto-Submit: Liu yu <liuyu@loongson.cn> Cr-Commit-Position: refs/heads/master@{#76307}
-
Clemens Backes authored
This reverts commit e2016cf0. Reason for revert: TSan issues: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20TSAN%20-%20isolates/16209 Original change's description: > [d8] Use predictable platform if --predictable is passed > > We currently only use the predictable platform if --verify-predictable > is passed, which is confusing and not following the comment on the > --predictable flag ("enable predictable mode"). > > This CL fixes that and makes --verify-predictable imply --predictable to > also allow to only pass --verify-predictable. > > R=ahaas@chromium.org > CC=mlippautz@chromium.org > > Bug: v8:11879 > Change-Id: Ifb9683ddc4fab374ce519169533c90244175bb48 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3094010 > Reviewed-by: Andreas Haas <ahaas@chromium.org> > Commit-Queue: Clemens Backes <clemensb@chromium.org> > Cr-Commit-Position: refs/heads/master@{#76305} Bug: v8:11879 Change-Id: I8a76c1d1dcfefd296b9cca959192af63aa1219bb No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3097282 Auto-Submit: Clemens Backes <clemensb@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/master@{#76306}
-
Clemens Backes authored
We currently only use the predictable platform if --verify-predictable is passed, which is confusing and not following the comment on the --predictable flag ("enable predictable mode"). This CL fixes that and makes --verify-predictable imply --predictable to also allow to only pass --verify-predictable. R=ahaas@chromium.org CC=mlippautz@chromium.org Bug: v8:11879 Change-Id: Ifb9683ddc4fab374ce519169533c90244175bb48 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3094010Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#76305}
-
Manos Koukoutos authored
We need to drop the object and the rtt from the liftoff stack before loading the result. Bug: v8:7748 Change-Id: Idbd4878ededc35892c951cafb3f8a8298133adff Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3094015Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#76304}
-
Jakob Kummerow authored
The static limit didn't account for possible S128 elements. This patch makes the limit element type specific. Fixed: chromium:1237024 Change-Id: Ic1e37656e2882c0eb7ea6400c83e4094eb747e88 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3097269Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#76303}
-
Santiago Aboy Solanes authored
This reverts commit a4a152ec. Reason for revert: We haven't seen the flakes in a while, we can re-enable functionality Original change's description: > Reland "[debugger] Try to trigger pause-on-oom flakes with an extra printf" > > This is a reland of 8f7e9158 > > Original change's description: > > [debugger] Try to trigger pause-on-oom flakes with an extra printf > > > > We have an issue that we can't repro locally. Enable back the > > pause-on-oom tests with an extra printf with DEBUG. We will be able to > > better assess the failures when they appear on the bot. > > > > Bug: v8:10876 > > Change-Id: I066539c4b5865ecb6f2e589e9543e8c9ebd4830b > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2474782 > > Reviewed-by: Peter Marshall <petermarshall@chromium.org> > > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > > Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#70558} > > Bug: v8:10876 > Change-Id: Ice31c9455830da320ab057293c341f69e1f0c510 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2484799 > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > Reviewed-by: Peter Marshall <petermarshall@chromium.org> > Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> > Cr-Commit-Position: refs/heads/master@{#70643} Bug: v8:10876 Change-Id: I901d31e1e92bfef0b2917ea611354618e5cda585 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3071404Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#76302}
-
Omer Katz authored
The snapshot merges nodes with their back ref if one exists. The implementation assumed that the back ref state already has its node set. However it's possible for the node to be set later. If the node is not set yet, we stash the back ref and update it after setting the node. Bug: chromium:1239144 Change-Id: If6e18cdc0e25ff13bd09218791e3f1052ea0dda8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3094009 Commit-Queue: Omer Katz <omerkatz@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#76301}
-
Timo Teräs authored
Bug: v8:12092 Change-Id: Ibca6082c28cfd5b23680d554b692bc8ab60cb416 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3094013Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#76300}
-
Omer Katz authored
The assumption doesn't necessarily hold on linux and Android either. Bug: chromium:1056170, chromium:1239287 Change-Id: Ibb0d8f5f814580bff4e8a7dce9a3397df1385896 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3097273Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Anton Bikineev <bikineev@chromium.org> Commit-Queue: Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/master@{#76299}
-
Georg Neis authored
- Remove flag --block-concurrent-recompilation and its implementation, including %UnblockConcurrentCompilation. - Rewrite tests that used it in terms of the primitives introduced in my previous CL: https://chromium-review.googlesource.com/c/v8/v8/+/3071400/ - Remove "sync"/"no sync" arguments from %GetOptimizationStatus, assertOptimized, etc. These are now always "no sync": they don't do any magic. - Remove "if %IsConcurrentRecompilationSupported then quit" from some tests in favor of --concurrent-recompilation in their Flags line. Bug: v8:12041, v8:7790 Change-Id: I966aae4fec85e6f9e7aeed2ba2c12e9198a3991f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3077149Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#76298}
-
Camillo Bruni authored
This reverts commit 91c8be95. RCS should not be exposed through the API or the inspector protocol as they are meant as an internal debugging feature. The only regularly tested and supported way is through chrome-tracing. Given that this was used mostly for an experiment to analyse chrome's performance, we can use pprof support as a replacement. Original change's description: > [DevTools] Implemented DevTools protocol API to retrieve V8 RunTime Call Stats. > > The new APIs are: > enableRuntimeCallStats > disableRuntimeCallStats > getRuntimeCallStats > > The RunTime Call Stats are collected per isolate. > > Change-Id: I7e520e2c866288aa9f9dc74f12572abedf0d3ac8 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1881601 > Commit-Queue: Peter Kvitek <kvitekp@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Cr-Commit-Position: refs/heads/master@{#64784} Change-Id: Ia7575436e97d3420dd7e68414d89477e6a86bb05 Bug: v8:11395 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2998585Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#76297}
-
Lu Yahan authored
There is still a place to simplify. Bug: v8:11420, v8:11421 Change-Id: I774139c52d911323f162350532a493e70f518643 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3096885 Auto-Submit: Yahan Lu <yahan@iscas.ac.cn> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#76296}
-
Michael Lippautz authored
finalizer-trait.h:79:49: error: the address of ‘static void cppgc::internal::FinalizerTrait<T>::Finalize(void*) [with T = Rope]’ will never be NULL [-Werror=address] static constexpr bool HasFinalizer() { return kCallback; } Fixes: Change-Id: I368138e37189440d786f130a1bce3577b7c0220f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3097267 Auto-Submit: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Omer Katz <omerkatz@chromium.org> Reviewed-by: Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/master@{#76295}
-
Lu Yahan authored
The caller saved a4 may be clobbered by the callee function. So we substitute it with the callee saved s1 to save code_obj. Change-Id: Iebe707cbaa62d47fdee0aa117e32e88f67dac743 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3096886Reviewed-by: Ji Qiu <qiuji@iscas.ac.cn> Commit-Queue: Ji Qiu <qiuji@iscas.ac.cn> Commit-Queue: Yahan Lu <yahan@iscas.ac.cn> Auto-Submit: Yahan Lu <yahan@iscas.ac.cn> Cr-Commit-Position: refs/heads/master@{#76294}
-
Nico Weber authored
Bug: chromium:1066980 Change-Id: I03a6b5253043bfb9825a1a64a1d9b060958e5a98 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3094866 Auto-Submit: Nico Weber <thakis@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#76293}
-
- 15 Aug, 2021 1 commit
-
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/edc2713..a0d5191 TBR=v8-waterfall-sheriff@grotations.appspotmail.com,mtv-sf-v8-sheriff@grotations.appspotmail.com Change-Id: If566c6ace9aec4ec9b2ba5bbf7acba3323471a28 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3095709Reviewed-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@{#76292}
-
- 14 Aug, 2021 2 commits
-
-
Michael Lippautz authored
In Blink's version of Oilpan, GCInfo objects would reside in .bss and a table would translate between an index and the .bss address. Upon retrieving a GCInfoIndex, the slow path merely passes a .bss pointer to a slow path setup method to create the table mapping. In cppgc, we set up GCInfo entries directly in the table. This is slightly faster for actually using GCInfo objects as there's no indirection between table and .bss, and it also saves one pointer (the indirection) per type that is set up. The downside of this approach is that individual components of a GCInfo objects, that are all type-dependent, need to be passed to the conditional setup method. Since GCInfo indices must be retrieved on each allocation, this pollutes the fast path with additional instructions. However, GCInfo components are actually known at compile-time for many objects. In such cases, we can use a compile-time static dispatch to encode the known parameters in different functions. This saves around 40KiB of memory on ChromePublic.apk and also creates a more compact fast path for allocation. Bug: chromium:1238884, chromium:1056170 Change-Id: Iedd809a8baefcc02f131d2b2c77d341b0abe43bb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3094007Reviewed-by: Anton Bikineev <bikineev@chromium.org> Reviewed-by: Omer Katz <omerkatz@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#76291}
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/5c5313f..edc2713 Rolling v8/buildtools: https://chromium.googlesource.com/chromium/src/buildtools/+log/37dc929..6810b87 Rolling v8/third_party/aemu-linux-x64: 21LVieOtkkse_Rl-9YyxWMe3RIxZ3Gpb_MUUrgwitckC..kjigTwWNxlU1rn_26vpSH5hoVlSnC4w1rFJHyivz5PQC Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/bd47f22..126f6a8 Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/699d70d..0c42eff Rolling v8/third_party/googletest/src: https://chromium.googlesource.com/external/github.com/google/googletest/+log/47f819c..0134d73 TBR=v8-waterfall-sheriff@grotations.appspotmail.com,mtv-sf-v8-sheriff@grotations.appspotmail.com Change-Id: I7c13cee3230eab4f038103b6fb6724b17adaa043 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3093203Reviewed-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@{#76290}
-
- 13 Aug, 2021 10 commits
-
-
Shu-yu Guo authored
To free up some ArchOpcode bits (especially for arm64), encode all atomic opcodes that are duplicated between 32bit and 64bit widths with a single opcode and encode the width in another field. Bug: v8:12093 Change-Id: Ide05e8f0b2aa877ea776851e47df60dd410deae2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3093257Reviewed-by: Zhi An Ng <zhin@chromium.org> Commit-Queue: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/master@{#76289}
-
Rakhim Khismet authored
We add multiple tables to the fuzzed module. We only can use externref or function references for tables. Bug: v8:11954 Change-Id: Ibb7b34203169a3ca97514b87273fa4ea0f6ca99a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3093145 Commit-Queue: Rakhim Khismet <khismet@google.com> Reviewed-by: Manos Koukoutos <manoskouk@chromium.org> Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#76288}
-
Ng Zhi An authored
Use movsd/vmovsd instead of pblendw/vpblendw. It is two bytes shorter, and avoids mixing integer and floating-point domain instructions. Bug: v8:12074 Change-Id: Ia41072fbf8da7d99618a55d59634f7399a7105ce Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3088358Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#76287}
-
Ng Zhi An authored
We no longer require dst == src (output = input[0]) in all cases, only when AVX is not supported. This can help remove an extra move when AVX is supported. Also in many cases (when input[0] is an immediate), we require less temporary registers. Bug: v8:11589 Change-Id: I0d272df12de54f55b4c7a0a330c38ccaca82e927 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3092553Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#76286}
-
Frank Tang authored
Repalce old C style function pointer declaration Bug: v8:12083 Change-Id: I0e7b0c808a7c195989cc75da5d6617d7295918f9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3088357Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Frank Tang <ftang@chromium.org> Cr-Commit-Position: refs/heads/master@{#76285}
-
Clemens Backes authored
This is identical to https://crrev.com/c/3094011, but for 16-bit values. We introduce another instruction to differentiate between 16->32 bit sign extensions and 16->64 bit sign extensions. R=ahaas@chromium.org, mslekova@chromium.org Bug: chromium:1239116 Change-Id: I2742e9d9c2b4a038fc7a0b1715faf8f25fa20b1f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3094012 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Maya Lekova <mslekova@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#76284}
-
Clemens Backes authored
InstructionSelector::ZeroExtendsWord32ToWord64 assumes that a Load[kRepWord8|kTypeInt32] generates a zero-extended value. This assumption makes sense, but was not fulfilled by the instruction selector which emitted an "ldrsb" instruction which sign-extended to the full 64-bit register. This CL fixes that by introducing a separate "LdrsbW" instruction which is selected if we are sign-extending an 8-bit value to 32-bit. R=ahaas@chromium.org, mslekova@chromium.org CC=v8-arm-ports@googlegroups.com Bug: chromium:1239116 Change-Id: I2da1ad6062805acf5558f3e66b8db9a50e830302 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3094011 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Maya Lekova <mslekova@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#76283}
-
Clemens Backes authored
This reverts commit 2261e053. Reason for revert: No issues with the CL, but it is taking the last two available opcodes on arm64 (we use 9 bits to encode it, so we are limited to 512 opcodes). We need to land a security fix which includes the addition of two opcodes. Before relanding this, we need to figure out a strategy to either reduce opcodes, or use one more bit to encode them. Original change's description: > [arm64][wasm] Use NEON S/Usra for Wasm SIMD add(shr(x, imm), y) > > A single AArch64 SIMD signed/unsigned Shift Right and Accumulate can be > used to implement Wasm SIMD add(shr(x, imm), y). This gives a 1-1.5% > improvement on some compute intensive Wasm benchmarks on Neoverse-N1. > > Mla and Adalp optimisations were refactored to match the style of the > added code. > > Change-Id: Id5959a31ca267e02b7d60e7ff6f942adb029b41e > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3089157 > Reviewed-by: Zhi An Ng <zhin@chromium.org> > Commit-Queue: Martyn Capewell <martyn.capewell@arm.com> > Cr-Commit-Position: refs/heads/master@{#76280} Change-Id: Ifad0625ed8a6b66e7a7a74da11ad7d60941207e5 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3094014 Auto-Submit: Clemens Backes <clemensb@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/master@{#76282}
-
Ross McIlroy authored
No longer required. BUG=chromium:1003890 Change-Id: I98fb188ec2e7cd71203cd699b7484ecc26477ed1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3086461 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Liviu Rau <liviurau@chromium.org> Cr-Commit-Position: refs/heads/master@{#76281}
-
Ilja Iskovs authored
A single AArch64 SIMD signed/unsigned Shift Right and Accumulate can be used to implement Wasm SIMD add(shr(x, imm), y). This gives a 1-1.5% improvement on some compute intensive Wasm benchmarks on Neoverse-N1. Mla and Adalp optimisations were refactored to match the style of the added code. Change-Id: Id5959a31ca267e02b7d60e7ff6f942adb029b41e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3089157Reviewed-by: Zhi An Ng <zhin@chromium.org> Commit-Queue: Martyn Capewell <martyn.capewell@arm.com> Cr-Commit-Position: refs/heads/master@{#76280}
-