diff options
author | Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com> | 2021-01-25 15:28:49 -0500 |
---|---|---|
committer | Alan Wu <XrXr@users.noreply.github.com> | 2021-10-20 18:19:27 -0400 |
commit | 63e85de33a6b3cf4dbb2f7873c968576e201f0b6 (patch) | |
tree | 368b929b60c22ae54bdfc94cb96b44045a7a5215 /ujit_iface.c | |
parent | b0b1bc1684a845ae07df474f6a7e86ada501dadf (diff) |
Fix bug, block added with wrong blockid.
Diffstat (limited to 'ujit_iface.c')
-rw-r--r-- | ujit_iface.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/ujit_iface.c b/ujit_iface.c index 7c553f4b3c..3eb134a3bc 100644 --- a/ujit_iface.c +++ b/ujit_iface.c @@ -329,7 +329,7 @@ ujit_install_entry(VALUE mod, VALUE iseq) return iseq; } -/* Get the address of the UJIT::Block */ +/* Get the address of the the code associated with a UJIT::Block */ static VALUE block_address(VALUE self) { @@ -425,21 +425,23 @@ rb_ujit_init(void) ujit_init_core(); ujit_init_codegen(); + // UJIT Ruby module VALUE mUjit = rb_define_module("UJIT"); rb_define_module_function(mUjit, "install_entry", ujit_install_entry, 1); rb_define_module_function(mUjit, "blocks_for", ujit_blocks_for, 1); + // UJIT::Block (block version, code block) cUjitBlock = rb_define_class_under(mUjit, "Block", rb_cObject); rb_define_method(cUjitBlock, "address", block_address, 0); rb_define_method(cUjitBlock, "code", block_code, 0); rb_define_method(cUjitBlock, "iseq_start_index", iseq_start_index, 0); rb_define_method(cUjitBlock, "iseq_end_index", iseq_end_index, 0); + // UJIT disassembler interface #if HAVE_LIBCAPSTONE cUjitDisasm = rb_define_class_under(mUjit, "Disasm", rb_cObject); rb_define_alloc_func(cUjitDisasm, ujit_disasm_init); rb_define_method(cUjitDisasm, "disasm", ujit_disasm, 2); - cUjitDisasmInsn = rb_struct_define_under(cUjitDisasm, "Insn", "address", "mnemonic", "op_str", NULL); #endif |