- 02 Dec, 2021 1 commit
-
-
Michael Lippautz authored
- Removes the unused Worklist implementation. All uses now refer to ::heap::base::Worklist. - Renames CppgcWorklistTest -> WorklistTest - Add test for Swap() Bug: v8:12426 Change-Id: I62c3472c030b853a846cf13ab48597ea1af8f700 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3306507Reviewed-by:
Dominik Inführ <dinfuehr@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#78208}
-
- 04 Nov, 2021 1 commit
-
-
Michael Lippautz authored
Adjust WATCHLISTS to only send out updates to those testfiles as part of notifying oilpan-reviews+v8@. Change-Id: Ib877f0353ea2b2d1ac06c93d450145dbeb6fcc66 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3260517 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Auto-Submit: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/main@{#77713}
-
- 18 Oct, 2021 1 commit
-
-
Michael Lippautz authored
Change-Id: I2150c83eeb8939801aeed7e7bb0aec92f8f91733 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3227756 Auto-Submit: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#77426}
-
- 14 Oct, 2021 1 commit
-
-
Bruce Dawson authored
In order to avoid namespace pollution and compilation overhead it is desirable to avoid include windows.h, and this enforces that. Bug: chromium:796644 Change-Id: I7fdcd3c182a77cee03672bc4324b9e21566896d6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3223960Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Bruce Dawson <brucedawson@chromium.org> Cr-Commit-Position: refs/heads/main@{#77404}
-
- 13 Oct, 2021 1 commit
-
-
Samuel Groß authored
This is a reland of 1ea76c13 Disabled the failing test on Fuchsia until its PageAllocator respects allocation hints. Original change's description: > Implement a fake virtual memory cage mechanism > > On operating systems where reserving virtual address space is expensive, > notably Windows pre 8.1, it is not possible to create a proper virtual > memory cage. In order to still be able to reference caged objects > through offsets from the cage base on these systems, this CL introduces > a fake cage mechanism. When the fake cage is used, most of the virtual > memory for the cage is not actually reserved. Instead, the cage's page > allocator simply relies on hints to the OS to obtain pages inside the > cage. This does, however, not provide the same security benefits as a > real cage as unrelated allocations might end up inside the cage. > > Bug: chromium:1218005 > Change-Id: Ie5314be23966ed0042a017917b63595481b5e7e3 > 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/+/3217200 > Commit-Queue: Samuel Groß <saelo@chromium.org> > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Cr-Commit-Position: refs/heads/main@{#77367} Bug: chromium:1218005 Change-Id: I2ed95d121db164679c38085115e8fa92690c057e 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/+/3220151Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Commit-Queue: Samuel Groß <saelo@chromium.org> Cr-Commit-Position: refs/heads/main@{#77378}
-
- 12 Oct, 2021 2 commits
-
-
Deepti Gandluri authored
This reverts commit 1ea76c13. Reason for revert: The unit test added fails on the Fuchsia bot https://ci.chromium.org/p/v8/builders/ci/V8%20Fuchsia/25976? Original change's description: > Implement a fake virtual memory cage mechanism > > On operating systems where reserving virtual address space is expensive, > notably Windows pre 8.1, it is not possible to create a proper virtual > memory cage. In order to still be able to reference caged objects > through offsets from the cage base on these systems, this CL introduces > a fake cage mechanism. When the fake cage is used, most of the virtual > memory for the cage is not actually reserved. Instead, the cage's page > allocator simply relies on hints to the OS to obtain pages inside the > cage. This does, however, not provide the same security benefits as a > real cage as unrelated allocations might end up inside the cage. > > Bug: chromium:1218005 > Change-Id: Ie5314be23966ed0042a017917b63595481b5e7e3 > 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/+/3217200 > Commit-Queue: Samuel Groß <saelo@chromium.org> > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Cr-Commit-Position: refs/heads/main@{#77367} Bug: chromium:1218005 Change-Id: I541bb9656ab2a6a080c2a30d372226fcc5c95391 Cq-Include-Trybots: luci.v8.try:v8_linux64_heap_sandbox_dbg_ng,v8_linux_arm64_sim_heap_sandbox_dbg_ng No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3219086 Auto-Submit: Deepti Gandluri <gdeepti@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> Owners-Override: Deepti Gandluri <gdeepti@chromium.org> Cr-Commit-Position: refs/heads/main@{#77368}
-
Samuel Groß authored
On operating systems where reserving virtual address space is expensive, notably Windows pre 8.1, it is not possible to create a proper virtual memory cage. In order to still be able to reference caged objects through offsets from the cage base on these systems, this CL introduces a fake cage mechanism. When the fake cage is used, most of the virtual memory for the cage is not actually reserved. Instead, the cage's page allocator simply relies on hints to the OS to obtain pages inside the cage. This does, however, not provide the same security benefits as a real cage as unrelated allocations might end up inside the cage. Bug: chromium:1218005 Change-Id: Ie5314be23966ed0042a017917b63595481b5e7e3 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/+/3217200 Commit-Queue: Samuel Groß <saelo@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/main@{#77367}
-
- 17 Sep, 2021 1 commit
-
-
Clemens Backes authored
This ports the trap handler implementation for the arm64 simulator from POSIX to Windows. Apart from different registers being used for passing parameters, and different access to these register values in the signal handler, the implementation is exactly the same. The new logic is being used for sanitizer builds which automatically target arm64 via the simulator, or if manually compiling an arm64 simulator build on x64. I manually tested the latter. Also, the existing unit test is enabled for Mac (which was missing) and Windows now. R=ahaas@chromium.org, mseaborn@chromium.org Bug: v8:11955 Cq-Include-Trybots: luci.v8.try:v8_win64_asan_rel_ng Cq-Include-Trybots: luci.v8.try:v8_mac64_asan_rel_ng Change-Id: Ia62405b28808a3cc9f199e3f43a45ffc4bda491b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3163256 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/main@{#76902}
-
- 08 Sep, 2021 1 commit
-
-
Clemens Backes authored
This adds some basic tests for WebAssembly code protection, in four different configurations: - no protection - mprotect-based protection - PKU-based protection - PKU with fallback to mprotect If PKU is not supported by the OS or hardware, then PKU is identical to no protection, and PKU with fallback is identical to mprotect. We always execute all four configurations anyway. If protection is effective, we expect code to be writable within a {CodeSpaceWriteScope}, and not writable otherwise. When trying to write to non-writable code, we expect a crash of the process (checked via {ASSERT_DEATH_IF_SUPPORTED}). R=jkummerow@chromium.org CC=mpdenton@chromium.org Bug: v8:11974 Cq-Include-Trybots: luci.v8.try:v8_mac_arm64_rel_ng Cq-Include-Trybots: luci.v8.try:v8_mac_arm64_dbg_ng Change-Id: I4ec0ce9426f70ff41a292b9ea25be1e8956a670e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3138210 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/main@{#76726}
-
- 24 Aug, 2021 1 commit
-
-
Michael Lippautz authored
Sets up custom OOM handling in cppgc and installs a handler that redirects to V8's handler when running with unified heap. Bug: chromium:1242180 Change-Id: I68b7038a3736cc0aa92207db2c3d129a9ff68091 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3116253 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Anton Bikineev <bikineev@chromium.org> Cr-Commit-Position: refs/heads/main@{#76467}
-
- 19 Aug, 2021 2 commits
-
-
Ng Zhi An authored
Whenever we are adding a new AddressRegion to the CodeMap, we first remove all overlapping regions. The logic to check for overlapping region is incomplete. For example, if all existing regions are less than the region to be added, we incorrectly remove all regions, effectively deleting all JITCodeEntry we have constructed. We extract this overlapping check into a helper function, so that we can unittest this without worrying about JITCodeEvent functionality, and also without dealing with V8 internals (like Isolate and SFI). The overlapping logic is rather hard to understand, has many special cases, it will probably be much easier to just loop through all the entries, rather than using lower_bound. Ideally, we can refactor this to use some sort of sweep-line algorithm. Hopefully the unittests catch the most obvious cases. Bug: v8:11908 Change-Id: Id96975599ac59974185c3dbf64cdfceb17e98d18 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3105381 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/main@{#76397}
-
Michael Lippautz authored
HAS_PROGRESS_BAR is set after page initialization at which point all flags are assumed to be immutable while a GC is running. Separating out the progress bar from flags allows setting it lazily at allocation time. Bug: v8:11915 Change-Id: I48a877e0e80d583d7a0fadef2546fc70417806e7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3085268 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Omer Katz <omerkatz@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/main@{#76382}
-
- 16 Aug, 2021 1 commit
-
-
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}
-
- 11 Aug, 2021 1 commit
-
-
Michael Lippautz authored
nullptr objects are considered alive to allow weakness to be used from stack while running into a conservative GC. Treating nullptr as dead would mean that e.g. custom collectins could not be strongified on stack. Bug: chromium:1231286 Change-Id: Ibeddef18fcbae366c3f54304bf36b75c47bd74ff Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3085280 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/master@{#76229}
-
- 09 Aug, 2021 1 commit
-
-
Leszek Swirski authored
To consume a code cache off-thread 1. The embedder creates a CachedData object wrapping the data blob. 2. The embedder calls ScriptCompiler::StartConsumingCodeCache with the CachedData, and receives a ScriptCompiler::CodeCacheConsumeTask which takes ownership of the CachedData. 3. The embedder calls ScriptCompiler::CodeCacheConsumeTask::Run on a different thread. 4. Once this completes, the embedded passes the completed task as an optional argument into Source constructor, and calls Compile as before. This is roughly similar to how streaming compilation works, with the QoL improvement that Source owns the CodeCacheConsumeTask and therefore we can reuse the same Compile method and do the off-thread finalization behind the scenes inside Compile. On the v8::internal side, ScriptCompiler::CodeCacheConsumeTask wraps a v8::internal::BackgroundDeserializeTask, which has a Run and a Finish method. The Run creates a LocalIsolate (again, similar to BackgroundCompileTask), calls some helpers on CodeSerializer, and stores the pre-finalization result in a OffThreadDeserializeData structure. This stores Persistent Handles to the off-thread initialized SFI and a vector of Scripts needing fixing up, and it owns the PersistentHandles object which owns those Handles. Finally, the Finish method consumes this OffThreadDeserializeData structure, fixes up Scripts, moves the SFI Handle into the caller HandleScope, and that's it. Since we don't yet have the source at off-thread deserialization time, the various code cache sanity checks are done without the source hash when deserializing, and the Finish method re-does them now that the source is available. Bug: chromium:1075999 Change-Id: If1faf35ba3ef840fa4e735581d0b29c96c1d5fc8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3067322 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Omer Katz <omerkatz@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#76155}
-
- 23 Jul, 2021 1 commit
-
-
Danil Somsikov authored
devtools Bug: chromium:1213374 Change-Id: Ie064873e8a3998aad01120022e39e93dba0cb729 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3041424 Commit-Queue: Danil Somsikov <dsv@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#75874}
-
- 20 Jul, 2021 2 commits
-
-
Clemens Backes authored
This is a reland of 431fff66. The fix is in BUILD.gn: We need to also include chromeos, which is a linux target which is not covered by "is_linux" in gn. R=ahaas@chromium.org Original change's description: > [traphandler] Add simulator support > > This prepares the trap handler to support being used from simulators. > Modifications to the arm64 simulator will be done in a follow-up CL. For > now, the trap handler will be registered but not used in Wasm (we emit > explicit bounds checks instead, as before). > > The implementation uses inline assembly, so it is only available on x64 > POSIX systems for now. This is the main platform we use for testing and > for fuzzing, so it should give us the test coverage we need. If needed, > inline assembly for other platforms can be added later. > The new code will be executed by the existing arm64 simulator bots, e.g. > "V8 Linux - arm64 - sim". > > R=ahaas@chromium.org, mseaborn@chromium.org > > Bug: v8:11955 > Change-Id: Idc50291c704d9dea902ae0098e5309f19055816c > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3011160 > Commit-Queue: Clemens Backes <clemensb@chromium.org> > Reviewed-by: Andreas Haas <ahaas@chromium.org> > Cr-Commit-Position: refs/heads/master@{#75780} Bug: v8:11955 Change-Id: I8af39dea5b2cd3fa5418170a458832b3d6075107 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3040844 Commit-Queue: Clemens Backes <clemensb@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Auto-Submit: Clemens Backes <clemensb@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#75809}
-
Clemens Backes authored
This reverts commit 431fff66. Reason for revert: Causes link error in chrome: https://ci.chromium.org/ui/p/chromium/builders/ci/Linux%20ChromiumOS%20MSan%20Builder/24667/overview Original change's description: > [traphandler] Add simulator support > > This prepares the trap handler to support being used from simulators. > Modifications to the arm64 simulator will be done in a follow-up CL. For > now, the trap handler will be registered but not used in Wasm (we emit > explicit bounds checks instead, as before). > > The implementation uses inline assembly, so it is only available on x64 > POSIX systems for now. This is the main platform we use for testing and > for fuzzing, so it should give us the test coverage we need. If needed, > inline assembly for other platforms can be added later. > The new code will be executed by the existing arm64 simulator bots, e.g. > "V8 Linux - arm64 - sim". > > R=ahaas@chromium.org, mseaborn@chromium.org > > Bug: v8:11955 > Change-Id: Idc50291c704d9dea902ae0098e5309f19055816c > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3011160 > Commit-Queue: Clemens Backes <clemensb@chromium.org> > Reviewed-by: Andreas Haas <ahaas@chromium.org> > Cr-Commit-Position: refs/heads/master@{#75780} Bug: v8:11955 Change-Id: I74d2e41864fc515bd9727898f12ec1498b97ee62 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3040839 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@{#75798}
-
- 19 Jul, 2021 1 commit
-
-
Clemens Backes authored
This prepares the trap handler to support being used from simulators. Modifications to the arm64 simulator will be done in a follow-up CL. For now, the trap handler will be registered but not used in Wasm (we emit explicit bounds checks instead, as before). The implementation uses inline assembly, so it is only available on x64 POSIX systems for now. This is the main platform we use for testing and for fuzzing, so it should give us the test coverage we need. If needed, inline assembly for other platforms can be added later. The new code will be executed by the existing arm64 simulator bots, e.g. "V8 Linux - arm64 - sim". R=ahaas@chromium.org, mseaborn@chromium.org Bug: v8:11955 Change-Id: Idc50291c704d9dea902ae0098e5309f19055816c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3011160 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#75780}
-
- 18 Jun, 2021 1 commit
-
-
Dan Elphick authored
The adding of base:: was mostly prepared using git grep and sed: git grep -l <pattern> | grep -v base/vector.h | \ xargs sed -i 's/\b<pattern>\b/base::<pattern>/ with lots of manual clean-ups due to the resulting v8::internal::base::Vectors. #includes were fixed using: git grep -l "src/utils/vector.h" | \ axargs sed -i 's!src/utils/vector.h!src/base/vector.h!' Bug: v8:11879 Change-Id: I3e6d622987fee4478089c40539724c19735bd625 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2968412Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#75243}
-
- 17 May, 2021 1 commit
-
-
Michael Lippautz authored
Create verification state on first assignment and check that the reference slot is contained within the values heap if it is an on-heap reference. Bug: chromium:1056170 Change-Id: I0ce0e2bbd751186429950bb4f6bad97b273b3128 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2887509 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Omer Katz <omerkatz@chromium.org> Auto-Submit: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/master@{#74607}
-
- 14 May, 2021 1 commit
-
-
Vicky Kontoura authored
This CL adds support for regular expressions. To serialize a regular expression, the pattern and flags are extracted and serialized as strings. Also, JSRegExp::StringFromFlags() is introduced to allow for transforming back from JSRegExp::Flags to the corresponding flag string. To verify that this implementation is on par with RegExp.prototype.flags, unittests are introduced under regexp/regexp-unittest.cc and RegExpBuiltinsAssembler::FlagsGetter() is updated to include a slow path that calls JSRegExp::StringFromFlags() through a runtime function. Bug: v8:11525, v8:11706 Change-Id: I9cad4c464129ba1cbf64672130d8410730d7d679 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2878751 Commit-Queue: Vicky Kontoura <vkont@google.com> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#74566}
-
- 26 Apr, 2021 1 commit
-
-
Michael Lippautz authored
- Move LsanPageAllocator to base; - Use LsanPageAllocator in PageBackend that serves managed C++ objects; - Remove spurious TODO for GCInfoTable which should not use the LSAN-aware backend; Bug: chromium:1056170 Change-Id: I2caa11443ab44da5164f1c29339e302bffb49228 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2850157 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Omer Katz <omerkatz@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#74192}
-
- 14 Apr, 2021 2 commits
-
-
Omer Katz authored
Bug: chromium:1056170 Change-Id: I78844ed1921c5558a2c5ab6121208c1887fe8b3f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2826118 Commit-Queue: Omer Katz <omerkatz@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#73961}
-
Omer Katz authored
Migrating unittests from Blink that were not already covered by cppgc. Bug: chromium:1056170 Change-Id: If31591c3f1e99562028087c2b818f5ceb8122ec9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2821542 Commit-Queue: Omer Katz <omerkatz@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#73960}
-
- 12 Apr, 2021 1 commit
-
-
Camillo Bruni authored
Make runtime-call-stats a compile-time flag. Disabling RCS saves roughly 1MB binary size on 64bit systems and yields minor performance improvements. Bug: v8:11299 Change-Id: Ia1db75e330a665db5251b685c164b96857e38d2d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2799766Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> 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/master@{#73910}
-
- 07 Apr, 2021 1 commit
-
-
Etienne Pierre-doray authored
Now that all users are migrated to Jobs API. Bug: chromium:1196703 Change-Id: Ic48cce441c1793b1b33f0fc3d6a60847f2eefb2f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2810156 Commit-Queue: Etienne Pierre-Doray <etiennep@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#73838}
-
- 02 Apr, 2021 1 commit
-
-
Chong Gu authored
Bug: chromium:1019938 Change-Id: I00fd990329887ca5d9b2aa7e992a7f5aa9df695b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2801170Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Auto-Submit: Chong Gu <chonggu@google.com> Cr-Commit-Position: refs/heads/master@{#73786}
-
- 12 Mar, 2021 1 commit
-
-
Andreas Haas authored
Due to a recent change Liftoff used different register configurations in the pointer-compression and no-pointer-compression setups. This caused a mismatch between the registers used by Liftoff and the registers spilled by the WasmDebugBreak builtin. With this CL the same register configuration is used both with and without pointer compression. Even without x28 there are 24 registers that can be used. Moreover, 24 registers can be spilled without padding, which would be needed with 25 registers to preserve stack alignment. Drive-by change: Use Reglist in frame-constants on all platforms. R=jkummerow@chromium.org Bug: v8:7581 Change-Id: Iae2892718e905a7995a3fdd7be7fd4d75bebb3dd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2752884 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#73366}
-
- 11 Mar, 2021 4 commits
-
-
Clemens Backes authored
This is a reland of 80f5dfda. A condition in pipeline.cc was inverted, which lead to a CSA verifier error. Original change's description: > [no-wasm] Exclude src/wasm from compilation > > This is the biggest chunk, including > - all of src/wasm, > - torque file for wasm objects, > - torque file for wasm builtins, > - wasm builtins, > - wasm runtime functions, > - int64 lowering, > - simd scala lowering, > - WasmGraphBuilder (TF graph construction for wasm), > - wasm frame types, > - wasm interrupts, > - the JSWasmCall opcode, > - wasm backing store allocation. > > Those components are all recursively entangled, so I found no way to > split this change up further. > > Some includes that were recursively included by wasm headers needed to > be added explicitly now. > > backing-store-unittest.cc is renamed to wasm-backing-store-unittest.cc > because it only tests wasm backing stores. This file is excluded from > no-wasm builds then. > > R=jkummerow@chromium.org, jgruber@chromium.org, mlippautz@chromium.org, petermarshall@chromium.org > > Bug: v8:11238 > Change-Id: I7558f2d12d2dd6c65128c4de7b79173668c80b2b > Cq-Include-Trybots: luci.v8.try:v8_linux64_no_wasm_compile_rel > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2742955 > Commit-Queue: Clemens Backes <clemensb@chromium.org> > Reviewed-by: Peter Marshall <petermarshall@chromium.org> > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Cr-Commit-Position: refs/heads/master@{#73344} TBR=jgruber@chromium.org Bug: v8:11238 Change-Id: I20bd2847a59c68738b5a336cd42582b7b1499585 Cq-Include-Trybots: luci.v8.try:v8_linux64_no_wasm_compile_rel Cq-Include-Trybots: luci.v8.try:v8_linux_verify_csa_rel_ng Cq-Include-Trybots: luci.v8.try:v8_linux64_verify_csa_rel_ng Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2752867Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#73348}
-
Clemens Backes authored
This reverts commit 80f5dfda. Reason for revert: Fails CSA verification: https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux%20-%20verify%20csa/21766/overview Original change's description: > [no-wasm] Exclude src/wasm from compilation > > This is the biggest chunk, including > - all of src/wasm, > - torque file for wasm objects, > - torque file for wasm builtins, > - wasm builtins, > - wasm runtime functions, > - int64 lowering, > - simd scala lowering, > - WasmGraphBuilder (TF graph construction for wasm), > - wasm frame types, > - wasm interrupts, > - the JSWasmCall opcode, > - wasm backing store allocation. > > Those components are all recursively entangled, so I found no way to > split this change up further. > > Some includes that were recursively included by wasm headers needed to > be added explicitly now. > > backing-store-unittest.cc is renamed to wasm-backing-store-unittest.cc > because it only tests wasm backing stores. This file is excluded from > no-wasm builds then. > > R=jkummerow@chromium.org, jgruber@chromium.org, mlippautz@chromium.org, petermarshall@chromium.org > > Bug: v8:11238 > Change-Id: I7558f2d12d2dd6c65128c4de7b79173668c80b2b > Cq-Include-Trybots: luci.v8.try:v8_linux64_no_wasm_compile_rel > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2742955 > Commit-Queue: Clemens Backes <clemensb@chromium.org> > Reviewed-by: Peter Marshall <petermarshall@chromium.org> > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Cr-Commit-Position: refs/heads/master@{#73344} Bug: v8:11238 Change-Id: I93672002c1faa36bb0bb5b4a9cc2032ee2ccd814 Cq-Include-Trybots: luci.v8.try:v8_linux64_no_wasm_compile_rel No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2752866 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@{#73346}
-
Clemens Backes authored
This is the biggest chunk, including - all of src/wasm, - torque file for wasm objects, - torque file for wasm builtins, - wasm builtins, - wasm runtime functions, - int64 lowering, - simd scala lowering, - WasmGraphBuilder (TF graph construction for wasm), - wasm frame types, - wasm interrupts, - the JSWasmCall opcode, - wasm backing store allocation. Those components are all recursively entangled, so I found no way to split this change up further. Some includes that were recursively included by wasm headers needed to be added explicitly now. backing-store-unittest.cc is renamed to wasm-backing-store-unittest.cc because it only tests wasm backing stores. This file is excluded from no-wasm builds then. R=jkummerow@chromium.org, jgruber@chromium.org, mlippautz@chromium.org, petermarshall@chromium.org Bug: v8:11238 Change-Id: I7558f2d12d2dd6c65128c4de7b79173668c80b2b Cq-Include-Trybots: luci.v8.try:v8_linux64_no_wasm_compile_rel Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2742955 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by:
Peter Marshall <petermarshall@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#73344}
-
Manos Koukoutos authored
CsaLoadElimination failed to account for truncation when optimizing loads. This CL extends the notion of compatible Loads and Stores to include ({store}, {load}) pairs which both have integral representation and {store}'s representation is no smaller than {load}'s. In case the representations are not identical, it truncates and possibly sign-extends {store} before forwarding it to {load}. Additional change: Extend ObjectMayAlias with wasm allocating builtin calls. Bug: v8:11504 Change-Id: I43f89a13793b54477a33be18aaf346462aefa8e5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2739975Reviewed-by:
Georg Neis <neis@chromium.org> Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/master@{#73340}
-
- 08 Mar, 2021 1 commit
-
-
Michael Lippautz authored
Add an explicit FreeUnreferencedObject() call that can be used to reclaim objects that are guaranteed to not be referenced anymore by the embedder. It is up to the embedder to ensure correctness. Change-Id: I7f2d86d9639e8b805f79a8fd0a346903f63171e5 Bug: chromium:1056170 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2737301 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Omer Katz <omerkatz@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#73262}
-
- 05 Mar, 2021 1 commit
-
-
Bill Budge authored
This is a reland of 352b9ecb The test/fix CL has been merged in, as the fixes to return slot accounting are needed to fix Arm64 issues turned up by the fuzzers: https://chromium-review.googlesource.com/c/v8/v8/+/2644139 The reverted fix for Wasm return slot allocation is added in patchset #2, to avoid fuzzer issues that it fixed: https://chromium-review.googlesource.com/c/v8/v8/+/2683024 TBR=neis@chromium.org Original change's description: > Reland "Reland "[compiler][wasm] Align Frame slots to value size"" > > This is a reland of 1694925c > > Minor fix to linkage for constexpr. > > TBR=ahaas@chromium.org,neis@chromium.org > > Original change's description: > > Reland "[compiler][wasm] Align Frame slots to value size" > > > > This is a reland of cddaf66c > > > > Original change's description: > > > [compiler][wasm] Align Frame slots to value size > > > > > > - Adds an AlignedSlotAllocator class and tests, to unify slot > > > allocation. This attempts to use alignment holes for smaller > > > values. > > > - Reworks Frame to use the new allocator for stack slots. > > > - Reworks LinkageAllocator to use the new allocator for stack > > > slots and for ARMv7 FP register aliasing. > > > - Fixes the RegisterAllocator to align spill slots. > > > - Fixes InstructionSelector to align spill slots. > > > > > > Bug: v8:9198 > > > > > > Change-Id: Ida148db428be89ef95de748ec5fc0e7b0358f523 > > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2512840 > > > Commit-Queue: Bill Budge <bbudge@chromium.org> > > > Reviewed-by: Georg Neis <neis@chromium.org> > > > Reviewed-by: Andreas Haas <ahaas@chromium.org> > > > Cr-Commit-Position: refs/heads/master@{#71644} > > > > Bug: v8:9198 > > Change-Id: Ib91fa6746370c38496706341e12d05c7bf999389 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2633390 > > Commit-Queue: Bill Budge <bbudge@chromium.org> > > Reviewed-by: Andreas Haas <ahaas@chromium.org> > > Reviewed-by: Georg Neis <neis@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#72195} > > Bug: v8:9198 > Change-Id: I91e02b823af8ec925dacf075388fb22e3eeb3384 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2640890 > Reviewed-by: Bill Budge <bbudge@chromium.org> > Commit-Queue: Bill Budge <bbudge@chromium.org> > Cr-Commit-Position: refs/heads/master@{#72209} Bug: v8:9198 Change-Id: Ia5cf63af4e5991bc7cf42da9972ffd044fc829f0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2733177 Commit-Queue: Bill Budge <bbudge@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#73238}
-
- 26 Feb, 2021 1 commit
-
-
Clemens Backes authored
Wasm tests and wasm fuzzers should not be compiled (and run) if v8_enable_webassembly=false. R=machenbach@chromium.org Bug: v8:11238 Change-Id: I78bbb1d1d98179cac315411b8c2c2ecaee8ede91 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2721761Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#73071}
-
- 25 Feb, 2021 2 commits
-
-
pthier authored
VLQ encoding was implemented in TranslationArray and Sparkplug PC <-> bytecode mapping. This CL introduces new VLQ helper methods used in both. Bug: v8:11429 Change-Id: I89d9777eab4ad28f08e5957421b63df07e37f9cc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2704674Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Patrick Thier <pthier@chromium.org> Cr-Commit-Position: refs/heads/master@{#73054}
-
Dan Elphick authored
Remove most dependencies on v8_wrappers. The remainder all depend on v8_libbase anyway, so just fold it into that target which removes a gn check error. Also removes v8_wrappers from the fuzzers where it's not used. Bug: v8:7330 Change-Id: I916806b62f8c49cc1d50ef493aa900e30fc623aa Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2716383 Commit-Queue: Dan Elphick <delphick@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Auto-Submit: Dan Elphick <delphick@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#73041}
-
- 23 Feb, 2021 2 commits
-
-
Clemens Backes authored
The v8_enable_webassembly=false configuration will not be a able to run any wasm code, hence remove the whole asm to wasm translation from the binary. In order to skip specific unit tests in that configuration, we move the definition of the v8_enable_webassembly gn argument from BUILD.gn to v8.gni, such that it is available in all gn files. R=ecmziegler@chromium.org, machenbach@chromium.org Bug: v8:11238 Change-Id: Id4e290df3e42ffd2f05c377bdd3a368871815daf Cq-Include-Trybots: luci.v8.try:v8_linux64_no_wasm_compile_rel Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2712562 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Reviewed-by:
Emanuel Ziegler <ecmziegler@chromium.org> Cr-Commit-Position: refs/heads/master@{#72945}
-
Bill Budge authored
This reverts commit 9da4e363. Reason for revert: Fuzzers revealed that Liftoff doesn't use the CallDescriptor when pushing arguments, breaking linkage. tbr=ahaas@chromium.org,neis@chromium.org,jgruber@chromium.org Original change's description: > Reland "Reland "Reland "[compiler][wasm] Align Frame slots to value size""" > > This is a reland of 352b9ecb > > The test/fix CL has been merged in, as the fixes to return slot > accounting are needed to fix Arm64 issues turned up by the fuzzers: > > https://chromium-review.googlesource.com/c/v8/v8/+/2644139 > > Original change's description: > > Reland "Reland "[compiler][wasm] Align Frame slots to value size"" > > > > This is a reland of 1694925c > > > > Minor fix to linkage for constexpr. > > > > TBR=ahaas@chromium.org,neis@chromium.org > > > > Original change's description: > > > Reland "[compiler][wasm] Align Frame slots to value size" > > > > > > This is a reland of cddaf66c > > > > > > Original change's description: > > > > [compiler][wasm] Align Frame slots to value size > > > > > > > > - Adds an AlignedSlotAllocator class and tests, to unify slot > > > > allocation. This attempts to use alignment holes for smaller > > > > values. > > > > - Reworks Frame to use the new allocator for stack slots. > > > > - Reworks LinkageAllocator to use the new allocator for stack > > > > slots and for ARMv7 FP register aliasing. > > > > - Fixes the RegisterAllocator to align spill slots. > > > > - Fixes InstructionSelector to align spill slots. > > > > > > > > Bug: v8:9198 > > > > > > > > Change-Id: Ida148db428be89ef95de748ec5fc0e7b0358f523 > > > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2512840 > > > > Commit-Queue: Bill Budge <bbudge@chromium.org> > > > > Reviewed-by: Georg Neis <neis@chromium.org> > > > > Reviewed-by: Andreas Haas <ahaas@chromium.org> > > > > Cr-Commit-Position: refs/heads/master@{#71644} > > > > > > Bug: v8:9198 > > > Change-Id: Ib91fa6746370c38496706341e12d05c7bf999389 > > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2633390 > > > Commit-Queue: Bill Budge <bbudge@chromium.org> > > > Reviewed-by: Andreas Haas <ahaas@chromium.org> > > > Reviewed-by: Georg Neis <neis@chromium.org> > > > Cr-Commit-Position: refs/heads/master@{#72195} > > > > Bug: v8:9198 > > Change-Id: I91e02b823af8ec925dacf075388fb22e3eeb3384 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2640890 > > Reviewed-by: Bill Budge <bbudge@chromium.org> > > Commit-Queue: Bill Budge <bbudge@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#72209} > > Bug: v8:9198 > Change-Id: I8258f87463f66417c7028b9a1fed4b9b6d82a3be > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2669892 > Reviewed-by: Georg Neis <neis@chromium.org> > Reviewed-by: Andreas Haas <ahaas@chromium.org> > Commit-Queue: Bill Budge <bbudge@chromium.org> > Cr-Commit-Position: refs/heads/master@{#72506} Bug: v8:9198 Change-Id: I7f344e4d018ce3c02333b0b08efeecdd8cddf082 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2713207Reviewed-by:
Bill Budge <bbudge@chromium.org> Reviewed-by:
Zhi An Ng <zhin@chromium.org> Reviewed-by:
Adam Klein <adamk@chromium.org> Commit-Queue: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#72937}
-