Minor optimization on FOR when assignment and loop var is the same

This commit is contained in:
Mattias Hansson 2025-11-27 16:25:33 +01:00
parent 23a721217d
commit 22e6759409

View file

@ -234,6 +234,11 @@ func (c *ForCommand) Generate(ctx *compiler.CompilerContext) ([]string, error) {
func (c *ForCommand) generateAssignment() []string {
var asm []string
// If startOp is also the iterator (varName) no need to load it.
if c.startOp.IsVar && c.startOp.VarName == c.varName {
return asm
}
// Variable assignment from startOp
if c.startOp.IsVar {
// Destination: byte