aboutsummaryrefslogtreecommitdiffstats
path: root/misc
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2023-09-30 02:07:12 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2023-09-30 02:09:29 +0900
commitce717be1881e5751ec07b6f65901a750e7f3069a (patch)
treec37c1f8aa37cfaa7ac96e4d3cf17b82df2e820e6 /misc
parent9fa7ec9332a7d39f1c7d8056bbcf62cb6f9340df (diff)
downloadruby-ce717be1881e5751ec07b6f65901a750e7f3069a.tar.gz
Fix RBignum print [ci skip]
Diffstat (limited to 'misc')
-rw-r--r--misc/lldb_rb/rb_heap_structs.py5
-rw-r--r--misc/lldb_rb/utils.py6
2 files changed, 5 insertions, 6 deletions
diff --git a/misc/lldb_rb/rb_heap_structs.py b/misc/lldb_rb/rb_heap_structs.py
index b86ba2b2d6..86b38dbbbd 100644
--- a/misc/lldb_rb/rb_heap_structs.py
+++ b/misc/lldb_rb/rb_heap_structs.py
@@ -132,11 +132,12 @@ class RbObject(LLDBInterface):
return len
def bignum_len(self):
- if self.flags & flUser2:
+ if self.flags & self.flUser2:
len = ((self.flags &
(self.flUser3 | self.flUser4 | self.flUser5)
) >> (self.flUshift + 3))
else:
- len = self.val.GetValueForExpressionPath("->as.heap.len")
+ len = (self.as_type("bignum").GetValueForExpressionPath("->as.heap.len").
+ GetValueAsUnsigned())
return len
diff --git a/misc/lldb_rb/utils.py b/misc/lldb_rb/utils.py
index 6c50bd3cfe..2077e21b8c 100644
--- a/misc/lldb_rb/utils.py
+++ b/misc/lldb_rb/utils.py
@@ -175,8 +175,6 @@ class RbInspector(LLDBInterface):
self._append_command_output("p *(struct RHash *) %0#x" % val.GetValueAsUnsigned())
elif rval.is_type("RUBY_T_BIGNUM"):
- tRBignum = self.target.FindFirstType("struct RBignum").GetPointerType()
-
sign = '-'
if (rval.flags & self.ruby_globals["RUBY_FL_USER1"]) != 0:
sign = '+'
@@ -188,9 +186,9 @@ class RbInspector(LLDBInterface):
% val.GetValueAsUnsigned())
else:
print("T_BIGNUM: sign=%s len=%d" % (sign, len), file=self.result)
- print(val.Dereference(), file=self.result)
+ print(rval.as_type("bignum"), file=self.result)
self._append_command_output(
- "expression -Z %x -fx -- (const BDIGIT*)((struct RBignum*)%d)->as.heap.digits" %
+ "expression -Z %d -fx -- ((struct RBignum*)%d)->as.heap.digits" %
(len, val.GetValueAsUnsigned()))
elif rval.is_type("RUBY_T_FLOAT"):