From a5b6598192c30187b19b892af3110a46f6a70d76 Mon Sep 17 00:00:00 2001 From: Peter Zhu Date: Thu, 26 Aug 2021 10:06:32 -0400 Subject: [Feature #18239] Implement VWA for strings This commit adds support for embedded strings with variable capacity and uses Variable Width Allocation to allocate strings. --- misc/lldb_cruby.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'misc/lldb_cruby.py') diff --git a/misc/lldb_cruby.py b/misc/lldb_cruby.py index c046e7fbb1..b6ac231cee 100755 --- a/misc/lldb_cruby.py +++ b/misc/lldb_cruby.py @@ -190,6 +190,8 @@ def string2cstr(rstring): cptr = int(rstring.GetValueForExpressionPath(".as.heap.ptr").value, 0) clen = int(rstring.GetValueForExpressionPath(".as.heap.len").value, 0) else: + # cptr = int(rstring.GetValueForExpressionPath(".as.embed.ary").location, 0) + # clen = int(rstring.GetValueForExpressionPath(".as.embed.len").value, 0) cptr = int(rstring.GetValueForExpressionPath(".as.ary").location, 0) clen = (flags & RSTRING_EMBED_LEN_MASK) >> RSTRING_EMBED_LEN_SHIFT return cptr, clen @@ -315,7 +317,6 @@ def lldb_inspect(debugger, target, result, val): else: len = val.GetValueForExpressionPath("->as.heap.len").GetValueAsSigned() ptr = val.GetValueForExpressionPath("->as.heap.ptr") - #print(val.GetValueForExpressionPath("->as.heap"), file=result) result.write("T_ARRAY: %slen=%d" % (flaginfo, len)) if flags & RUBY_FL_USER1: result.write(" (embed)") -- cgit v1.2.1