• Jakob Gruber's avatar
    Include standard heap object header when debug-printing String objects · 86fee30e
    Jakob Gruber authored
    This brings %DebugPrint(string) closer to %DebugPrint(object) by also
    including the pointer, object kind, and RO/old space. Especially the
    pointer can be useful while debugging.
    
    One could consider going even further end printing full details of
    the string object, e.g. first and second pointers for cons strings.
    
    Before:
    
     $ out/debug/d8 --allow-natives-syntax -e '%DebugPrint("abc");'
     DebugPrint: #abc
     0x263f080402cd: [Map] in ReadOnlySpace
     [...]
    
    After:
    
     $ out/debug/d8 --allow-natives-syntax -e '%DebugPrint("abc");'
     DebugPrint: 0xa830824ffe1: [String] in OldSpace: #abc
     0xa83080402cd: [Map] in ReadOnlySpace
     [...]
    
    Drive-by: Document string printing functions.
    Drive-by: Use PrintUC16 in spots that don't want a full debug print.
    
    Bug: v8:10581
    Change-Id: Ided59047b9c3edc1830ce7721376dddfd24fad1d
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2228509Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
    Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
    Commit-Queue: Jakob Gruber <jgruber@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#68136}
    86fee30e
objects.cc 314 KB