- 27 Dec, 2021 1 commit
-
-
Omer Katz authored
Included in this CL: (*) Introduce CppMarkingState that V8 should use to push references to Oilpan. CppMarkingState allocates its own Worklist::Locals to support concurrent updates from V8. (*) Split Oilpan MarkingWorklist object to form a base class used by CppMarkingState. (*) Remove MarkerFactory and split marking initialization. Marking worklists should already be initialized when V8 initializes visitors. For incremental marking, this requires splitting marking initialization and marking start. (*) Drive-by: Mark JSObject::IsApiWrapper and JSObject::IsDroppableApiWrapper as const. Bug: v8:12407 Change-Id: I35cc816343da86f69a68306204675720e9b3913f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3293410Reviewed-by:
Dominik Inführ <dinfuehr@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/main@{#78446}
-
- 15 Dec, 2021 1 commit
-
-
Samuel Groß authored
This CL renames a number of things related to the V8 sandbox. Mainly, what used to be under V8_HEAP_SANDBOX is now under V8_SANDBOXED_EXTERNAL_POINTERS, while the previous V8 VirtualMemoryCage is now simply the V8 Sandbox: V8_VIRTUAL_MEMORY_CAGE => V8_SANDBOX V8_HEAP_SANDBOX => V8_SANDBOXED_EXTERNAL_POINTERS V8_CAGED_POINTERS => V8_SANDBOXED_POINTERS V8VirtualMemoryCage => Sandbox CagedPointer => SandboxedPointer fake cage => partially reserved sandbox src/security => src/sandbox This naming scheme should simplify things: the sandbox is now the large region of virtual address space inside which V8 mainly operates and which should be considered untrusted. Mechanisms like sandboxed pointers are then used to attempt to prevent escapes from the sandbox (i.e. corruption of memory outside of it). Furthermore, the new naming scheme avoids the confusion with the various other "cages" in V8, in particular, the VirtualMemoryCage class, by dropping that name entirely. Future sandbox features are developed under their own V8_SANDBOX_X flag, and will, once final, be merged into V8_SANDBOX. Current future features are sandboxed external pointers (using the external pointer table), and sandboxed pointers (pointers guaranteed to point into the sandbox, e.g. because they are encoded as offsets). This CL then also introduces a new build flag, v8_enable_sandbox_future, which enables all future features. Bug: v8:10391 Change-Id: I5174ea8f5ab40fb96a04af10853da735ad775c96 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/+/3322981Reviewed-by:
Hannes Payer <hpayer@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Samuel Groß <saelo@chromium.org> Cr-Commit-Position: refs/heads/main@{#78384}
-
- 09 Dec, 2021 1 commit
-
-
Michael Lippautz authored
Advance deprecations and remove fully deprecated code. Bug: v8:12165 Change-Id: I2cf1715d6878ff65e5b9beaddb8df7aec780b21e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3328781 Auto-Submit: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Anton Bikineev <bikineev@chromium.org> Commit-Queue: Anton Bikineev <bikineev@chromium.org> Cr-Commit-Position: refs/heads/main@{#78329}
-
- 08 Dec, 2021 1 commit
-
-
Leszek Swirski authored
Introduce a ReusableUnoptimizedCompileState class, passed to ParseInfo, which stores a couple of pointers and most importantly the Zone and AstValueFactory of the parse. This allows the Zone and AstValueFactory to be reused across multiple parses, rather than re-initialising per-Parse. With this, we can amend the LazyCompileDispatcher to initialise one LocalIsolate, Zone and AstValueFactory per background thread loop, rather than one per compile task, which allows us to reduce per-task costs and re-use the AstValueFactory's string table and previous String internalizations. Change-Id: Ia0e29c4e31fbe29af57674ebb10916865d38b2ce Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3313106Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#78289}
-
- 07 Dec, 2021 1 commit
-
-
Michael Lippautz authored
Checks whether a Persistent is used from the creation thread on slow path allocations. In practice, these currently happen every 256 Persistent allocations. This is a best effort check that may help to flush out issues that are missed with DCHECK builds. Bug: chromium:1276570 Change-Id: Ia868ca436341b1b5ef427d5b3ec04926c1394e41 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3318658 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Anton Bikineev <bikineev@chromium.org> Cr-Commit-Position: refs/heads/main@{#78276}
-
- 04 Dec, 2021 1 commit
-
-
Samuel Groß authored
This interface is meant to eventually replace the existing v8::PageAllocator interface. Beyond general refactoring of the PageAllocator APIs, the new interface now supports the concept of (contiguous) address space reservations, which previously had to be implemented through page allocations. These reservations now make better use of provided OS primitives on Fuchsia (VMARs) and Windows (placeholder mappings) and can be used to back many of the cages and virtual memory regions that V8 creates. The new interface is not yet stable and may change at any time without deprecating the old version first. Bug: chromium:1218005 Change-Id: I295253c42e04cf311393c5dab9f8c06bd7451ce3 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/+/3301475 Commit-Queue: Samuel Groß <saelo@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#78235}
-
- 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}
-
- 29 Nov, 2021 4 commits
-
-
Michael Lippautz authored
This is a reland of 76f6c276 Original change's description: > cppgc: Fix data race ObjectSizeTrait > > Fix benign race in > https://clusterfuzz.com/testcase-detail/5203237072076800 > > Change-Id: I558b230e4905a48342d8e7cf70d39be5a1b7fdb8 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3306375 > 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/main@{#78121} Change-Id: Ifa50f35591b2ae40f11a384f0fb2ff50115b2511 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3306379 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/main@{#78124}
-
Maya Lekova authored
This reverts commit 76f6c276. Reason for revert: Mac64 ASAN is unhappy, please see https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Mac64%20ASAN%20-%20builder/194/overview Original change's description: > cppgc: Fix data race ObjectSizeTrait > > Fix benign race in > https://clusterfuzz.com/testcase-detail/5203237072076800 > > Change-Id: I558b230e4905a48342d8e7cf70d39be5a1b7fdb8 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3306375 > 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/main@{#78121} Change-Id: I96c40a1e3421f59cf97efd4a844a041280989171 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3306377 Auto-Submit: Maya Lekova <mslekova@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Owners-Override: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/main@{#78122}
-
Michael Lippautz authored
Fix benign race in https://clusterfuzz.com/testcase-detail/5203237072076800 Change-Id: I558b230e4905a48342d8e7cf70d39be5a1b7fdb8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3306375 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/main@{#78121}
-
Ma Aiguo authored
Loong64 supports 4K-64K OS pages Fix loong64 unittests PlatformUsesGuardPages failure Change-Id: I1451685828ef1d857b7d2af3f1810286f84bdc50 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3299672Reviewed-by:
Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Cr-Commit-Position: refs/heads/main@{#78120}
-
- 26 Nov, 2021 2 commits
-
-
Michael Lippautz authored
This allows the embedder to determine whether some function has been called from a destructor. See discussion in https://crrev.com/c/3302810 Bug: chromium:1273928 Change-Id: Icb5d98eff777574488a7d6de5e693c502c2fb53e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3303793Reviewed-by:
Omer Katz <omerkatz@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#78113}
-
Igor Sheludko authored
... and thus avoid the need for special handling of objects located in external code space. This will also allow making HeapObject::IsBlah() checks faster when external code space is enabled. Bug: v8:11880 Change-Id: I12d07c05451ff198f0a6182d9b5849f76015e7fb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3300140Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#78104}
-
- 25 Nov, 2021 1 commit
-
-
Omer Katz authored
This is a reland of 6747144c Original change's description: > cppgc: Parallel marking in atomic pause > > Bug: v8:12424 > Change-Id: I0633e1bd8c890c14ce2c5519253a5e6eb7592f04 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3295580 > Commit-Queue: Omer Katz <omerkatz@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Cr-Commit-Position: refs/heads/main@{#78081} Bug: v8:12424 Change-Id: I66a030b4e66647a76bbe3d114785d3052358b403 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3301477Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/main@{#78092}
-
- 17 Nov, 2021 1 commit
-
-
Michael Lippautz authored
Change-Id: I38cd955d3e41861d955c529ec56890b45effccf0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3284897 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/main@{#77948}
-
- 12 Nov, 2021 1 commit
-
-
Leszek Swirski authored
Unify parse post-processing between main-thread and background-thread parsing, now that we have LocalIsolate and can Internalize on background threads. As part of this, simplify the LocalIsolate parking pattern to explicitly park during ParseOnBackground, rather than being implicitly parked when ParseOnBackground is called. This reduces the amound of scoping needed in the BackgroundCompileTask::Run method. Change-Id: Ifdb128b763129bda78bd1bae89dac1c62f872350 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3277876 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/main@{#77872}
-
- 09 Nov, 2021 1 commit
-
-
Michael Lippautz authored
Adds support for aborting compaction when finalizing with stack: - never_compact_with_stack: All pages are aborted; - never_compact_code_space_with_stack: Only code space pages are aborted; This flags allow simulating a worst case where a stack cannot be considered precise, or evacuation candiate is refered to from a stack slot that V8 has no info for. Bug: v8:12251 Change-Id: Ice24ac87a985b8ecf7b5cbb5c106ad4a3ae1944b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3173682 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/main@{#77792}
-
- 08 Nov, 2021 1 commit
-
-
Michael Lippautz authored
Explicit write barriers for internal fields are deprecated as they are automatically emitted by V8. Depends on: https://crrev.com/c/3263924 Bug: v8:12356 Change-Id: I171ba5b42a6570ce52e2e2ea1b7c1029d5a8a3a7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3263888Reviewed-by:
Dominik Inführ <dinfuehr@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#77772}
-
- 06 Nov, 2021 1 commit
-
-
Michael Lippautz authored
Internal fields are used for implementing edges to C++ objects in Oilpan. When setting the fields on a JS API object, we should also emit a write barrier for this edge. This mechanism replaces the explicit write barrier in V8's API which is provided through `JSHeapConsistency::*`. The internal barrier should also be slightly faster as it doesn't require any API calls. Bug: v8:12356 Change-Id: I639d18141acfb910d0ded8d987d8a0916e25431d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3257709 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/main@{#77749}
-
- 04 Nov, 2021 2 commits
-
-
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}
-
Leszek Swirski authored
Remove the concept of JobId from LazyCompileDispatcher, and make SFIs the canonical id for these jobs. This has several consequences: * We no longer split enqueing a job and registering a SFI with that job. We did this previously because we could not allocate SFIs in the Parser -- now with LocalHeap we can, so we do. * We remove the separate Job vector, and make the SFI IdentityMap hold pointers to Jobs directly. This requires a small amount of extra care to deallocate Jobs when removing them from the map, but it means not having to allocate new global handles for jobs. * The SFI is passed into the BackgroundCompileTask instead of the script, so our task finalization doesn't need the SFI anymore. * We no longer need to iterate ParallelTasks after compiling (to register SFIs), so we can get rid of ParallelTasks entirely and access the dispatcher directly from the parser. There are a few drive-bys since we're touching this code: * Jobs are move to have a "state" variable rather than a collection of bools, for stricter DCHECKing. * There's no longer a set of "currently running" jobs, since this was only used to check if a job is running, we can instead inspect the job's state directly. * s/LazyCompilerDispatcher/LazyCompileDispatcher/g Change-Id: I85e4bd6db108f5e8e7fe2e919c548ce45796dd50 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3259647 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Victor Gomes <victorgomes@chromium.org> Cr-Commit-Position: refs/heads/main@{#77712}
-
- 03 Nov, 2021 2 commits
-
-
Anton Bikineev authored
Currently, in the following struct struct LayoutObject : GarbageCollected<>, MixinA, MixinB {}; the subobject that corresponds to the first base GarbageCollected<> always takes up some space (one word). The empty-base-optimization doesn't happen because the second base (MixinA) has the same subobject as the first base (GarbageCollected), which is the most parent class GarbageCollectedBase. The compiler can't "merge" them because it must guarantee that distinct objects of the same type have distinct addresses. The attribute [[no_unique_address]] doesn't work for base classes, unfortunately (but is a good idea for a Standard proposal). As a solution, the CL simply removes GarbageCollectedBase. Bug: chromium:1260797 Change-Id: I415b10a5fbcebce3d6ee97b8870ea9ae90f383a8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3259654 Commit-Queue: Anton Bikineev <bikineev@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#77693}
-
Leszek Swirski authored
This is a reland of 35a6eeec Reland fixes: * Add a SharedFunctionInfo::CopyFrom to encapsulate updating the SFI from the placeholder. This now includes copying scope_info (which wasn't included in the original CL and caused some of the issues) * Make sure that LocalHandleScope is initialised only inside of UnparkedScope (fixed TSAN issues) * Clean-up: Don't add `script_` to ParseInfo, but instead pass it separately to Parser. Eventually we'd ideally get rid of ParseInfo entirely (splitting it into input and output) so let's not add more fields to it. Reverts changing CreateScript to InitializeScript. Original change's description: > [off-thread] Allow off-thread top-level IIFE finalization > > Allow off-thread finalization for parallel compile tasks (i.e. for top- > level IIFEs). > > This allows us to merge the code paths in BackgroundCompileTask, and > re-enable the compiler dispatcher tests under the off-thread > finalization flag. Indeed, we can simplify further and get rid of that > flag entirely (it has been on-by-default for several releases now). > > Change-Id: I54f361997d651667fa813ec09790a6aab4d26774 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3226780 > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Commit-Queue: Leszek Swirski <leszeks@chromium.org> > Cr-Commit-Position: refs/heads/main@{#77615} Change-Id: If1a5b14900aa6753561e34e972a293be0be9a07d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3256692 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/main@{#77676}
-
- 02 Nov, 2021 2 commits
-
-
Michael Lippautz authored
- Fix definition and declaration of noexcept methods not matching - Disable test using deprecated APIs. Only having clang coverage is okay here. Change-Id: I412d0b0087b2858fb72b0365b94b82ebc13462de Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3256693 Auto-Submit: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Shu-yu Guo <syg@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#77665}
-
Michael Lippautz authored
Write barriers are automatically emitted by v8::TracedReference. Bug: v8:12165 Change-Id: I6ee9b95e9d25fe9606ce1b11b21b3905d47ee8cb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3253343Reviewed-by:
Omer Katz <omerkatz@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#77642}
-
- 01 Nov, 2021 1 commit
-
-
Shu-yu Guo authored
This reverts commit 35a6eeec. Reason for revert: TSAN failures like https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux64%20TSAN/39084/overview Original change's description: > [off-thread] Allow off-thread top-level IIFE finalization > > Allow off-thread finalization for parallel compile tasks (i.e. for top- > level IIFEs). > > This allows us to merge the code paths in BackgroundCompileTask, and > re-enable the compiler dispatcher tests under the off-thread > finalization flag. Indeed, we can simplify further and get rid of that > flag entirely (it has been on-by-default for several releases now). > > Change-Id: I54f361997d651667fa813ec09790a6aab4d26774 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3226780 > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Commit-Queue: Leszek Swirski <leszeks@chromium.org> > Cr-Commit-Position: refs/heads/main@{#77615} Change-Id: I6752470eebd594bad92c7cf4e58dbe5bac53598c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3255667Reviewed-by:
Shu-yu Guo <syg@chromium.org> Commit-Queue: Shu-yu Guo <syg@chromium.org> Owners-Override: Shu-yu Guo <syg@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Cr-Commit-Position: refs/heads/main@{#77631}
-
- 29 Oct, 2021 2 commits
-
-
Leszek Swirski authored
Allow off-thread finalization for parallel compile tasks (i.e. for top- level IIFEs). This allows us to merge the code paths in BackgroundCompileTask, and re-enable the compiler dispatcher tests under the off-thread finalization flag. Indeed, we can simplify further and get rid of that flag entirely (it has been on-by-default for several releases now). Change-Id: I54f361997d651667fa813ec09790a6aab4d26774 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3226780Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#77615}
-
Michael Lippautz authored
Test still fails after the previous fix. No-try: true Bug: v8:11933 Change-Id: I55100631e6f168728075234bddc6f9fd558c1e89 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3251169Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#77605}
-
- 28 Oct, 2021 4 commits
-
-
Michael Lippautz authored
Stack containment checks for slots should consider safe stacks when they are enabled. Bug: v8:11933, v8:12165 Change-Id: I2e2c8539c3c0a2dd795f87781ecb2942e059accc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3250642 Auto-Submit: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Omer Katz <omerkatz@chromium.org> Reviewed-by:
Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/main@{#77601}
-
Michael Lippautz authored
Bug: v8:12165 Change-Id: I54c7b429708a2d6a3c4db89911b9b69fa4a5a41a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3250640 Auto-Submit: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Adam Klein <adamk@chromium.org> Reviewed-by:
Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/main@{#77600}
-
Leszek Swirski authored
Change-Id: I17104eba48919c4608d6ab7e91cb09601a2f71d1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3250636 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#77599}
-
Michael Lippautz authored
TracedReferenceBase use (traced) global handles to implement the referencs. Provide a write barrier in the corresponding handle methods. Doing so - avoids bugs by having embedders taking care of write barrier management. - speeds up the barrier as it is better integrated in the handle methods. Drive-by: We don't need write barriers on initializating stores. Bug: v8:12165 Change-Id: Ie49cc3783aeed576fd46c957c473c61362fefbf2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3247039 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/main@{#77593}
-
- 27 Oct, 2021 2 commits
-
-
Leszek Swirski authored
This reverts commit f300a01a. Reason for revert: Makes TSAN unhappy: https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux64%20TSAN%20-%20stress-incremental-marking/5299/overview Original change's description: > unittests: Provide Context in TestWithHeapInternals > > Change-Id: I54e658325dfbfb425c41cab2fd7b32253b380e37 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3247038 > 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/main@{#77577} Change-Id: I3806a40847d327cc86e2816e00a74c80ba7b512e No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3247633 Auto-Submit: Leszek Swirski <leszeks@chromium.org> Owners-Override: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Cr-Commit-Position: refs/heads/main@{#77578}
-
Michael Lippautz authored
Change-Id: I54e658325dfbfb425c41cab2fd7b32253b380e37 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3247038 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/main@{#77577}
-
- 26 Oct, 2021 1 commit
-
-
Michael Lippautz authored
v8_enable_v8_checks has very little coverage outside of V8 itself. Move pointer verification checks behind DEBUG so that they fire in regular debug or dcheck_always_on builds. Change-Id: Ib2803240dd996f4223e403d20e927aff2955afbc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3242006Reviewed-by:
Omer Katz <omerkatz@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#77534}
-
- 25 Oct, 2021 1 commit
-
-
Michael Lippautz authored
Marking verification should only process young generation objects when verifying the marking state of a young generation garbage collection. Bug: v8:12324 Change-Id: I01db261437ec5c42ddb6c79c44e31b5fe0e536d7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3231343Reviewed-by:
Omer Katz <omerkatz@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#77518}
-
- 20 Oct, 2021 1 commit
-
-
Igor Sheludko authored
... when the v8_enable_external_code_space build flag is enabled. Bug: v8:11880 Change-Id: I754c6229dcd25f81ef6dfbedc5885ac025c0aeff Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3164458 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Nico Hartmann <nicohartmann@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#77479}
-
- 19 Oct, 2021 1 commit
-
-
Dominik Inführ authored
This is a reland of 929b83fb This version of the CL also fixes initialization of the marking_barrier_ in the LocalHeap constructor. This CL also got rebased on Victor's CL in https://crrev.com/c/3229361. It added a code_space_allocator_ in LocalHeap which needs to be initialized a bit later on the main thread as well. Original change's description: > [heap] Attach to shared isolate after setting up main thread > > Attach to the shared isolate after the main thread was set up. Otherwise > it could happen that a shared GC initiated from another isolate might > see no threads are running and performs the safepoint operation in the > middle of isolate deserialization. > > We use DisallowSafepoints to check that the isolate doesn't join a > global safepoint before deserialization is complete. DisallowSafepoints > used to prevent only invocations of Safepoint() but was updated to > also prevent Park() and Unpark() invocations. Each state change could > cause the thread to reach a safepoint, which would allow a shared GC > to run. > > We now also DCHECK that every isolate has at least one local heap and > that shared collections aren't started before deserialization is > complete. > > Bug: v8:11708 > Change-Id: Iba3fb59dd951d5ee4fc9934158062287302fc279 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3221157 > Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Reviewed-by: Shu-yu Guo <syg@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Cr-Commit-Position: refs/heads/main@{#77424} Bug: v8:11708 Change-Id: I7d44e4a5f76cc09092c2444cede10e9331222c1d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3229361Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Shu-yu Guo <syg@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/main@{#77448}
-
- 13 Oct, 2021 1 commit
-
-
Michael Lippautz authored
Consider in-construction keys as live during the final GC pause. Bug: chromium:1259587 Change-Id: Ia8c05923db6e5827b68b17a51561fbc8b2c4b467 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3221153 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Anton Bikineev <bikineev@chromium.org> Cr-Commit-Position: refs/heads/main@{#77386}
-
- 12 Oct, 2021 1 commit
-
-
Michael Lippautz authored
Adds support for double-word aligned, i.e., 8 bytes on 32-bit platforms and 16 bytes on 64-bit platforms, objects in Oilpan. Changes: - Adds generic alignment APIs and overrides. - Internal logic to support double-word aligned allocations on LABs. - Adjusts natural alignment of large objects to follow double-word. - Adds a new static_assert() that suggests users file a bug if higher alignment is required. - Statically checks that no allocations with non-default alignment target custom spaces that support compaction. Bug: v8:12295 Change-Id: I05766ce2349055d5d78b68919be00e7ee91d5505 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3218150Reviewed-by:
Anton Bikineev <bikineev@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#77348}
-