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

ruby-changes:73142

From: Maxime <ko1@a...>
Date: Tue, 30 Aug 2022 00:55:36 +0900 (JST)
Subject: [ruby-changes:73142] b8fc9909bf (master): Get rid of temporary context methods

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

From b8fc9909bfa18677d5ad2cb2535ca1f0537216e5 Mon Sep 17 00:00:00 2001
From: Maxime Chevalier-Boisvert <maxime.chevalierboisvert@s...>
Date: Wed, 15 Jun 2022 16:30:40 -0400
Subject: Get rid of temporary context methods

---
 yjit/src/backend/ir.rs    | 26 --------------------------
 yjit/src/backend/tests.rs |  4 ++--
 yjit/src/codegen.rs       | 18 +++++++++---------
 3 files changed, 11 insertions(+), 37 deletions(-)

diff --git a/yjit/src/backend/ir.rs b/yjit/src/backend/ir.rs
index f1146f152e..a441303d64 100644
--- a/yjit/src/backend/ir.rs
+++ b/yjit/src/backend/ir.rs
@@ -725,29 +725,3 @@ def_push_2_opnd_no_out!(cmp, Op::Cmp); https://github.com/ruby/ruby/blob/trunk/yjit/src/backend/ir.rs#L725
 def_push_2_opnd_no_out!(test, Op::Test);
 def_push_0_opnd_no_out!(breakpoint, Op::Breakpoint);
 def_push_2_opnd_no_out!(incr_counter, Op::IncrCounter);
-
-// NOTE: these methods are temporary and will likely move
-// to context.rs later
-// They are just wrappers to convert from X86Opnd into the IR Opnd type
-impl Context
-{
-    pub fn ir_sp_opnd(&mut self, idx: isize) -> Opnd {
-        self.sp_opnd(idx).into()
-    }
-
-    pub fn ir_stack_opnd(&mut self, idx: i32) -> Opnd {
-        self.stack_opnd(idx).into()
-    }
-
-    pub fn ir_stack_pop(&mut self, n: usize) -> Opnd {
-        self.stack_pop(n).into()
-    }
-
-    pub fn ir_stack_push(&mut self, val_type: Type) -> Opnd {
-        self.stack_push(val_type).into()
-    }
-
-    pub fn ir_stack_push_mapping(&mut self, (mapping, temp_type): (TempMapping, Type)) -> Opnd {
-        self.stack_push_mapping((mapping, temp_type)).into()
-    }
-}
diff --git a/yjit/src/backend/tests.rs b/yjit/src/backend/tests.rs
index afb4c42fa8..7b2f357455 100644
--- a/yjit/src/backend/tests.rs
+++ b/yjit/src/backend/tests.rs
@@ -12,10 +12,10 @@ fn gen_dup( https://github.com/ruby/ruby/blob/trunk/yjit/src/backend/tests.rs#L12
     ctx: &mut Context,
     asm: &mut Assembler,
 ) {
-    let dup_val = ctx.ir_stack_pop(0);
+    let dup_val = ctx.stack_pop(0);
     let (mapping, tmp_type) = ctx.get_opnd_mapping(StackOpnd(0));
 
-    let loc0 = ctx.ir_stack_push_mapping((mapping, tmp_type));
+    let loc0 = ctx.stack_push_mapping((mapping, tmp_type));
     asm.mov(loc0, dup_val);
 }
 
diff --git a/yjit/src/codegen.rs b/yjit/src/codegen.rs
index c1ed715f0f..b58caa0984 100644
--- a/yjit/src/codegen.rs
+++ b/yjit/src/codegen.rs
@@ -277,7 +277,7 @@ fn jit_save_pc(jit: &JITState, asm: &mut Assembler) { https://github.com/ruby/ruby/blob/trunk/yjit/src/codegen.rs#L277
 ///       which could invalidate memory operands
 fn gen_save_sp(jit: &JITState, asm: &mut Assembler, ctx: &mut Context) {
     if ctx.get_sp_offset() != 0 {
-        let stack_pointer = ctx.ir_sp_opnd(0);
+        let stack_pointer = ctx.sp_opnd(0);
         let sp_addr = asm.lea(stack_pointer);
         asm.mov(SP, sp_addr);
         let cfp_sp_opnd = Opnd::mem(64, CFP, RUBY_OFFSET_CFP_SP);
@@ -897,10 +897,10 @@ fn gen_dup( https://github.com/ruby/ruby/blob/trunk/yjit/src/codegen.rs#L897
     _ocb: &mut OutlinedCb,
 ) -> CodegenStatus {
 
-    let dup_val = ctx.ir_stack_pop(0);
+    let dup_val = ctx.stack_pop(0);
     let (mapping, tmp_type) = ctx.get_opnd_mapping(StackOpnd(0));
 
-    let loc0 = ctx.ir_stack_push_mapping((mapping, tmp_type));
+    let loc0 = ctx.stack_push_mapping((mapping, tmp_type));
     asm.mov(loc0, dup_val);
 
     KeepCompiling
@@ -924,16 +924,16 @@ fn gen_dupn( https://github.com/ruby/ruby/blob/trunk/yjit/src/codegen.rs#L924
         return CantCompile;
     }
 
-    let opnd1: Opnd = ctx.ir_stack_opnd(1);
-    let opnd0: Opnd = ctx.ir_stack_opnd(0);
+    let opnd1: Opnd = ctx.stack_opnd(1);
+    let opnd0: Opnd = ctx.stack_opnd(0);
 
     let mapping1 = ctx.get_opnd_mapping(StackOpnd(1));
     let mapping0 = ctx.get_opnd_mapping(StackOpnd(0));
 
-    let dst1: Opnd = ctx.ir_stack_push_mapping(mapping1);
+    let dst1: Opnd = ctx.stack_push_mapping(mapping1);
     asm.mov(dst1, opnd1);
 
-    let dst0: Opnd = ctx.ir_stack_push_mapping(mapping0);
+    let dst0: Opnd = ctx.stack_push_mapping(mapping0);
     asm.mov(dst0, opnd0);
 
     KeepCompiling
@@ -957,8 +957,8 @@ fn stack_swap( https://github.com/ruby/ruby/blob/trunk/yjit/src/codegen.rs#L957
     offset0: u16,
     offset1: u16,
 ) {
-    let stack0_mem = ctx.ir_stack_opnd(offset0 as i32);
-    let stack1_mem = ctx.ir_stack_opnd(offset1 as i32);
+    let stack0_mem = ctx.stack_opnd(offset0 as i32);
+    let stack1_mem = ctx.stack_opnd(offset1 as i32);
 
     let mapping0 = ctx.get_opnd_mapping(StackOpnd(offset0));
     let mapping1 = ctx.get_opnd_mapping(StackOpnd(offset1));
-- 
cgit v1.2.1


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

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