Improved assembler performance

This commit is contained in:
2025-03-11 06:31:21 +01:00
parent d2ad8c8310
commit e7a06f5b26
37 changed files with 412 additions and 166 deletions

View File

@ -15,12 +15,12 @@ func (a *Assembler) CanSkip(mnemonic Mnemonic, left cpu.Register, right cpu.Regi
last := a.Instructions[len(a.Instructions)-1]
if mnemonic == MOVE && last.Mnemonic == MOVE {
lastData, isRegReg := last.Data.(*RegisterRegister)
if !isRegReg {
if last.Type != TypeRegisterRegister {
return false
}
lastData := a.Param.RegisterRegister[last.Index]
if lastData.Destination == right && lastData.Source == left {
return true
}