>
> Perhaps we should add a prettyprinter for cppgc::internal::MemberBase
> which automatically calls that function?

I just added <https://chromium-review.googlesource.com/c/v8/v8/+/3948607> a
pretty-printer for (cppgc|blink)::(Weak|Untraced)Member. Any feedback
is appreciated!

Anton, can you add this to
> https://source.chromium.org/chromium/chromium/src/+/main:docs/linux/debugging.md
>  ?

Since simple 'print' should work now, I think that 'cpcp' and 'cpm' can be
obsolete. A general note: we plan to add debugging support for Oilpan (in
our OKRs). As soon as we agree on the interface, it would probably be worth
updating debugging.md.

On Tue, Oct 11, 2022 at 5:04 PM Christian Biesinger <[email protected]>
wrote:

> Perhaps we should add a prettyprinter for cppgc::internal::MemberBase
> which automatically calls that function?
>
> Christian
>
> On Tue, Oct 11, 2022 at 11:00 AM Dave Tapuska <[email protected]>
> wrote:
>
>> Anton, can you add this to
>> https://source.chromium.org/chromium/chromium/src/+/main:docs/linux/debugging.md
>> ?
>>
>> On Tue, Oct 11, 2022 at 10:19 AM Anton Bikineev <[email protected]>
>> wrote:
>>
>>> I'm now submitting a CL
>>> <https://chromium-review.googlesource.com/c/v8/v8/+/3945108> that adds
>>> some quick gdb helpers:
>>>
>>>   (gdb) source v8/tools/gdbinit
>>>   # Print Member:
>>>   (gdb) cpm *<member-name>*
>>>   # Print Compressed Pointer:
>>>   (gdb) cpcp *<compressed-32-bit-value>*
>>>
>>> It currently erases the pointee type, but this can be improved in the
>>> future.
>>>
>>> On Tue, Oct 11, 2022 at 4:05 PM Anton Bikineev <[email protected]>
>>> wrote:
>>>
>>>> Which should hopefully be callable from the debugger and not eliminated
>>>>> by the linker?
>>>>
>>>> We can apply __attribute__((used,retain)) to make sure that the linker
>>>> doesn't strip the functions with --gc-sections, same as did
>>>> <https://chromium-review.googlesource.com/c/v8/v8/+/3932179> for V8
>>>> helpers (a week ago :) ). I'll prepare a CL.
>>>>
>>>> On Mon, Oct 10, 2022 at 8:45 PM Daniel Cheng <[email protected]>
>>>> wrote:
>>>>
>>>>> For now, I guess it should be sufficient to add something
>>>>> to v8/include/cppgc/internal/member-storage.h like
>>>>>
>>>>> #ifndef NDEBUG  // DCHECK_IS_ON() would be nicer, but not sure what v8
>>>>> uses
>>>>> extern "C" void* DecompressPointerForDebugger(uint32_t value) {
>>>>>   return cppgc::internal::CompressedPointer::Decompress(value);
>>>>> }
>>>>> #endif
>>>>>
>>>>> Which should hopefully be callable from the debugger and not
>>>>> eliminated by the linker?
>>>>>
>>>>> Daniel
>>>>>
>>>>> On Mon, 10 Oct 2022 at 11:32, Stefan Zager <[email protected]>
>>>>> wrote:
>>>>>
>>>>>> I ran into this today, and it's pretty frustrating:
>>>>>>
>>>>>> (rr) p inner_node_
>>>>>>
>>>>>> $11 = {
>>>>>>
>>>>>>   <cppgc::internal::MemberBase> = {
>>>>>>
>>>>>>     raw_ = {
>>>>>>
>>>>>>       static kCompressedSentinel = 1,
>>>>>>
>>>>>>       value_ = 2148082696 <(214)%20808-2696>
>>>>>>
>>>>>>     }
>>>>>>
>>>>>>   },
>>>>>>
>>>>>>   <cppgc::internal::DisabledCheckingPolicy> = {<No data fields>}, <No
>>>>>> data fields>}
>>>>>> (rr) p inner_node_.Load()
>>>>>>
>>>>>> Couldn't find method blink::Member<blink::Node>::Load
>>>>>>
>>>>>> (rr) p inner_node_.raw_.Load()
>>>>>>
>>>>>> Cannot evaluate function -- may be inlined
>>>>>>
>>>>>> (rr) p
>>>>>> cppgc::internal::CompressedPointer::Decompress(inner_node_.raw_.value_)
>>>>>>
>>>>>> Cannot evaluate function -- may be inlined
>>>>>>
>>>>>> (rr)
>>>>>>
>>>>>> I found that I can avoid the issue with this in args.gn:
>>>>>>
>>>>>> cppgc_enable_caged_heap = false
>>>>>> cppgc_enable_pointer_compression = false
>>>>>>
>>>>>> ... but I would prefer a better solution.
>>>>>>
>>>>>> On Mon, Oct 10, 2022 at 10:22 AM Ian Kilpatrick <
>>>>>> [email protected]> wrote:
>>>>>>
>>>>>>> Is there a bug to follow regarding the debuggability of the pointers?
>>>>>>>
>>>>>>> Ian
>>>>>>>
>>>>>>> On Thu, Sep 22, 2022 at 11:10 AM Anton Bikineev <
>>>>>>> [email protected]> wrote:
>>>>>>>
>>>>>>>> There is "cppgc::internal::CompressedPointer::Decompress(void*)". I
>>>>>>>> would, however, hide it behind a simpler name in .gdbinit.
>>>>>>>>
>>>>>>>> On Thu, Sep 22, 2022 at 5:51 PM Daniel Cheng <[email protected]>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> Is there a callable C++ function that can turn a compressed
>>>>>>>>> pointer into the actual pointer value?
>>>>>>>>>
>>>>>>>>> Daniel
>>>>>>>>>
>>>>>>>>> On Thu, 22 Sept 2022 at 08:43, Anton Bikineev <
>>>>>>>>> [email protected]> wrote:
>>>>>>>>>
>>>>>>>>>> We have plans to provide more debugging tooling for Oilpan. I
>>>>>>>>>> haven't had a need to examine compressed pointers myself, however I 
>>>>>>>>>> see
>>>>>>>>>> that some simple gdb/windbg function that'd follow pointers would be 
>>>>>>>>>> useful.
>>>>>>>>>>
>>>>>>>>>> On Thu, Sep 22, 2022 at 1:14 AM Kentaro Hara <
>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>
>>>>>>>>>>> +Michael Lippautz <[email protected]>
>>>>>>>>>>>
>>>>>>>>>>> 2022年9月22日(木) 4:01 'Daniel Libby' via blink-dev <
>>>>>>>>>>> [email protected]>:
>>>>>>>>>>>
>>>>>>>>>>>> https://crrev.com/c/3835682 enabled pointer compression for
>>>>>>>>>>>> Blink Member<> pointers. How are folks handling these while
>>>>>>>>>>>> debugging (either live or crash dumps)? Is there some tooling 
>>>>>>>>>>>> available
>>>>>>>>>>>> that will look up and apply the cage base?
>>>>>>>>>>>>
>>>>>>>>>>>> I didn't see anything mentioned in
>>>>>>>>>>>> https://docs.google.com/document/d/1neGN8Jq-1JLrWK3cvwRIfrSjLgE0Srjv-uq7Ze38Iao/edit#
>>>>>>>>>>>> but maybe there are better known tools/techniques from v8 (which 
>>>>>>>>>>>> IIUC has
>>>>>>>>>>>> had compressed pointers for some time now).
>>>>>>>>>>>>
>>>>>>>>>>>> --
>>>>>>>>>>>> You received this message because you are subscribed to the
>>>>>>>>>>>> Google Groups "blink-dev" group.
>>>>>>>>>>>> To unsubscribe from this group and stop receiving emails from
>>>>>>>>>>>> it, send an email to [email protected].
>>>>>>>>>>>> To view this discussion on the web visit
>>>>>>>>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/4b3e5bbb-134a-4483-9a1e-8e33fbc6f38en%40chromium.org
>>>>>>>>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/4b3e5bbb-134a-4483-9a1e-8e33fbc6f38en%40chromium.org?utm_medium=email&utm_source=footer>
>>>>>>>>>>>> .
>>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>> You received this message because you are subscribed to the
>>>>>>>>>>> Google Groups "blink-dev" group.
>>>>>>>>>>> To unsubscribe from this group and stop receiving emails from
>>>>>>>>>>> it, send an email to [email protected].
>>>>>>>>>>> To view this discussion on the web visit
>>>>>>>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CABg10jxSdx3JzWvTC2j7RUEcw01P9gTRhT%3DnftwehY3br4qNWA%40mail.gmail.com
>>>>>>>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CABg10jxSdx3JzWvTC2j7RUEcw01P9gTRhT%3DnftwehY3br4qNWA%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>>>>>>>>> .
>>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> You received this message because you are subscribed to the
>>>>>>>>>> Google Groups "blink-dev" group.
>>>>>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>>>>>> send an email to [email protected].
>>>>>>>>>> To view this discussion on the web visit
>>>>>>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CABH6udYH6VGy8Ooz6ZLZWpWR_LjjQfu1xh-AMBvWoyAnArojbA%40mail.gmail.com
>>>>>>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CABH6udYH6VGy8Ooz6ZLZWpWR_LjjQfu1xh-AMBvWoyAnArojbA%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>>>>>>>> .
>>>>>>>>>>
>>>>>>>>> --
>>>>>>>> You received this message because you are subscribed to the Google
>>>>>>>> Groups "blink-dev" group.
>>>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>>>> send an email to [email protected].
>>>>>>>> To view this discussion on the web visit
>>>>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CABH6udZS_4iw6Vhb%3Dtf0J9qgV%3DbwbcWAu%2B--Xt9dYrDpqDecXw%40mail.gmail.com
>>>>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CABH6udZS_4iw6Vhb%3Dtf0J9qgV%3DbwbcWAu%2B--Xt9dYrDpqDecXw%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>>>>>> .
>>>>>>>>
>>>>>>> --
>>>>>>> You received this message because you are subscribed to the Google
>>>>>>> Groups "blink-dev" group.
>>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>>> send an email to [email protected].
>>>>>>> To view this discussion on the web visit
>>>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAJL3UpQ%2BiPOAMX6ONDxRm9UG0zFRkScw1%3DdALFGdKJOUiAUpEw%40mail.gmail.com
>>>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAJL3UpQ%2BiPOAMX6ONDxRm9UG0zFRkScw1%3DdALFGdKJOUiAUpEw%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>>>>> .
>>>>>>>
>>>>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "blink-dev" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected].
>>> To view this discussion on the web visit
>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CABH6udZ7rMMqmsZ98RbS21yG_DBXXtnoOVYnO4oV%3Dno3tFvNug%40mail.gmail.com
>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CABH6udZ7rMMqmsZ98RbS21yG_DBXXtnoOVYnO4oV%3Dno3tFvNug%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "blink-dev" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> To view this discussion on the web visit
>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAHgVhZWN15bg8nzz8mygH%3D99ZHeEu5gGbyQc_xKAO%2BuGJ7WhcQ%40mail.gmail.com
>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAHgVhZWN15bg8nzz8mygH%3D99ZHeEu5gGbyQc_xKAO%2BuGJ7WhcQ%40mail.gmail.com?utm_medium=email&utm_source=footer>
>> .
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CABH6udan9MjsnvHgZb%2BZyF5bAASA-RGOM0T7eTtk-jN%3DHo-_0g%40mail.gmail.com.

Reply via email to