diff options
author | Alan Wu <XrXr@users.noreply.github.com> | 2022-10-19 14:03:07 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-10-19 14:03:07 -0400 |
commit | 5ca23caa2057fc4760fbefab6087371b11c4bc6c (patch) | |
tree | b0456a0c659205843eb6d49693e7e823fc75f307 | |
parent | bc939d293768acf9a21568ebe738b8fe5981038f (diff) |
YJIT: fold the "asm_comments" feature into "disasm" (#6591)
Previously, enabling only "disasm" didn't actually build. Since these
two features are closely related and we don't really use one without the
other, let's simplify and merge the two features together.
Notes
Notes:
Merged-By: maximecb <maximecb@ruby-lang.org>
-rw-r--r-- | configure.ac | 4 | ||||
-rw-r--r-- | yjit/Cargo.toml | 1 | ||||
-rw-r--r-- | yjit/src/asm/mod.rs | 12 | ||||
-rw-r--r-- | yjit/src/asm/x86_64/tests.rs | 2 | ||||
-rw-r--r-- | yjit/src/backend/arm64/mod.rs | 2 | ||||
-rw-r--r-- | yjit/src/backend/x86_64/mod.rs | 2 | ||||
-rw-r--r-- | yjit/src/cruby.rs | 2 |
7 files changed, 12 insertions, 13 deletions
diff --git a/configure.ac b/configure.ac index 93141dcd9e..0e22aabbe5 100644 --- a/configure.ac +++ b/configure.ac @@ -3754,12 +3754,12 @@ AS_CASE(["${YJIT_SUPPORT}"], ], [dev], [ rb_rust_target_subdir=debug - CARGO_BUILD_ARGS='--features stats,disasm,asm_comments' + CARGO_BUILD_ARGS='--features stats,disasm' AC_DEFINE(RUBY_DEBUG, 1) ], [dev_nodebug], [ rb_rust_target_subdir=dev_nodebug - CARGO_BUILD_ARGS='--profile dev_nodebug --features stats,disasm,asm_comments' + CARGO_BUILD_ARGS='--profile dev_nodebug --features stats,disasm' ], [stats], [ rb_rust_target_subdir=stats diff --git a/yjit/Cargo.toml b/yjit/Cargo.toml index 4641de205f..858751b1f6 100644 --- a/yjit/Cargo.toml +++ b/yjit/Cargo.toml @@ -22,7 +22,6 @@ capstone = { version = "0.10.0", optional = true } # For debugging, `make V=1` shows exact cargo invocation. disasm = ["capstone"] stats = [] -asm_comments = [] [profile.dev] opt-level = 0 diff --git a/yjit/src/asm/mod.rs b/yjit/src/asm/mod.rs index 6fce8384c6..271f11defc 100644 --- a/yjit/src/asm/mod.rs +++ b/yjit/src/asm/mod.rs @@ -8,7 +8,7 @@ use crate::backend::x86_64::JMP_PTR_BYTES; use crate::backend::arm64::JMP_PTR_BYTES; use crate::virtualmem::WriteError; -#[cfg(feature = "asm_comments")] +#[cfg(feature = "disasm")] use std::collections::BTreeMap; use crate::codegen::CodegenGlobals; @@ -69,7 +69,7 @@ pub struct CodeBlock { label_refs: Vec<LabelRef>, // Comments for assembly instructions, if that feature is enabled - #[cfg(feature = "asm_comments")] + #[cfg(feature = "disasm")] asm_comments: BTreeMap<usize, Vec<String>>, // True for OutlinedCb @@ -101,7 +101,7 @@ impl CodeBlock { label_addrs: Vec::new(), label_names: Vec::new(), label_refs: Vec::new(), - #[cfg(feature = "asm_comments")] + #[cfg(feature = "disasm")] asm_comments: BTreeMap::new(), outlined, dropped_bytes: false, @@ -239,7 +239,7 @@ impl CodeBlock { /// Add an assembly comment if the feature is on. /// If not, this becomes an inline no-op. - #[cfg(feature = "asm_comments")] + #[cfg(feature = "disasm")] pub fn add_comment(&mut self, comment: &str) { let cur_ptr = self.get_write_ptr().into_usize(); @@ -251,11 +251,11 @@ impl CodeBlock { this_line_comments.push(comment.to_string()); } } - #[cfg(not(feature = "asm_comments"))] + #[cfg(not(feature = "disasm"))] #[inline] pub fn add_comment(&mut self, _: &str) {} - #[cfg(feature = "asm_comments")] + #[cfg(feature = "disasm")] pub fn comments_at(&self, pos: usize) -> Option<&Vec<String>> { self.asm_comments.get(&pos) } diff --git a/yjit/src/asm/x86_64/tests.rs b/yjit/src/asm/x86_64/tests.rs index 92691803a3..57cc080710 100644 --- a/yjit/src/asm/x86_64/tests.rs +++ b/yjit/src/asm/x86_64/tests.rs @@ -413,7 +413,7 @@ fn basic_capstone_usage() -> std::result::Result<(), capstone::Error> { } #[test] -#[cfg(feature = "asm_comments")] +#[cfg(feature = "disasm")] fn block_comments() { let mut cb = super::CodeBlock::new_dummy(4096); diff --git a/yjit/src/backend/arm64/mod.rs b/yjit/src/backend/arm64/mod.rs index 5df072ed38..7aeb1435d2 100644 --- a/yjit/src/backend/arm64/mod.rs +++ b/yjit/src/backend/arm64/mod.rs @@ -724,7 +724,7 @@ impl Assembler match insn { Insn::Comment(text) => { - if cfg!(feature = "asm_comments") { + if cfg!(feature = "disasm") { cb.add_comment(text); } }, diff --git a/yjit/src/backend/x86_64/mod.rs b/yjit/src/backend/x86_64/mod.rs index c8aa1a0ed5..ac5ac0fff4 100644 --- a/yjit/src/backend/x86_64/mod.rs +++ b/yjit/src/backend/x86_64/mod.rs @@ -388,7 +388,7 @@ impl Assembler match insn { Insn::Comment(text) => { - if cfg!(feature = "asm_comments") { + if cfg!(feature = "disasm") { cb.add_comment(text); } }, diff --git a/yjit/src/cruby.rs b/yjit/src/cruby.rs index f31390fc57..d3e4ba4757 100644 --- a/yjit/src/cruby.rs +++ b/yjit/src/cruby.rs @@ -510,7 +510,7 @@ impl From<VALUE> for u16 { } /// Produce a Ruby string from a Rust string slice -#[cfg(feature = "asm_comments")] +#[cfg(feature = "disasm")] pub fn rust_str_to_ruby(str: &str) -> VALUE { unsafe { rb_utf8_str_new(str.as_ptr() as *const _, str.len() as i64) } } |