[前][次][番号順一覧][スレッド一覧]

ruby-changes:73147

From: Maxime <ko1@a...>
Date: Tue, 30 Aug 2022 00:55:39 +0900 (JST)
Subject: [ruby-changes:73147] 67de662c44 (master): Add Opnd.rm_num_bits() method

https://git.ruby-lang.org/ruby.git/commit/?id=67de662c44

From 67de662c4419d4d115f40f8d3ed0c295b581dcf0 Mon Sep 17 00:00:00 2001
From: Maxime Chevalier-Boisvert <maxime.chevalierboisvert@s...>
Date: Thu, 16 Jun 2022 15:34:17 -0400
Subject: Add Opnd.rm_num_bits() method

---
 yjit/src/backend/ir.rs | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/yjit/src/backend/ir.rs b/yjit/src/backend/ir.rs
index a441303d64..785ea7a9aa 100644
--- a/yjit/src/backend/ir.rs
+++ b/yjit/src/backend/ir.rs
@@ -175,17 +175,27 @@ impl Opnd https://github.com/ruby/ruby/blob/trunk/yjit/src/backend/ir.rs#L175
         }
     }
 
-    /// Constant pointer operand
+    /// Constructor for constant pointer operand
     pub fn const_ptr(ptr: *const u8) -> Self {
         Opnd::UImm(ptr as u64)
     }
 
+    /// Unwrap a register operand
     pub fn unwrap_reg(&self) -> Reg {
         match self {
             Opnd::Reg(reg) => *reg,
             _ => unreachable!("trying to unwrap {:?} into reg", self)
         }
     }
+
+    /// Get the size in bits for register/memory operands
+    pub fn rm_num_bits(&self) -> u8 {
+        match self {
+            Opnd::Reg(reg) => reg.num_bits,
+            Opnd::Mem(mem) => mem.num_bits,
+            _ => unreachable!()
+        }
+    }
 }
 
 impl From<usize> for Opnd {
-- 
cgit v1.2.1


--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]