Skip to content

Commit

Permalink
YJIT: fold the "asm_comments" feature into "disasm" (#6591)
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
XrXr committed Oct 19, 2022
1 parent bc939d2 commit 5ca23ca
Show file tree
Hide file tree
Showing 7 changed files with 12 additions and 13 deletions.
4 changes: 2 additions & 2 deletions configure.ac
Expand Up @@ -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
Expand Down
1 change: 0 additions & 1 deletion yjit/Cargo.toml
Expand Up @@ -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
Expand Down
12 changes: 6 additions & 6 deletions yjit/src/asm/mod.rs
Expand Up @@ -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;
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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,
Expand Down Expand Up @@ -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();

Expand All @@ -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)
}
Expand Down
2 changes: 1 addition & 1 deletion yjit/src/asm/x86_64/tests.rs
Expand Up @@ -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);

Expand Down
2 changes: 1 addition & 1 deletion yjit/src/backend/arm64/mod.rs
Expand Up @@ -724,7 +724,7 @@ impl Assembler

match insn {
Insn::Comment(text) => {
if cfg!(feature = "asm_comments") {
if cfg!(feature = "disasm") {
cb.add_comment(text);
}
},
Expand Down
2 changes: 1 addition & 1 deletion yjit/src/backend/x86_64/mod.rs
Expand Up @@ -388,7 +388,7 @@ impl Assembler

match insn {
Insn::Comment(text) => {
if cfg!(feature = "asm_comments") {
if cfg!(feature = "disasm") {
cb.add_comment(text);
}
},
Expand Down
2 changes: 1 addition & 1 deletion yjit/src/cruby.rs
Expand Up @@ -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) }
}
Expand Down

0 comments on commit 5ca23ca

Please sign in to comment.