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/CAF3XrKoveG2v84LWU2wbmOincCFL1GH8Tjtz5Ku-zqSudK-RfQ%40mail.gmail.com.