diff options
author | Takashi Kokubun <takashikkbn@gmail.com> | 2022-08-23 13:46:43 -0700 |
---|---|---|
committer | Takashi Kokubun <takashikkbn@gmail.com> | 2022-08-29 09:09:41 -0700 |
commit | def3ade8a809a230648cdffbf4ab066b07fe7bf1 (patch) | |
tree | 8d976629754280b8bf0777a846a7267900cd0f1e /yjit/src/options.rs | |
parent | 54c7bc67a2d54311b77aca9233b23a9e7a1ca581 (diff) | |
download | ruby-def3ade8a809a230648cdffbf4ab066b07fe7bf1.tar.gz |
Add --yjit-dump-disasm to dump every compiled code (https://github.com/Shopify/ruby/pull/430)
* Add --yjit-dump-disasm to dump every compiled code
* Just use get_option
* Carve out disasm_from_addr
* Avoid push_str with format!
* Share the logic through asm.compile
* This seems to negatively impact the compilation speed
Diffstat (limited to 'yjit/src/options.rs')
-rw-r--r-- | yjit/src/options.rs | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/yjit/src/options.rs b/yjit/src/options.rs index 7436b3583b..2e141445f1 100644 --- a/yjit/src/options.rs +++ b/yjit/src/options.rs @@ -30,6 +30,9 @@ pub struct Options { /// Dump compiled and executed instructions for debugging pub dump_insns: bool, + /// Dump all compiled instructions in inlined CodeBlock + pub dump_disasm: bool, + /// Print when specific ISEQ items are compiled or invalidated pub dump_iseq_disasm: Option<String>, @@ -53,6 +56,7 @@ pub static mut OPTIONS: Options = Options { gen_stats: false, gen_trace_exits: false, dump_insns: false, + dump_disasm: false, verify_ctx: false, global_constant_state: false, dump_iseq_disasm: None, @@ -128,6 +132,7 @@ pub fn parse_option(str_ptr: *const std::os::raw::c_char) -> Option<()> { ("stats", "") => unsafe { OPTIONS.gen_stats = true }, ("trace-exits", "") => unsafe { OPTIONS.gen_trace_exits = true; OPTIONS.gen_stats = true }, ("dump-insns", "") => unsafe { OPTIONS.dump_insns = true }, + ("dump-disasm", "") => unsafe { OPTIONS.dump_disasm = true }, ("verify-ctx", "") => unsafe { OPTIONS.verify_ctx = true }, ("global-constant-state", "") => unsafe { OPTIONS.global_constant_state = true }, |