| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[rust] V8: Insulate V8 from specific temporal epoch/version. This is an attempt to avoid having to say v0_0 or v0_0_8 when including temporal_capi headers or depending on its targets from V8 repo. (Such headers and targets include temporal epoch/version in some directory names in their path.) This V8-side CL starts to use GN targets and configs from a fixed location in Chromium repo - //third_party/rust/temporal_capi is the main entrypoint. This CL depends on an earlier Chromium-side CL at https://crrev.com/c/6621921. Bug: chromium:419052750 Change-Id: I308253b91723317d48c3e40f2080b1c281c476a7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6621127 Reviewed-by: Manish Goregaokar <manishearth@google.com> Commit-Queue: Łukasz Anforowicz <lukasza@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#100715} | 1 年前 | |
Reland "Add postmortem debugging helper library" This is a reland of 517ab73fd7e3fdb70220b9699bca4c69a32e212e Updates since original: now compressed pointers passed to the function GetObjectProperties are required to be sign-extended. Previously, the function allowed zero-extended values, but that led to ambiguity on pointers like 0x88044919: is it compressed or is the heap range actually centered on 0x100000000? Original change's description: > Add postmortem debugging helper library > > This change begins to implement the functionality described in > https://docs.google.com/document/d/1evHnb1uLlSbvHAAsmOXyc25x3uh1DjgNa8u1RHvwVhk/edit# > for investigating V8 state in crash dumps. > > This change adds a new library, v8_debug_helper, for providing platform- > agnostic assistance with postmortem debugging. This library can be used > by extensions built for debuggers such as WinDbg or lldb. Its public API > is described by debug-helper.h; currently the only method it exposes is > GetObjectProperties, but we'd like to add more functionality over time. > The API surface is restricted to plain C-style structs and pointers, so > that it's easy to link from a debugger extension built with a different > toolchain. > > This change also adds a new cctest file to exercise some basic > interaction with the new library. > > The API function GetObjectProperties takes an object pointer (which > could be compressed, or weak, or a SMI), and returns a string > description of the object and a list of properties the object contains. > For now, the list of properties is entirely based on Torque object > definitions, but we expect to add custom properties in future updates so > that it can be easier to make sense of complex data structures such as > dictionaries. > > GetObjectProperties does several things that are intended to generate > somewhat useful results even in cases where memory may be corrupt or > unavailable: > - The caller may optionally provide a type string which will be used if > the memory for the object's Map is inaccessible. > - All object pointers are compared against the list of known objects > generated by mkgrokdump. The caller may optionally provide the > pointers for the first pages of various heap spaces, to avoid spurious > matches. If those pointers are not provided, then any matches are > prefixed with "maybe" in the resulting description string, such as > "maybe UndefinedValue (0x4288000341 <Oddball>)". > > Bug: v8:9376 > > Change-Id: Iebf3cc2dea3133c7811bcefcdf38d9458b02fded > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1628012 > Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Reviewed-by: Michael Stanton <mvstanton@chromium.org> > Cr-Commit-Position: refs/heads/master@{#62882} Bug: v8:9376 Change-Id: I866a1cc9d4c34bfe10c7b98462451fe69763cf3f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1717090 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Michael Stanton <mvstanton@chromium.org> Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Cr-Commit-Position: refs/heads/master@{#63008} | 6 年前 | |
Replacing Seth.Brenith@Microsoft.com (who has left the company) with PaoloSev@Microsoft.com Change-Id: I4117fd59352c8965d93d45ba17037ecbfa037884 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6506911 Reviewed-by: Daniel Lehmann <dlehmann@chromium.org> Reviewed-by: Jakob Linke <jgruber@chromium.org> Commit-Queue: Leo Lee <leolee@microsoft.com> Cr-Commit-Position: refs/heads/main@{#100473} | 1 年前 | |
Reland "Add postmortem debugging helper library" This is a reland of 517ab73fd7e3fdb70220b9699bca4c69a32e212e Updates since original: now compressed pointers passed to the function GetObjectProperties are required to be sign-extended. Previously, the function allowed zero-extended values, but that led to ambiguity on pointers like 0x88044919: is it compressed or is the heap range actually centered on 0x100000000? Original change's description: > Add postmortem debugging helper library > > This change begins to implement the functionality described in > https://docs.google.com/document/d/1evHnb1uLlSbvHAAsmOXyc25x3uh1DjgNa8u1RHvwVhk/edit# > for investigating V8 state in crash dumps. > > This change adds a new library, v8_debug_helper, for providing platform- > agnostic assistance with postmortem debugging. This library can be used > by extensions built for debuggers such as WinDbg or lldb. Its public API > is described by debug-helper.h; currently the only method it exposes is > GetObjectProperties, but we'd like to add more functionality over time. > The API surface is restricted to plain C-style structs and pointers, so > that it's easy to link from a debugger extension built with a different > toolchain. > > This change also adds a new cctest file to exercise some basic > interaction with the new library. > > The API function GetObjectProperties takes an object pointer (which > could be compressed, or weak, or a SMI), and returns a string > description of the object and a list of properties the object contains. > For now, the list of properties is entirely based on Torque object > definitions, but we expect to add custom properties in future updates so > that it can be easier to make sense of complex data structures such as > dictionaries. > > GetObjectProperties does several things that are intended to generate > somewhat useful results even in cases where memory may be corrupt or > unavailable: > - The caller may optionally provide a type string which will be used if > the memory for the object's Map is inaccessible. > - All object pointers are compared against the list of known objects > generated by mkgrokdump. The caller may optionally provide the > pointers for the first pages of various heap spaces, to avoid spurious > matches. If those pointers are not provided, then any matches are > prefixed with "maybe" in the resulting description string, such as > "maybe UndefinedValue (0x4288000341 <Oddball>)". > > Bug: v8:9376 > > Change-Id: Iebf3cc2dea3133c7811bcefcdf38d9458b02fded > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1628012 > Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Reviewed-by: Michael Stanton <mvstanton@chromium.org> > Cr-Commit-Position: refs/heads/master@{#62882} Bug: v8:9376 Change-Id: I866a1cc9d4c34bfe10c7b98462451fe69763cf3f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1717090 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Michael Stanton <mvstanton@chromium.org> Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Cr-Commit-Position: refs/heads/master@{#63008} | 6 年前 | |
[build] Add Turboshaft sources to fast_mksnapshot Bug: 342692713 Change-Id: I03fccd012a8a7315b3f44979810b04d373e8e6bf Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5893179 Auto-Submit: Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/main@{#96331} | 1 年前 | |
[ptr-compr] Remove OnHeapAddress from Decompress Since we're using a global cage, we never need an OnHeapAddress for decompressing pointers. Remove this unused parameter. Change-Id: Ie14a7284c1e793c0b9e146a4e57f981a2985de27 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6481261 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#99866} | 1 年前 | |
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 年前 | |
Export macros should unconditionally use default visibility Unlike Windows, which has distinct export/import annotations, POSIX programs need to use default visibility consistently across shared libraries. If they don't, inline code will be duplicated in each library, which can cause very subtle bugs. Bug: chromium:368047728 Change-Id: I8d356c637b497b32f73fb4cbbb128a0829523433 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6371928 Commit-Queue: Devon Loehr <dloehr@google.com> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Mark Mentovai <mark@chromium.org> Auto-Submit: Devon Loehr <dloehr@google.com> Cr-Commit-Position: refs/heads/main@{#99529} | 1 年前 | |
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 年前 | |
[ptr-compr] Remove OnHeapAddress from Decompress Since we're using a global cage, we never need an OnHeapAddress for decompressing pointers. Remove this unused parameter. Change-Id: Ie14a7284c1e793c0b9e146a4e57f981a2985de27 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6481261 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#99866} | 1 年前 | |
Reapply "Check current isolate when accessing MemoryChunk metadata" The parallel jobs from ParallelWeakHandlesProcessor don't have the current isolate set up, so many checks fail. The fix adds the setting scopes. Bug: 430498032 Change-Id: I5bc90983123bf09eab8c21ac7704bb82367b82a1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6765067 Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Anton Bikineev <bikineev@chromium.org> Cr-Commit-Position: refs/heads/main@{#101492} | 11 个月前 | |
[heap] rename MemoryChunk classes Rename the MemoryChunk classes to make them more intuitive once we're moving the metadata out of the MemoryChunk. This renames: MemoryChunkHeader => MemoryChunk BasicMemoryChunk => MemoryChunkMetadata ReadOnlyPage => ReadOnlyPageMetadata MemoryChunk => MutablePageMetadata Page => PageMetadata LargePage => LargePageMetadata Change-Id: I6161fa56e884aa1f0dca51455dc8b9b4bc2d77d8 Bug: v8:13355 chromium:40849120 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5335159 Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Stephen Röttger <sroettger@google.com> Cr-Commit-Position: refs/heads/main@{#92607} | 2 年前 | |
[heap] Add flag for disabling map space Now that we are able to compact map space, we can also get rid of the map space and allocate maps in the old space instead. This CL introduces a FLAG_map_space for enabling/disabling the map space but the map space remains enabled by default for now. Without a separate space for maps, the GC can't prevent relocation of maps anymore. Therefore this CL always allows compaction of maps when running without a map space. Rename flag to --compact-maps to better fit this scenario. mkgrokdump and debug_helper also need to be updated to look for maps also in the old space. The map space is now optional. Bug: v8:12578 Change-Id: Ic4e4abd0b58bee26e64329b1c92dbccb07d8105a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3424483 Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Seth Brenith <seth.brenith@microsoft.com> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/main@{#79165} | 4 年前 |
V8 debug helper
This library is for debugging V8 itself, not debugging JavaScript running within V8. It is designed to be called from a debugger extension running within a native debugger such as WinDbg or LLDB. It can be used on live processes or crash dumps, and cannot assume that all memory is available in a dump.