VV8 LUCI CQ[heap] Format sizes for OOM crash keys
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[heap] Add CFI directives to the ARM64 trampoline This CL adds CFI directives to the arm64 trampoline needed for unwinding the stack (return address and frame pointer). Since we are already here, we can also add directives to annotate where callee-saved registers were saved for both x64 and arm64. Bug: 389951203 Change-Id: I79d041219d38423e6e217a1110f6d1d88a05949d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7002772 Reviewed-by: Nikolaos Papaspyrou <nikolaos@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/main@{#102994} | 8 个月前 | |
[heap] Clarify dependencies of src/heap/base Change-Id: Ia51c4a4466366ab9a4dff126bccc5f3f5ef639cb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4700302 Reviewed-by: Omer Katz <omerkatz@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#89029} | 2 年前 | |
[heap] Fix GCC build because of undefined CHAR_BIT Explicitly #include climits header for CHAR_BIT. Bug: v8:12691 Change-Id: I9d7a28543883a5387e006c4b6ee4491243a06207 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3516925 Auto-Submit: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#79446} | 4 年前 | |
[heap] Improve accounting of PagedSpace::CommittedPhysicalMemory() Instead of using the high water mark for determining this metric, we use a bitset for all active/used system pages on a V8 heap page. Each time when allocating a LAB on a page, we add the pages of that memory range to that bitset. During sweeping we rebuild that bitset from scratch and replace it with the old one in case free pages are discarded by the GC. We DCHECK here that the sweeper only ever removes pages. This has the nice benefit of ensuring that we don't miss any allocations (like we do now for concurrent allocations). CommittedPhysicalMemory for a page is then calculated by counting the set bits in the bitset and multiplying it with the system page size. This should be simpler to verify and track the "real" effective size more precisely. One case where we are partially less precise than the current implementation is for LABs. In order to reduce complexity we now treat all pages of a LAB allocation as active immediately. In the current implementation we tried to only account the actual used part of the LAB when changing the LAB later. This is more complex to track correctly but also doesn't account the currently used LAB in effective size. Change-Id: Ia83df9ad5fbb852f0717c4c396b5074604bd21e9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3497363 Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/main@{#79428} | 4 年前 | |
[heap] More C++ write barrier optimization - Avoid the TLS load for Isolate as we already load the TLS for LocalHeap. - Avoid mask on setting bit (as it's always the same mask). - Avoid guarded store in non-atomic mode. Bug: 443678572 Change-Id: Icf615272bf8a3a6273788b5e36a3f3875bc2bce2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6948150 Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#102485} | 9 个月前 | |
[heap] Format sizes for OOM crash keys Large sizes are a bit hard to read at the moment. This CL formats sizes in KB or MB when emitting those values as crash keys. Bug: 389951203 Change-Id: I4d70929bfa1fd67411c011e2db8b0d56b3b27667 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7121988 Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/main@{#103588} | 7 个月前 | |
[heap] Use flat_hash_map in CachedUnorderedMap Start using flat_hash_map internally instead of std::unordered_map. Change-Id: I0cff90b4c713f79915b320b2d1a28cd94ed2c1f0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6179689 Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/main@{#98221} | 1 年前 | |
[heap] Remove code to turn off --separate-gc-phases --no-separate-gc-phases is no longer supported, and resulting unused code is also removed. Bug: 365694581 Change-Id: Iacb746b04156470a73b60297364088dd264c8050 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6419255 Feels: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Commit-Queue: Omer Katz <omerkatz@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#99626} | 1 年前 | |
[heap] Remove code to turn off --separate-gc-phases --no-separate-gc-phases is no longer supported, and resulting unused code is also removed. Bug: 365694581 Change-Id: Iacb746b04156470a73b60297364088dd264c8050 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6419255 Feels: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Commit-Queue: Omer Katz <omerkatz@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#99626} | 1 年前 | |
[heap] Minor fix in stack scanning This CL removes a redundant call to IterateBackgroundStacks that existed in IteratePointersUntilMarker. This had resulted in a nested SuspendTagCheckingScope, which crashed on Android MTE builds. The CL also adds a check in SuspendTagCheckingScope to prevent nested usage earlier. Bug: v8:13257 Change-Id: I2b7a041bed0155a814454845b8a43fc530199588 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5426676 Reviewed-by: Omer Katz <omerkatz@chromium.org> Commit-Queue: Nikolaos Papaspyrou <nikolaos@chromium.org> Cr-Commit-Position: refs/heads/main@{#93204} | 2 年前 | |
Include guards should be at the top of files. For the include guard optimization to kick in the include guards should be the first thing in the file, not counting comments. In some cases the guard has been moved above a comment for consistency even though this does not matter. A couple of include guards have been renamed for uniqueness. git cl upload complained about some lint nits which have been fixed. Change-Id: Iaa208ea6557c36c84bc7bb77c787ba9feb7cf037 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6275067 Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Erik Corry <erikcorry@chromium.org> Cr-Commit-Position: refs/heads/main@{#98907} | 1 年前 | |
[heap] Fix MinorMS without CSS Since https://crrev.com/c/6448975, which changed the flag used for conservative stack scanning (CSS) from a build flag to a run-time flag, the Minor Mark-and-Sweep garbage collector scans the stack conservatively while marking even if the flag is disabled. This CL fixes the issue. It also performs some minor cleaning-up related to the stack and stack visitors. Bug: 40096225 Bug: 41480448 Change-Id: I21006d5209f754d92bab314431f32329f90247af Cq-Include-Trybots: luci.v8.try:v8_linux64_css_dbg Cq-Include-Trybots: luci.v8.try:v8_linux64_minor_mc_dbg Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6842421 Reviewed-by: Omer Katz <omerkatz@chromium.org> Commit-Queue: Nikolaos Papaspyrou <nikolaos@chromium.org> Cr-Commit-Position: refs/heads/main@{#101878} | 10 个月前 | |
[heap] Fix MinorMS without CSS Since https://crrev.com/c/6448975, which changed the flag used for conservative stack scanning (CSS) from a build flag to a run-time flag, the Minor Mark-and-Sweep garbage collector scans the stack conservatively while marking even if the flag is disabled. This CL fixes the issue. It also performs some minor cleaning-up related to the stack and stack visitors. Bug: 40096225 Bug: 41480448 Change-Id: I21006d5209f754d92bab314431f32329f90247af Cq-Include-Trybots: luci.v8.try:v8_linux64_css_dbg Cq-Include-Trybots: luci.v8.try:v8_linux64_minor_mc_dbg Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6842421 Reviewed-by: Omer Katz <omerkatz@chromium.org> Commit-Queue: Nikolaos Papaspyrou <nikolaos@chromium.org> Cr-Commit-Position: refs/heads/main@{#101878} | 10 个月前 | |
[heap] Add UnsafeJsonEmitter for emitting NVP data Add UnsafeJsonEmitter for building JSON object as a C++ string. We can use this in PrintNVP() to make emitting counters/properties less cumbersome. It also allows us to add properties to all GC kinds easily without duplication. Bug: 408962793 Change-Id: Ia281e095c966c3bd3c844e5f94132488c5329902 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6769762 Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/main@{#101515} | 11 个月前 | |
[heap] Add UnsafeJsonEmitter for emitting NVP data Add UnsafeJsonEmitter for building JSON object as a C++ string. We can use this in PrintNVP() to make emitting counters/properties less cumbersome. It also allows us to add properties to all GC kinds easily without duplication. Bug: 408962793 Change-Id: Ia281e095c966c3bd3c844e5f94132488c5329902 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6769762 Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/main@{#101515} | 11 个月前 | |
[heap] Fix worklist segment capacity in --predictable Actual worklist segment capacity may vary depending on allocator internals. Varying capacity can result in different push/pop order even in single-threaded execution which is incompatible with --predictable. As a fix, rely on minimum capacity for --predictable. Bug: v8:13614 Change-Id: Icbf093b31c32f4eb20476954572b3731f5c8ef88 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4171641 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/main@{#85330} | 3 年前 | |
[heap] Redirect OOM failure to bottleneck Using a simple CHECK() is hard to diagnose and may not be ignored by fuzzers. Fixed: 403345136 Change-Id: I7d9ff850efd153feca1c3da1adc4517ed77c7cb6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6355015 Auto-Submit: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Anton Bikineev <bikineev@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#99297} | 1 年前 |