- 11 Nov, 2021 5 commits
-
-
Jakob Gruber authored
Force-inline the HandleScope constructor and destructor, and add branch hints for two commonly-mispredicted branches. This moves the overall JetStream2/cdjs score by roughly 4% on d8. I suspect no change will be visible in chromium builds (with PGO). Bug: v8:12196 Change-Id: I0fd7b67aa554876d2dad2d706b874df21dbb72e2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3270542 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#77836}
-
Benedikt Meurer authored
This introduces a stack frame cache on the V8Debugger level, which de-duplicates StackFrame instances based on their scriptId, line and column number. This greatly reduces the memory pressure when debugging huge Web applications that have a lot of async activity (and potentially have scripts with huge URLs). This is guided by the observation that even in huge applications, there are only a very limited number of call sites that initiate async activity and hence we only have a limited number of distinct StackFrames to worry about (despite having to maintain a large number of async stack traces overall). As a nice side effect, this CL also greatly reduces the negative performance impact of collecting async stack traces in these huge applications. Generally speaking this is mostly duct tape however, and we might want to follow up with changes to make capturing (and storing) stack frames even cheaper. Fixed: chromium:1268436 Change-Id: Ib212b3c97dce2bb7ca47d5875d45cf20b9b97afe Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3272577 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Simon Zünd <szuend@chromium.org> Cr-Commit-Position: refs/heads/main@{#77835}
-
v8-ci-autoroll-builder authored
Rolling v8/third_party/google_benchmark/src: https://chromium.googlesource.com/external/github.com/google/benchmark/+log/431abd1..b3c08f6 check clang format on pull requests and merges (#1281) (Dominic Hamon) https://chromium.googlesource.com/external/github.com/google/benchmark/+/b3c08f6 format tests with clang-format (#1282) (Dominic Hamon) https://chromium.googlesource.com/external/github.com/google/benchmark/+/c07a498 clang-format Google on {src/,include/} (#1280) (Dominic Hamon) https://chromium.googlesource.com/external/github.com/google/benchmark/+/fcef4fb TBR=v8-waterfall-sheriff@grotations.appspotmail.com,mtv-sf-v8-sheriff@grotations.appspotmail.com,mlippautz@chromium.org Change-Id: I32740a6899832fdfbb89b41e4b082eddb5c94063 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3273787Reviewed-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/main@{#77834}
-
Liu Yu authored
The second parameter of Int64Mul may be a 64-bit immediate value, treating it as a 32-bit value will lose the upper 32 bits. Besides, add a test for this error. Bug: v8:12373 Change-Id: I92e95f7906051c91f9076730e5490b0956416d68 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3272195 Auto-Submit: Liu yu <liuyu@loongson.cn> Commit-Queue: Liu yu <liuyu@loongson.cn> Reviewed-by: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/main@{#77833}
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/3a26983..2f14357 Rolling v8/third_party/aemu-linux-x64: f0uJsXEjFFbo2nVGo8XXghmC5jioFclKgH_jzEObMmYC..j1lOwTKOsgGUj2jDFDa6IhTVhwEoPPzmdxFksCvz278C Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/5c5e5a1..0dab16a Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/ea9285c..2df8443 Rolling v8/third_party/googletest/src: https://chromium.googlesource.com/external/github.com/google/googletest/+log/aa486f1..79efd96 Rolling v8/third_party/instrumented_libraries: https://chromium.googlesource.com/chromium/src/third_party/instrumented_libraries/+log/8bed2fb..286f857 TBR=v8-waterfall-sheriff@grotations.appspotmail.com,mtv-sf-v8-sheriff@grotations.appspotmail.com Change-Id: Idc46d13ab8010d5d1f86d03bdcf3eb24c6595bc1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3273786Reviewed-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/main@{#77832}
-
- 10 Nov, 2021 25 commits
-
-
Shu-yu Guo authored
The is_shared bit bumps the number of reserved bits for Strings' InstanceType from 6 to 7. This has the side effect of shuffling the InstanceType enum values. There are no users of this bit yet. This is steps 1-2 from the following design doc [1], in preparation for sharing internalized and in-place-internalizable strings. [1] https://docs.google.com/document/d/1c5i8f2EfKIQygGZ23hNiGxouvRISjUMnJjNsOodj6z0/edit?usp=sharing Bug: v8:12007 Change-Id: Idf11a6035305f0375b4f824ffd32a64f6b5b043b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3266017 Commit-Queue: Shu-yu Guo <syg@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/main@{#77831}
-
Vasili Skurydzin authored
Don't emit modsd, modud, modsw, moduw if Power proc. version is less than 9. Change-Id: I20a33930c5887921cf1943558b3ab6ac8d8a53ee Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3271636Reviewed-by: Junliang Yan <junyan@redhat.com> Commit-Queue: Vasili Skurydzin <vasili.skurydzin@ibm.com> Cr-Commit-Position: refs/heads/main@{#77830}
-
Al Muthanna Athamina authored
Bug: chromium:1136844 Change-Id: I1c9be9ff38114f548b5f40462d96968dbf1565ab Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3272580 Commit-Queue: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Liviu Rau <liviurau@chromium.org> Cr-Commit-Position: refs/heads/main@{#77829}
-
Ng Zhi An authored
Bug: v8:12244,v8:12245 Change-Id: I678296c3ebf5d78dac7697a25b27c583406e02cb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3269179 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/main@{#77828}
-
Victor Gomes authored
While compiling concurrently, we change the permissions of the page containing the new code object to RWX, so the main thread can continue executing a potential code in the same page. If no thread is compiling the new code, we change the permissions of all pages affected back to RX. We also initialises code object page to immediately RWX by default. Otherwise, a new code could be allocated in the same page, it will call UnprotectAndRegister, and since write_unprotect_counter_ is now at least 2, the code ignores the permission change. We then sigfault when trying to run the new code. Change-Id: Id18bcb9a44843b4ff747b1e4ac91913e80b74d80 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3257606Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Commit-Queue: Victor Gomes <victorgomes@chromium.org> Cr-Commit-Position: refs/heads/main@{#77827}
-
Junliang Yan authored
Change-Id: Id60f3552af2ba12a8ac8fd88ad43a88a9076774d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3272582Reviewed-by: Milad Fa <mfarazma@redhat.com> Commit-Queue: Junliang Yan <junyan@redhat.com> Cr-Commit-Position: refs/heads/main@{#77826}
-
Junliang Yan authored
Change-Id: I48384ff3282e32108cc439bdb56097ca59bedefb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3270002Reviewed-by: Milad Fa <mfarazma@redhat.com> Commit-Queue: Junliang Yan <junyan@redhat.com> Cr-Commit-Position: refs/heads/main@{#77825}
-
Scott Violet authored
BUG=chromium:1257321 TEST=none Change-Id: I59f34e8b41ba08f5046754c13be8f1df6a335655 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3271389Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Scott Violet <sky@chromium.org> Cr-Commit-Position: refs/heads/main@{#77824}
-
Vasili Skurydzin authored
Change-Id: Ic868b6f9bb17bb9d6e6fe2a7203a41383aef5cf7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3272206Reviewed-by: Junliang Yan <junyan@redhat.com> Commit-Queue: Vasili Skurydzin <vasili.skurydzin@ibm.com> Cr-Commit-Position: refs/heads/main@{#77823}
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/6d2bdd8..3a26983 Rolling v8/buildtools/third_party/libc++abi/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi/+log/ee43952..707d75f Rolling v8/third_party/aemu-linux-x64: v2iF9qvnOnVHoqJpdbZJYOqXwQzHFLq1S6pnFoNhtEgC..f0uJsXEjFFbo2nVGo8XXghmC5jioFclKgH_jzEObMmYC Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/c9cf63a..5c5e5a1 Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/1b2f8f0..ea9285c Rolling v8/third_party/instrumented_libraries: https://chromium.googlesource.com/chromium/src/third_party/instrumented_libraries/+log/565ca2d..8bed2fb TBR=v8-waterfall-sheriff@grotations.appspotmail.com,mtv-sf-v8-sheriff@grotations.appspotmail.com Change-Id: I52def08a4fc2d0839a80313b1930ea4197dc9d6e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3271747Reviewed-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/main@{#77822}
-
Liviu Rau authored
Bug: chromium:1268452 Change-Id: Idbddd1a2079cfa1e38ce5209799bfb656e5b7911 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3270544Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Liviu Rau <liviurau@chromium.org> Cr-Commit-Position: refs/heads/main@{#77821}
-
Igor Sheludko authored
The feature is controlled by a boolean flag on Isolate, so there's no need to keep the flag read-only. Bug: v8:11527, chromium:1241665 Change-Id: I377452fed10b319a4a512c090706c754603c2ae8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3270547 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#77820}
-
Victor Gomes authored
The LocalAllocationBuffer (LAB) doesn't need to be iterable, when the heap needs to be iterable we have explicit calls to `MakeIterable()` anyways for the LABs. Also creating that filler object initially isn't enough, we would need to do this after each and every allocated object. Change-Id: Iedb011205d7590a75ea17d518e78e340f1d4b63d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3270546 Commit-Queue: Victor Gomes <victorgomes@chromium.org> Auto-Submit: Victor Gomes <victorgomes@chromium.org> Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/main@{#77819}
-
Leszek Swirski authored
This reverts commit 5e16d853. Reason for revert: TSAN https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux64%20TSAN%20-%20no-concurrent-marking/6432/overview Original change's description: > [SharedFunctionInfo] Add available_baseline_code flag > > Checks that flags1 are ReadOnly after SFI is finalised. > > Bug: v8:12054 > Change-Id: Ia2518b8f136a81aa076fd429bf4fcaf742a314e3 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3263897 > Commit-Queue: Victor Gomes <victorgomes@chromium.org> > Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Cr-Commit-Position: refs/heads/main@{#77816} TBR=leszeks@chromium.org,v8-scoped@luci-project-accounts.iam.gserviceaccount.com,victorgomes@chromium.org,nicohartmann@chromium.org Change-Id: Ifb28601a6f6dbe24b38e2e9ea2a5a7e576c0c511 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:12054 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3270545Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Owners-Override: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#77818}
-
Camillo Bruni authored
Directly memcpy char* literals if they fit in the current pending part. This avoids incremental checks for the current part size. This will improve JSON.stringify for objects with lots of true, false, null values by roughly 10%; Drive-by-fix: - Improve JSON.stringify for empty [] and {} - Add IncrementalStringBuilder::NoExtend DECHECKs Bug: v8:12195 Change-Id: I81ebc9e088cf983adbcfb2d768137e4a3cef9a7a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3260524Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/main@{#77817}
-
Victor Gomes authored
Checks that flags1 are ReadOnly after SFI is finalised. Bug: v8:12054 Change-Id: Ia2518b8f136a81aa076fd429bf4fcaf742a314e3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3263897 Commit-Queue: Victor Gomes <victorgomes@chromium.org> Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#77816}
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/0a9d641..6d2bdd8 Rolling v8/buildtools: https://chromium.googlesource.com/chromium/src/buildtools/+log/80e4f83..b138e6c Rolling v8/buildtools/third_party/libc++abi/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi/+log/bc060a2..ee43952 Rolling v8/third_party/aemu-linux-x64: JOROMO2u_x7WbmPlWROhQxdCaIY-Q639bZpu8IWRc30C..v2iF9qvnOnVHoqJpdbZJYOqXwQzHFLq1S6pnFoNhtEgC Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/462705b..c9cf63a Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/266129c..1b2f8f0 Rolling v8/third_party/googletest/src: https://chromium.googlesource.com/external/github.com/google/googletest/+log/bf0701d..aa486f1 Rolling v8/third_party/instrumented_libraries: https://chromium.googlesource.com/chromium/src/third_party/instrumented_libraries/+log/fe0d17a..565ca2d TBR=v8-waterfall-sheriff@grotations.appspotmail.com,mtv-sf-v8-sheriff@grotations.appspotmail.com Change-Id: Ie3bd2ad8e1c7b6bb5e5766640e8ba1a873f426df Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3271738Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Owners-Override: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#77815}
-
Dominik Inführ authored
V8's write barrier doesn't use a store buffer anymore but inserts directly into the remembered set. However, there were still some comments/method definitions left. Bug: v8:9454 Change-Id: Ic3bc3394750f1d4989027e07dbc9201c3f484ccd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3270536Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/main@{#77814}
-
Michael Lippautz authored
Rename flags to align them with other flags that are named in an enabled way and drop the "never" prefix. Drive-by: Refactor compaction entry point. Bug: v8:12251 Change-Id: If2b189152f3cd22038b87fe3cc2ba0db4953ae23 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3270534 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/main@{#77813}
-
Dominik Inführ authored
Add support for safepointing multiple isolates as described in the design doc (link is below). A safepoint across multiple isolates is considered a global safepoint to distinguish it from regular safepoints. The basic idea behind the implementation is that we reach a safepoint for each client. What's new is that now also main threads need to participate in the safepointing protocol and need to give up control in time. The slow paths of Park(), Unpark() and Safepoint() on the main thread need to be adjusted for this reason as well. This CL introduces GlobalSafepoint and GlobalSafepointScope to mirror IsolateSafepoint and IsolateSafepointScope. This CL adds the type IgnoreLocalGCRequests, it is used to prevent Park() and Unpark() from honoring the request from background threads to perform a local GC. This is used heap-internally to not have GCs (or even nested GCs) in certain locations. E.g. when initiating a safepoint to perform a GC we don't want a "recursive" GC to occur. Design doc: https://docs.google.com/document/d/1y6C9zAACEr0sBYMIYk3YpXosnkF3Ak4CEuWJu1-3zXs/edit?usp=sharing Bug: v8:11708 Change-Id: I5aca8f5f24873279271a53be3bb093fc92a1a1eb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3009224 Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#77812}
-
Jakob Gruber authored
.. for convenience in local testing. Bug: v8:12196 Change-Id: I12d772edee69acba45f71dc1960f3023a79798a2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3268739 Auto-Submit: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/main@{#77811}
-
Manos Koukoutos authored
Growing them linearly might result in quadratic allocation and gc time. Bug: chromium:1267973 Change-Id: I8b9d400d9949b4062dd860edec6d98aa25c9550f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3268731Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/main@{#77810}
-
Ng Zhi An authored
ia32 port of 9ffb4829 Bug: v8:12284 Change-Id: Id396ee6d169c893804297934df63120704cef745 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3255663Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/main@{#77809}
-
Ng Zhi An authored
F64x2ExtractLane and F64x2ReplaceLane were missing the IA32 prefix that is used by all the other instruction codes. Bug: v8:12244 Change-Id: Ib99cd9b62161a13305ad01d6e7e0aa82046dd25a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3255662Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/main@{#77808}
-
Ng Zhi An authored
4 instructions, int32x4.trunc_f32x4_{s,u}, int32x4.trunc_f64x2_{s,u}_zero. ia32 port of a7b208739d2dabe11ca4e792085aed3455e879d5. Bug: v8:12284 Change-Id: Ia94ff572b63f9fd8e3bfe2dd8e5fa41212f84a76 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3255661Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/main@{#77807}
-
- 09 Nov, 2021 10 commits
-
-
Dominik Inführ authored
This flag is now enabled by default for quite some time in production. In addition that flag was already defined readonly and couldn't be disabled, so let's remove this flag for good. Bug: v8:10064 Change-Id: I0e71eee9d25960a96324d56c8f0191fe678dc6e6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3268907 Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#77806}
-
Seth Brenith authored
The GC already treats some embedded object pointers in Code as weak, based on Code::IsWeakObject. If one of those embedded objects ends up unmarked during a full mark-collect GC, then the Code is marked for lazy deoptimization and the embedded objects are cleared. However, many of those same objects are often held strongly by the deoptimization literal array for the Code, which causes memory leaks. This change updates the deoptimization literals array to store those objects weakly. Any Code currently executing on the stack might need those deoptimization literals in order to deoptimize, so the deoptimization literal array is marked strongly in that case. Design document: https://docs.google.com/document/d/1gFRBYCeqz9Mysx8CVYQkldBbk3AZLo8UX0DMLZV_7qw/edit?usp=sharing Bug: v8:4578 Change-Id: I02e86683c59371e9f88ecf523750c9c6afebdb39 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3160299Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Cr-Commit-Position: refs/heads/main@{#77805}
-
Ng Zhi An authored
Bug: v8:12244,v8:12245 Change-Id: I1ec0d96b645afa9bbda670918ce57be3698f50ef Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3265684 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/main@{#77804}
-
Ng Zhi An authored
Bug: v8:12244,v8:12245 Change-Id: I7f5067c9a329ac27bb4ec72d97a7509028ae648a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3269176Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/main@{#77803}
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/f7f53e9..0a9d641 Rolling v8/buildtools/third_party/libc++abi/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi/+log/4c6e099..bc060a2 Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/e5067b0..462705b Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/6500963..266129c Rolling v8/third_party/instrumented_libraries: https://chromium.googlesource.com/chromium/src/third_party/instrumented_libraries/+log/a736941..fe0d17a Rolling v8/tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang/+log/af96b7b..92efe5e TBR=v8-waterfall-sheriff@grotations.appspotmail.com,mtv-sf-v8-sheriff@grotations.appspotmail.com Change-Id: I4a5d7a8bc8725b4eab5ca35837c1c702e6cd76d3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3269624Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Owners-Override: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#77802}
-
Ng Zhi An authored
Bug: v8:12244,v8:12245 Change-Id: I794fff2dee42d16c5e75457cc905fd5ac68919cb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3269173Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/main@{#77801}
-
Ng Zhi An authored
Bug: v8:12244,v8:12245 Change-Id: I2aaa01215276cbfdf269b2e60dc2482d0aebc0dc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3269174Reviewed-by: Maya Lekova <mslekova@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/main@{#77800}
-
Seth Brenith authored
As Nico pointed out in [1], it is a little strange that the pair of annotations "@export @customCppClass" behaves similarly to the keyword "extern": both indicate that the class is defined in a C++ file and Torque generates only a base class template for it. In this change, I explore a possible alternative which might be more consistent. Removed annotations: - @customCppClass, which required @export, instructed Torque to only generate a base class template instead of a full class. - @customMap, which also required @export, instructed Torque to not emit code for setting up a unique Map instance for the class. Added annotations: - @generateUniqueMap, which requires extern, instructs Torque to emit code for setting up a unique Map instance for the class. - @generateFactoryFunction, which requires extern, instructs Torque to emit a function for creating a class instance. Subtracting two annotations and adding two others still leaves us with way too many annotations, but the usage of "extern" becomes more consistent and I think that the new opt-in annotations might be easier to understand. [1] https://docs.google.com/document/d/1q_gZLnXd4bGnCx3IUfbln46K3bSs9UHBGasy9McQtHI/edit Bug: v8:7793 Change-Id: Ic9e147a095bc492d6645001b9275357386e8adcf Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3266008Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Cr-Commit-Position: refs/heads/main@{#77799}
-
Ng Zhi An authored
Bug: v8:12244,v8:12245 Change-Id: I05775d6a9f7d0188573017ac588d6af504930b91 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3269175Reviewed-by: Maya Lekova <mslekova@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/main@{#77798}
-
Joyee Cheung authored
In assignments the lhs should be evaluated first and shouldn't be re-evaluated when the value of the rhs is available. Fix it by saving the receiver and the key registers into AssignmentLhsData before building the assignment and use them later, instead of visiting the AST again to retrieve the receiver. In addition, now that we save the receiver register, use it to perform the brand check even when we know for sure that it's going to fail later because it's a write to a private method or accessing the accessor in the wrong way (v8:11364), so that the brand check error always appears first if it is present, as specified in https://tc39.es/proposal-private-methods/#sec-privatefieldget Drive-by: unify the brand check error messages, and replace "Object" with "Receiver" in the messages for clarity. The instance private brand check now throws "Receiver must be an instance of class <name>" and the static private brand check now throws "Receiver must be class <name>". Also always set the expression position to the property load position, because the brand check failure comes from the load operation. Bug: v8:12352, v8:11364 Change-Id: I61a8979b2e02b561dd5b2b35f9e0b6691fe07599 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3266964 Commit-Queue: Joyee Cheung <joyee@igalia.com> Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#77797}
-