v8/tools/debug_helper
Seth Brenith 6b11b700d7 [torque][tools] Define layout of DescriptorArray for postmortem tools
This change defines a way that v8_debug_helper can describe object
fields which are packed structs, and uses it for the "descriptors" field
in DescriptorArray.

In more detail:
- debug-helper.h (the public interface for v8_debug_helper) adds a size
  and an optional list of struct properties to ObjectProperty.
- debug-helper-internal.h mirrors those changes to the internal class
  hierarchy which maintains proper unique_ptr ownership.
- In src/torque/class-debug-reader-generator.cc,
  - Some existing logic is moved into smaller functions.
  - New logic is added to generate the field list for structs. Example
    output is included in a comment above the function
    GenerateGetPropsChunkForField.

Bug: v8:9376
Change-Id: I531acac039ccb42050641448a4cbaec26186a7bc
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1894362
Commit-Queue: Seth Brenith <seth.brenith@microsoft.com>
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#65079}
2019-11-20 16:56:39 +00:00
..
BUILD.gn [tools] Add list of classes to v8_debug_helper 2019-10-16 15:35:18 +00:00
debug-helper-internal.cc Update postmortem tools to use unsigned compressed pointers 2019-10-15 14:39:10 +00:00
debug-helper-internal.h [torque][tools] Define layout of DescriptorArray for postmortem tools 2019-11-20 16:56:39 +00:00
debug-helper.h [torque][tools] Define layout of DescriptorArray for postmortem tools 2019-11-20 16:56:39 +00:00
DEPS Reland "Add postmortem debugging helper library" 2019-07-31 14:30:19 +00:00
gen-heap-constants.py Update postmortem tools to use unsigned compressed pointers 2019-10-15 14:39:10 +00:00
get-object-properties.cc [torque] Use generated instance types, part 1 2019-10-28 18:30:31 +00:00
heap-constants.cc [tools] Use instance types of known Maps in v8_debug_helper 2019-09-20 16:00:59 +00:00
heap-constants.h [tools] Use instance types of known Maps in v8_debug_helper 2019-09-20 16:00:59 +00:00
list-object-classes.cc [tools] Add list of classes to v8_debug_helper 2019-10-16 15:35:18 +00:00
README.md Reland "Add postmortem debugging helper library" 2019-07-31 14:30:19 +00:00

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.