diff options
Diffstat (limited to 'misc/lldb_yjit.py')
-rw-r--r-- | misc/lldb_yjit.py | 47 |
1 files changed, 0 insertions, 47 deletions
diff --git a/misc/lldb_yjit.py b/misc/lldb_yjit.py deleted file mode 100644 index cc37b990ea..0000000000 --- a/misc/lldb_yjit.py +++ /dev/null @@ -1,47 +0,0 @@ -#!/usr/bin/env python -#coding: utf-8 -# -# Usage: run `command script import -r misc/lldb_yjit.py` on LLDB -# - -from __future__ import print_function -import lldb -import os -import shlex - -def list_comments(debugger, command, result, internal_dict): - target = debugger.GetSelectedTarget() - process = target.GetProcess() - thread = process.GetSelectedThread() - frame = thread.GetSelectedFrame() - - # Get the different types we need - rb_darray_meta_t = target.FindFirstType("rb_darray_meta_t") - codeblock_t = target.FindFirstType("codeblock_t") - yjit_comment = target.FindFirstType("yjit_comment") - - # Get the global variables we need - comments = target.FindFirstGlobalVariable("yjit_code_comments") - cb = target.FindFirstGlobalVariable("cb").Cast(codeblock_t.GetPointerType()) - - # Get the address of the memory block we're using - mem_addr = cb.GetChildMemberWithName("mem_block").GetValueAsUnsigned() - - # Find the size of the darray comment list - meta = comments.Cast(rb_darray_meta_t.GetPointerType()) - size = meta.GetChildMemberWithName("size").GetValueAsUnsigned() - - # Get the address of the block following the metadata header - t_offset = comments.GetValueAsUnsigned() + rb_darray_meta_t.GetByteSize() - - # Loop through each comment and print - for t in range(0, size): - addr = lldb.SBAddress(t_offset + (t * yjit_comment.GetByteSize()), target) - comment = target.CreateValueFromAddress("yjit_comment", addr, yjit_comment) - string = comment.GetChildMemberWithName("comment") - comment_offset = mem_addr + comment.GetChildMemberWithName("offset").GetValueAsUnsigned() - print("%0#x %s" % (comment_offset, string.GetSummary()), file = result) - - -def __lldb_init_module(debugger, internal_dict): - debugger.HandleCommand("command script add -f lldb_yjit.list_comments lc") |