summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStan Lo <stan.lo@shopify.com>2025-09-10 21:37:17 +0100
committerGitHub <noreply@github.com>2025-09-10 13:37:17 -0700
commit23c60e185ea7e74f0eebc27119184fb1ed844856 (patch)
tree32c7db618ad041f9e28c6fe8c206a8f1f66f3ee4
parent399e2abc4380857134af9f0b037a4723157d14de (diff)
YJIT: Tiny refactors (#14505)
Addressed some suggestions from clippy that made sense to me.
-rw-r--r--yjit/src/asm/mod.rs4
-rw-r--r--yjit/src/backend/ir.rs2
-rw-r--r--yjit/src/core.rs2
-rw-r--r--yjit/src/utils.rs5
4 files changed, 5 insertions, 8 deletions
diff --git a/yjit/src/asm/mod.rs b/yjit/src/asm/mod.rs
index ebdc205da9..9ef675b34d 100644
--- a/yjit/src/asm/mod.rs
+++ b/yjit/src/asm/mod.rs
@@ -441,12 +441,12 @@ impl CodeBlock {
// Ignore empty code ranges
if start_addr == end_addr {
- return (0..0).into_iter();
+ return 0..0;
}
let start_page = (start_addr.raw_addr(self) - mem_start) / self.page_size;
let end_page = (end_addr.raw_addr(self) - mem_start - 1) / self.page_size;
- (start_page..end_page + 1).into_iter()
+ start_page..end_page + 1
}
/// Get a (possibly dangling) direct pointer to the current write position
diff --git a/yjit/src/backend/ir.rs b/yjit/src/backend/ir.rs
index b704a24985..40df3ae4d5 100644
--- a/yjit/src/backend/ir.rs
+++ b/yjit/src/backend/ir.rs
@@ -1602,7 +1602,7 @@ impl Assembler
if c_args.len() > 0 {
// Resolve C argument dependencies
let c_args_len = c_args.len() as isize;
- let moves = Self::reorder_reg_moves(&c_args.drain(..).into_iter().collect());
+ let moves = Self::reorder_reg_moves(&c_args.drain(..).collect());
shift_live_ranges(&mut shifted_live_ranges, asm.insns.len(), moves.len() as isize - c_args_len);
// Push batched C arguments
diff --git a/yjit/src/core.rs b/yjit/src/core.rs
index f8c80c0c86..cfe55b8c76 100644
--- a/yjit/src/core.rs
+++ b/yjit/src/core.rs
@@ -1099,7 +1099,7 @@ impl Context {
MapToLocal(local_idx) => {
bits.push_op(CtxOp::MapTempLocal);
bits.push_u3(stack_idx as u8);
- bits.push_u3(local_idx as u8);
+ bits.push_u3(local_idx);
}
MapToSelf => {
diff --git a/yjit/src/utils.rs b/yjit/src/utils.rs
index 8c4133546d..43fd90142f 100644
--- a/yjit/src/utils.rs
+++ b/yjit/src/utils.rs
@@ -92,10 +92,7 @@ pub fn ruby_str_to_rust(v: VALUE) -> String {
let str_ptr = unsafe { rb_RSTRING_PTR(v) } as *mut u8;
let str_len: usize = unsafe { rb_RSTRING_LEN(v) }.try_into().unwrap();
let str_slice: &[u8] = unsafe { slice::from_raw_parts(str_ptr, str_len) };
- match String::from_utf8(str_slice.to_vec()) {
- Ok(utf8) => utf8,
- Err(_) => String::new(),
- }
+ String::from_utf8(str_slice.to_vec()).unwrap_or_default()
}
// Location is the file defining the method, colon, method name.