修改标识符
This commit is contained in:
parent
de21808c2c
commit
d4c8aea05f
@ -2,7 +2,10 @@ package org.jcnc.snow.compiler.backend;
|
|||||||
|
|
||||||
import org.jcnc.snow.compiler.ir.core.IRFunction;
|
import org.jcnc.snow.compiler.ir.core.IRFunction;
|
||||||
import org.jcnc.snow.compiler.ir.core.IRInstruction;
|
import org.jcnc.snow.compiler.ir.core.IRInstruction;
|
||||||
import org.jcnc.snow.compiler.ir.instruction.*;
|
import org.jcnc.snow.compiler.ir.instruction.BinaryOperationInstruction;
|
||||||
|
import org.jcnc.snow.compiler.ir.instruction.LoadConstInstruction;
|
||||||
|
import org.jcnc.snow.compiler.ir.instruction.ReturnInstruction;
|
||||||
|
import org.jcnc.snow.compiler.ir.instruction.UnaryOperationInstruction;
|
||||||
import org.jcnc.snow.compiler.ir.value.IRConstant;
|
import org.jcnc.snow.compiler.ir.value.IRConstant;
|
||||||
import org.jcnc.snow.compiler.ir.value.IRVirtualRegister;
|
import org.jcnc.snow.compiler.ir.value.IRVirtualRegister;
|
||||||
import org.jcnc.snow.vm.engine.VMOpCode;
|
import org.jcnc.snow.vm.engine.VMOpCode;
|
||||||
@ -27,7 +30,9 @@ public final class VMCodeGenerator {
|
|||||||
this.slotMap = slotMap;
|
this.slotMap = slotMap;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 主入口:IR → 指令序列 */
|
/**
|
||||||
|
* 主入口:IR → 指令序列
|
||||||
|
*/
|
||||||
public List<String> generate(IRFunction fn) {
|
public List<String> generate(IRFunction fn) {
|
||||||
currentFnName = fn.name(); // ← 保存函数名
|
currentFnName = fn.name(); // ← 保存函数名
|
||||||
|
|
||||||
|
|||||||
@ -14,10 +14,14 @@ import java.util.List;
|
|||||||
* 将字面量常量 k 加载到目标虚拟寄存器 dest 中,以便后续指令使用该常量值。
|
* 将字面量常量 k 加载到目标虚拟寄存器 dest 中,以便后续指令使用该常量值。
|
||||||
*/
|
*/
|
||||||
public final class LoadConstInstruction extends IRInstruction {
|
public final class LoadConstInstruction extends IRInstruction {
|
||||||
/** 要加载的常量值 */
|
/**
|
||||||
|
* 要加载的常量值
|
||||||
|
*/
|
||||||
private final IRConstant k;
|
private final IRConstant k;
|
||||||
|
|
||||||
/** 存放常量的目标虚拟寄存器 */
|
/**
|
||||||
|
* 存放常量的目标虚拟寄存器
|
||||||
|
*/
|
||||||
private final IRVirtualRegister dest;
|
private final IRVirtualRegister dest;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user