- 09 Aug, 2022 20 commits
-
-
Dominik Inführ authored
Change-Id: I00acbcac8bbd86b502ef5d921bfcc9b2fa0f3860 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3816672 Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#82297}
-
Camillo authored
This is a reland of commit 5592bad9 Disable timeout signal handler with --fuzzing Original change's description: > [d8] Dump stack trace on d8 tests timeouts on posix systems > > - Add a SIGTERM handler in d8 that dupms the stack trace > - Send SIGTERM before SIGKILL in the test runner > > Bug: v8:13115 > Change-Id: I75285f33caabab61ff6ae83c1fbc6faf45cf595a > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3791906 > Reviewed-by: Michael Achenbach <machenbach@chromium.org> > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Commit-Queue: Camillo Bruni <cbruni@chromium.org> > Cr-Commit-Position: refs/heads/main@{#82173} Bug: v8:13115 Change-Id: I8ddbf2a5e601737c2326384d832902b38c371f81 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3816670Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/main@{#82296}
-
Michael Lippautz authored
Splitting off cosmetics and unrelated test refactorings from a larger CL reworking traced global handles. Bug: v8:13141 Change-Id: I675cdbd4898346ab55b0db65d53e992f2eb95744 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3816671 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/main@{#82295}
-
Dominik Inführ authored
StepOrigin is enough to infer the right completion action: Either finalization by task (for StepOrigin::kTask) or stack guard (for StepOrigin::kV8). Only tests with StepOrigin::kV8 were violating this but they also just pass when enabling the stack guard. Bug: v8:12775 Change-Id: I5df50198d8e3612ee97142f84bd497820a5cec78 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3816664Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/main@{#82294}
-
Jakob Linke authored
.. since these functions will also be used by Maglev codegen. Bug: v8:7700 Change-Id: I6fdf830976369aa0dc70ca54be2165a1186eab06 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3816666Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Auto-Submit: Jakob Linke <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#82293}
-
Tobias Tebbi authored
This reverts commit b1020a43. Reason for revert: Causes timeout for `condition-workers`: https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux%20-%20debug/40516/overview Original change's description: > Reland "[shared-struct] Add Atomics.Condition" > > This is a reland of commit e2066ff6 > > Changes since revert: > - Rebased against c9918524, which > uses the external pointer table for the WaiterQueueNode stored > in the state field when compressing pointers. This relaxes > the alignment requirement of the state field to be 4-bytes when > compressing pointers. > - Moved the state field into the JSSynchronizationPrimitive base > class, since alignment and padding can now be made simpler. > > Original change's description: > > [shared-struct] Add Atomics.Condition > > > > Bug: v8:12547 > > Change-Id: Id439aef9cab3348171a23378cdd47ede5f4d7288 > > Cq-Include-Trybots: luci.v8.try:v8_linux_arm64_rel_ng,v8_linux64_tsan_rel_ng > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3630350 > > Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> > > Reviewed-by: Adam Klein <adamk@chromium.org> > > Commit-Queue: Shu-yu Guo <syg@chromium.org> > > Cr-Commit-Position: refs/heads/main@{#81734} > > Bug: v8:12547 > Change-Id: I638304c3d5722c64bd04708ed4cf84863cdebb81 > Cq-Include-Trybots: luci.v8.try:v8_linux_arm64_rel_ng,v8_linux64_tsan_rel_ng > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3763787 > Reviewed-by: Adam Klein <adamk@chromium.org> > Commit-Queue: Shu-yu Guo <syg@chromium.org> > Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> > Cr-Commit-Position: refs/heads/main@{#82278} Bug: v8:12547 Change-Id: I27c2aeb131f1b68c2240323189db88d552aa92f9 Cq-Include-Trybots: luci.v8.try:v8_linux_arm64_rel_ng,v8_linux64_tsan_rel_ng No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3817187 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Auto-Submit: Tobias Tebbi <tebbi@chromium.org> Owners-Override: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Cr-Commit-Position: refs/heads/main@{#82292}
-
Andreas Haas authored
This should increase test coverage of lazy compilation. R=clemensb@chromium.org Bug: v8:12852 Change-Id: I205f4b642576add07db5851126370becdad52fb8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3784597 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#82291}
-
Omer Katz authored
Mark objects as grey when pushing to worklist and mark as black when objects are visited. Bug: v8:12612 Change-Id: I5ad28c4481052f41588f43dc39dd44f132a27dfb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3810467 Commit-Queue: Omer Katz <omerkatz@chromium.org> Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/main@{#82290}
-
Samuel Groß authored
JSArrayBuffer::Setup may trigger GC during PostProcessNewJSReceiver. This is Ok if we drop the raw_obj parameter and instead always reference the object through a Handle. Bug: v8:13121 Change-Id: I70361b16a48599ff83094d11008f6288a1402c7f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3810342 Auto-Submit: Samuel Groß <saelo@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#82289}
-
v8-ci-autoroll-builder authored
Rolling v8/buildtools/linux64: git_revision:9ef321772ecc161937db69acb346397e0ccc484d..git_revision:3d773bba0927e67eae8fdaee5e28b0f6203d3bee Rolling v8/buildtools/third_party/libc++/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx/+log/6c8f712..75bbec9 Rolling v8/buildtools/third_party/libunwind/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind/+log/012c343..c38cbd4 Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/84a7988..4755386 Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/2cd4823..647cfe6 Rolling v8/third_party/fuchsia-sdk/sdk: version:9.20220728.1.1..version:9.20220808.1.1 Rolling v8/buildtools: https://chromium.googlesource.com/chromium/src/buildtools/+log/56cc5bc..1453422 R=v8-waterfall-sheriff@grotations.appspotmail.com,mtv-sf-v8-sheriff@grotations.appspotmail.com Change-Id: I497e392a7c7690f422550d966d553b1ffa8a8c76 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3816766 Owners-Override: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/main@{#82288}
-
Lu Yahan authored
builtin Port commit 1067c6ac Change-Id: Ibbe4aa66f988a55ed4201d87019ac9f31bbfa9cc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3819043Reviewed-by: Philip Pfaffe <pfaffe@chromium.org> Auto-Submit: Yahan Lu <yahan@iscas.ac.cn> Reviewed-by: ji qiu <qiuji@iscas.ac.cn> Commit-Queue: Philip Pfaffe <pfaffe@chromium.org> Cr-Commit-Position: refs/heads/main@{#82287}
-
Matthias Liedtke authored
Bug: v8:7748 Change-Id: I511d5016ae5106a1e4aa148038b3ab2f43da1a6d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3810177 Commit-Queue: Matthias Liedtke <mliedtke@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/main@{#82286}
-
Nico Hartmann authored
This reverts commit 82a876b0. Bug: v8:13086, v8:12619 Change-Id: Idcc42f36b642fefb3ed706214e7385cccc89effc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3779687 Auto-Submit: Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/main@{#82285}
-
Qifan Pan authored
Avoid terminating from another thread in some thread termination unit tests. Change-Id: I0f66e49f1f4e7e3d6ec4c614c2cc1afc9fdb0a22 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3816663 Commit-Queue: Qifan Pan <panq@google.com> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/main@{#82284}
-
Marja Hölttä authored
TF optimizations are still missing, but otherwise the feature is code complete; further bugs at this point will be unexpected. Bug: v8:11111 Change-Id: I21f85f29a3753d21baa0f4f76daa6e69ff46097b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3810466Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/main@{#82283}
-
jameslahm authored
... when setting the prototype of TypedArray constructor. Setting the __proto__ of TypedArray constructor could change TypedArray's @@species, thus we need to invalidate the @@species protector. Bug: v8:13110 Change-Id: Ib3b2c88d1136965c221492ff81a26ae69533b356 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3813063 Commit-Queue: 王澳 <wangao.james@bytedance.com> Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Jakob Linke <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#82282}
-
Lu Yahan authored
Change-Id: I4671a704fc76063a64ed90c337770ec17fe8e393 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3815778 Commit-Queue: Yahan Lu <yahan@iscas.ac.cn> Reviewed-by: Andreas Haas <ahaas@chromium.org> Auto-Submit: Yahan Lu <yahan@iscas.ac.cn> Cr-Commit-Position: refs/heads/main@{#82281}
-
Samuel Groß authored
Since those are accessed from background threads during marking, they should generally be loaded and stored using atomic operations. Further, when an external pointer slot is initialized, the handle should be stored using release semantics to prevent reordering of the store into the pointer table after the store of the handle to the object. Bug: v8:10391, v8:13156 Change-Id: I5c33b4e791482f84e2770cd047a11f5762a0aa65 Cq-Include-Trybots: luci.v8.try:v8_linux64_heap_sandbox_dbg_ng,v8_linux_arm64_sim_heap_sandbox_dbg_ng Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3812035Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Samuel Groß <saelo@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#82280}
-
Lu Yahan authored
Change-Id: I406d211bdac02501b1bfefdf6ebb63b97bb02e44 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3815774Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Yahan Lu <yahan@iscas.ac.cn> Reviewed-by: ji qiu <qiuji@iscas.ac.cn> Auto-Submit: Yahan Lu <yahan@iscas.ac.cn> Cr-Commit-Position: refs/heads/main@{#82279}
-
Shu-yu Guo authored
This is a reland of commit e2066ff6 Changes since revert: - Rebased against c9918524, which uses the external pointer table for the WaiterQueueNode stored in the state field when compressing pointers. This relaxes the alignment requirement of the state field to be 4-bytes when compressing pointers. - Moved the state field into the JSSynchronizationPrimitive base class, since alignment and padding can now be made simpler. Original change's description: > [shared-struct] Add Atomics.Condition > > Bug: v8:12547 > Change-Id: Id439aef9cab3348171a23378cdd47ede5f4d7288 > Cq-Include-Trybots: luci.v8.try:v8_linux_arm64_rel_ng,v8_linux64_tsan_rel_ng > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3630350 > Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> > Reviewed-by: Adam Klein <adamk@chromium.org> > Commit-Queue: Shu-yu Guo <syg@chromium.org> > Cr-Commit-Position: refs/heads/main@{#81734} Bug: v8:12547 Change-Id: I638304c3d5722c64bd04708ed4cf84863cdebb81 Cq-Include-Trybots: luci.v8.try:v8_linux_arm64_rel_ng,v8_linux64_tsan_rel_ng Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3763787Reviewed-by: Adam Klein <adamk@chromium.org> Commit-Queue: Shu-yu Guo <syg@chromium.org> Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/main@{#82278}
-
- 08 Aug, 2022 20 commits
-
-
Ryan Everett authored
Use a single SBFX instruction for Word64Sar(ChangeInt32ToInt64(x), imm) when possible. Using PGO, this improves Speedometer2 by 0.4% on a Cortex-A55 machine, and 0.27% on a Neoverse-N1 machine. Change-Id: I6fea5e473f0f0869f8f6cebd9a4e61bb2fc6e9ef Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3807586Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Rodolph Perfetta <rodolph.perfetta@arm.com> Reviewed-by: Jakob Linke <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#82277}
-
Matthias Liedtke authored
noextern is the abstract null type for the extern type. Bug: v8:7748 Change-Id: I03ac0daf3051f479e096f3d05f4fa7cbf03968f1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3810191Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Matthias Liedtke <mliedtke@chromium.org> Cr-Commit-Position: refs/heads/main@{#82276}
-
Dominik Inführ authored
We now have different mechanisms for black allocation, for regular sized objects we will set all mark bits for the LAB. For large objects we will set the mark bit when initializing that large page. So when we reach this method, the object is already marked black. Bug: v8:11708 Change-Id: Ie0f82f78eefe06a25103264098cc59a3ee46d20c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3817742 Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#82275}
-
Matthias Liedtke authored
nofunc is the abstract null type, the equivalent of none but for the function type hierarchy. none and nofunc (and later on noextern) all can only represent a null value, however their nulls are distinct (as there isn't any subtype relationship between them). Bug: v8:7748 Change-Id: Ic5ae502cc21a581ca2e0f5abc46139435d950af9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3805884Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Matthias Liedtke <mliedtke@chromium.org> Cr-Commit-Position: refs/heads/main@{#82274}
-
Clemens Backes authored
This might or might not give clang-tidy a hint that the reported case (see issue) cannot happen. It might also generate slightly better code by giving hints to the compiler. Note that V8_ASSUME is actually a DCHECK in DEBUG builds, so we do not loose any checks here. Some DCHECKs were removed because they are redundant (RegisterBase::code() assumes to be only called on valid registers). R=jkummerow@chromium.org Bug: chromium:1349619 Change-Id: I467e7917a87ec86dd692f0edeed6bb72e0393cc4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3804667 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/main@{#82273}
-
jameslahm authored
We should verify the consistency of the objects we produced after deserializing successfully. Bug: v8:11525 Change-Id: Ieec1aa7112ab6eda0c61a1a9ab78e86ad8352942 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3813061 Commit-Queue: 王澳 <wangao.james@bytedance.com> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/main@{#82272}
-
Andreas Haas authored
The test-gc cctest loads the WasmCode from the NativeModule and then executes it. With lazy compilation, the WasmCode object first has to get generated before it can get loaded. R=jkummerow@chromium.org Bug: v8:12852 Change-Id: I83a8a2433ac5d11690c82f07e4ae01ddc979821c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3809811 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/main@{#82271}
-
Dominik Inführ authored
Keep page flags which are used in the write barrier together in order to help reduce code size and reduce register usage. Bug: v8:11708 Change-Id: I42efa1eeb431dea338d65aef0318cba479f2f431 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3811158Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/main@{#82270}
-
jameslahm authored
Bug: v8:7700 Change-Id: Ib27a3a818189acb5c1a1f39543762b3f0fcd9d69 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3815485Reviewed-by: Victor Gomes <victorgomes@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: 王澳 <wangao.james@bytedance.com> Cr-Commit-Position: refs/heads/main@{#82269}
-
Joyee Cheung authored
...in Runtime_StringToArray. When a string is sliced from an externalized two-byte string that has only one-byte chars, String::IsFlat() and should not call ToOneByteVector() on it and instead we should use String: :IsOneByteRepresentation() can both be true, while FlatContent: :IsOneByte() returns false. In this case we String: :Get() to get the individual characters. Bug: chromium:1350270 Change-Id: I735408602072279f09b32e1997c97b2900942bdd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3813070Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Joyee Cheung <joyee@igalia.com> Cr-Commit-Position: refs/heads/main@{#82268}
-
Matthias Liedtke authored
This change removes the subtyping between funcref and anyref. Currently, nullref (ref null none) is still a subtype of funcref and externref. This has to be adapted in a follow-up change introducing nullexternref (ref null noextern) and nullfuncref (ref null nofunc). Bug: v8:7748 Change-Id: I77a1b3fef387faf710f7bf7bf9d4655fb600ffdc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3804253Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Matthias Liedtke <mliedtke@chromium.org> Cr-Commit-Position: refs/heads/main@{#82267}
-
Pierre Langlois authored
Add a --deopt-to-baseline flag, on by default, which allows returning to sparkplug code when deoptimizing. However when we turn this off, no longer deoptimizing to baseline code means we can omit marking most bytecodes as valid jump targets. Leaving just OSR and exception handling entry points. This reduces the baseline code size by ~18% on Arm64. Bug: v8:13082 Change-Id: I5b5a6679465807d7fe812cb977464167efffa7ab Cq-Include-Trybots: luci.v8.try:v8_linux_arm64_cfi_rel_ng Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3785006Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Pierre Langlois <pierre.langlois@arm.com> Cr-Commit-Position: refs/heads/main@{#82266}
-
Andreas Haas authored
In https://crrev.com/c/3811502 metrics for lazy compilation were introduced that get recorded 5 seconds and 20 seconds after instantiation. With this CL we record these metrics also 60 seconds and 120 seconds after instantiation. R=clemensb@chromium.org Bug: v8:12852 Change-Id: If95a3453f6a8510b567d291158d4119b022c1c9b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3810248 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#82265}
-
Darius Mercadier authored
This reverts commit 5965c90b. Reason for revert: breaks tree Original change's description: > Move some string allocation functions from Factory to FactoryBase > > In a subsequent CL, I'll need to do String allocations in Turbofan (in > the background), where only a LocalFactory is available. By moving > those string allocation functions to FactoryBase, they will also be > available in the LocalFactory. > > Change-Id: I066bbd4b5016645de183633ef237986e0ae50f5d > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3811581 > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Commit-Queue: Darius Mercadier <dmercadier@chromium.org> > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Cr-Commit-Position: refs/heads/main@{#82262} Change-Id: I27b4dd06286562ec67e5e6e681e6bcebbff08980 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3816662 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> Owners-Override: Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/main@{#82264}
-
ishell@chromium.org authored
... - a code range size agnostic version of InterpreterEntryTrampoline builtin. The new builtin is fully compatible with the default version and used as a template for creating interpreter entry trampoline Code objects when --interpreted-frames-native-stack is enabled. This CL introduces a new assembler option "position_independent_code" which affects the way builtin calls are generated. This mode is enabled only for InterpreterEntryTrampolineForProfiling. Motivation: * InterpreterEntryTrampoline uses RelocInfo::CODE_TARGET for calling other builtins which requires the code range to be small enough to allow PC-relative jumps/calls between Code objects. This is the reason why --interpreted-frames-native-stack was not supported on arm and might not work on arm64 because the code range is bigger than the max PC-relative distance for call/jump instructions. The new builtin calls other builtins via builtins entry table which makes the code fully relocatable and usable for any code range size. * RelocInfo::CODE_TARGET requires a target code to be materialized as a Code object which contradicts the Code-less builtins goal. * The --interpreted-frames-native-stack is rarely used in the wild but we have to pay the price of deserializing InterpreterEntryTrampoline builtin as a Code object which consumes address space in the code range and thus limits the number of V8 isolates that can be created because of code range exhaustion. Now the pointer compression cage becomes the limiting factor instead of the code range. * We can remove complicated logic of Factory::CopyCode() and respective support on GC side. Bug: v8:11880, v8:8713, v8:12592 Change-Id: Ib72e28c03496c43db42f6fe46622def12e102f31 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3811287Reviewed-by: Jakob Linke <jgruber@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/main@{#82263}
-
Darius M authored
In a subsequent CL, I'll need to do String allocations in Turbofan (in the background), where only a LocalFactory is available. By moving those string allocation functions to FactoryBase, they will also be available in the LocalFactory. Change-Id: I066bbd4b5016645de183633ef237986e0ae50f5d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3811581Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Darius Mercadier <dmercadier@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#82262}
-
Dominik Inführ authored
So far there was no support for allocating large objects in the shared heap. Bug: v8:11708 Change-Id: Ie4ec8244fee2e75fc0e2265847fe5976da2645ea Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3811579Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/main@{#82261}
-
Anton Bikineev authored
All the known issues (GPU bot failures) have been fixed. Original change's description: > cppgc: Enable pointer compression by default on Desktop > > The CL enables pointer compression in Oilpan. > > For sherrifs: the CL may cause some slight perf regressions (likely > blink_perf.*), due to slightly higher cost of compression and > decomrpession. > > Speedometer2 is not expected to regress, as was checked locally. Such a > slight performance degradation is compensated by memory savings that are > expected to be around 10-20% of Oilpan committed size (~2.5-5% of Renderer > PMF). Bug: chromium:1325007 Change-Id: I52572ba30459dcdfd6219cfdc9e8f2f836fb95ab Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3791061 Commit-Queue: Anton Bikineev <bikineev@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#82260}
-
Andreas Haas authored
The `num_functions_` counter got incremented at the exit of `ProcessFunctionBody`, and for some exits it did not get incremented at all. This was incorrect, it has to get incremented for each call to `ProcessFunctionBody`. With this CL, `num_functions_` gets called at the beginning of the function. R=clemensb@chromium.org Bug: v8:12852 Change-Id: I554916a7217533234a82ba397c301b926ce86b99 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3811587 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#82259}
-
George Wort authored
[turbofan][arm64] Replace TruncateInt64ToInt32(BitcastTaggedToWordForTagAndSmiBits(Load(x))) with Load(x) This allows arm64 to produce an extending load from ChangeInt32ToInt64(Load(x)) more frequently. Reduces embedded code size by 0.66% for arm64. This change gives 0.3% for Speedometer on an A55 machine. Change-Id: Ie27a134cea3dfc8a26b87553f27ca01bf9f00f1a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3803227Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: George Wort <george.wort@arm.com> Cr-Commit-Position: refs/heads/main@{#82258}
-