summaryrefslogtreecommitdiff
path: root/yjit/src/disasm.rs
diff options
context:
space:
mode:
authorNoah Gibbs <[email protected]>2022-07-20 15:56:13 +0100
committerTakashi Kokubun <[email protected]>2022-08-29 08:47:02 -0700
commitf5f58d82834cf84fe15dd1b28754923404a9fc75 (patch)
tree174dd6882831ee517047bb0ded4d5d6f6f40308c /yjit/src/disasm.rs
parentcbf7a7cd23e03c47274ed2755ef5ba1ca099bd50 (diff)
Update disasm to work on ARM (https://github.com/Shopify/ruby/pull/331)
Diffstat (limited to 'yjit/src/disasm.rs')
-rw-r--r--yjit/src/disasm.rs9
1 files changed, 9 insertions, 0 deletions
diff --git a/yjit/src/disasm.rs b/yjit/src/disasm.rs
index 83c80d6c66..62b270bce9 100644
--- a/yjit/src/disasm.rs
+++ b/yjit/src/disasm.rs
@@ -69,6 +69,8 @@ pub fn disasm_iseq_insn_range(iseq: IseqPtr, start_idx: u32, end_idx: u32) -> St
// Initialize capstone
use capstone::prelude::*;
+
+ #[cfg(target_arch = "x86_64")]
let cs = Capstone::new()
.x86()
.mode(arch::x86::ArchMode::Mode64)
@@ -76,6 +78,13 @@ pub fn disasm_iseq_insn_range(iseq: IseqPtr, start_idx: u32, end_idx: u32) -> St
.build()
.unwrap();
+ #[cfg(target_arch = "aarch64")]
+ let cs = Capstone::new()
+ .arm64()
+ .mode(arch::arm64::ArchMode::Arm)
+ .build()
+ .unwrap();
+
out.push_str(&format!("NUM BLOCK VERSIONS: {}\n", block_list.len()));
out.push_str(&format!(
"TOTAL INLINE CODE SIZE: {} bytes\n",