From eddd369e7378ec762cf81a226aec1a2b8719bf7a Mon Sep 17 00:00:00 2001 From: Peter Zhu Date: Mon, 23 Aug 2021 10:49:14 -0400 Subject: Revert "[Feature #18045] Implement size classes for GC" This reverts commits 48ff7a9f3e47bffb3e4d067a12ba9b936261caa0 and b2e2cf2dedd104acad8610721db5e4d341f135ef because it is causing crashes in SPARC solaris and i386 debian. --- misc/lldb_cruby.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'misc') diff --git a/misc/lldb_cruby.py b/misc/lldb_cruby.py index 8461eea8b3..3f0479b51f 100755 --- a/misc/lldb_cruby.py +++ b/misc/lldb_cruby.py @@ -330,6 +330,9 @@ def lldb_inspect(debugger, target, result, val): elif flType == RUBY_T_HASH: result.write("T_HASH: %s" % flaginfo) append_command_output(debugger, "p *(struct RHash *) %0#x" % val.GetValueAsUnsigned(), result) + elif flType == RUBY_T_PAYLOAD: + result.write("T_PAYLOAD: %s" % flaginfo) + append_command_output(debugger, "p *(struct RPayload *) %0#x" % val.GetValueAsUnsigned(), result) elif flType == RUBY_T_BIGNUM: tRBignum = target.FindFirstType("struct RBignum").GetPointerType() val = val.Cast(tRBignum) @@ -533,15 +536,14 @@ class HeapPageIter: self.target = target self.start = page.GetChildMemberWithName('start').GetValueAsUnsigned(); self.num_slots = page.GetChildMemberWithName('total_slots').unsigned - self.slot_size = page.GetChildMemberWithName('size_pool').GetChildMemberWithName('slot_size').unsigned self.counter = 0 self.tRBasic = target.FindFirstType("struct RBasic") self.tRValue = target.FindFirstType("struct RVALUE") def is_valid(self): heap_page_header_size = self.target.FindFirstType("struct heap_page_header").GetByteSize() - rvalue_size = self.slot_size - heap_page_obj_limit = int((HEAP_PAGE_SIZE - heap_page_header_size) / self.slot_size) + rvalue_size = self.tRValue.GetByteSize() + heap_page_obj_limit = int((HEAP_PAGE_SIZE - heap_page_header_size) / rvalue_size) return (heap_page_obj_limit - 1) <= self.num_slots <= heap_page_obj_limit @@ -550,7 +552,7 @@ class HeapPageIter: def __next__(self): if self.counter < self.num_slots: - obj_addr_i = self.start + (self.counter * self.slot_size) + obj_addr_i = self.start + (self.counter * self.tRValue.GetByteSize()) obj_addr = lldb.SBAddress(obj_addr_i, self.target) slot_info = (self.counter, obj_addr_i, self.target.CreateValueFromAddress("object", obj_addr, self.tRBasic)) self.counter += 1 -- cgit v1.2.3