ruby-changes:73112
From: Maxime <ko1@a...>
Date: Tue, 30 Aug 2022 00:51:37 +0900 (JST)
Subject: [ruby-changes:73112] 151cc55baa (master): Fix issue with load, gen_dup
https://git.ruby-lang.org/ruby.git/commit/?id=151cc55baa From 151cc55baa8d73969a57228d3a18458e5fe663ed Mon Sep 17 00:00:00 2001 From: Maxime Chevalier-Boisvert <maxime.chevalierboisvert@s...> Date: Thu, 19 May 2022 16:17:09 -0400 Subject: Fix issue with load, gen_dup --- yjit/src/backend/x86_64/mod.rs | 17 ++++++++--------- yjit/src/codegen.rs | 16 +++++++--------- 2 files changed, 15 insertions(+), 18 deletions(-) diff --git a/yjit/src/backend/x86_64/mod.rs b/yjit/src/backend/x86_64/mod.rs index 65259a72f6..03da5e4d10 100644 --- a/yjit/src/backend/x86_64/mod.rs +++ b/yjit/src/backend/x86_64/mod.rs @@ -98,14 +98,13 @@ impl Assembler https://github.com/ruby/ruby/blob/trunk/yjit/src/backend/x86_64/mod.rs#L98 Op::Label => {}, - Op::Add => add(cb, insn.opnds[0].into(), insn.opnds[1].into()), - - /* - Load - Store, - */ + Op::Add => { + assert_eq!(insn.out, insn.opnds[0]); + add(cb, insn.opnds[0].into(), insn.opnds[1].into()) + }, - Op::Load => add(cb, insn.out.into(), insn.opnds[0].into()), + Op::Load => mov(cb, insn.out.into(), insn.opnds[0].into()), + //Store Op::Mov => mov(cb, insn.opnds[0].into(), insn.opnds[1].into()), // Test and set flags @@ -125,10 +124,10 @@ impl Assembler https://github.com/ruby/ruby/blob/trunk/yjit/src/backend/x86_64/mod.rs#L124 // Optimize and compile the stored instructions pub fn compile_with_regs(self, cb: &mut CodeBlock, regs: Vec<Reg>) { - dbg!(self + self .target_split() .split_loads() - .alloc_regs(regs)) + .alloc_regs(regs) .target_emit(cb); } } diff --git a/yjit/src/codegen.rs b/yjit/src/codegen.rs index 28a2e6ca34..1799036e46 100644 --- a/yjit/src/codegen.rs +++ b/yjit/src/codegen.rs @@ -3,6 +3,7 @@ https://github.com/ruby/ruby/blob/trunk/yjit/src/codegen.rs#L3 use crate::asm::x86_64::*; use crate::asm::*; +use crate::backend::ir::*; use crate::core::*; use crate::cruby::*; use crate::invariants::*; @@ -885,6 +886,10 @@ fn gen_pop( https://github.com/ruby/ruby/blob/trunk/yjit/src/codegen.rs#L886 KeepCompiling } + + + +/* fn gen_dup( _jit: &mut JITState, ctx: &mut Context, @@ -900,17 +905,10 @@ fn gen_dup( https://github.com/ruby/ruby/blob/trunk/yjit/src/codegen.rs#L905 KeepCompiling } - - - - - - - -use crate::backend::ir::*; +*/ #[allow(dead_code)] -fn gen_dup_ir( +fn gen_dup( _jit: &mut JITState, ctx: &mut Context, cb: &mut CodeBlock, -- cgit v1.2.1 -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/