Simplified Evaluate function
This commit is contained in:
parent
da6dcc4433
commit
891b4d9f90
15 changed files with 98 additions and 96 deletions
|
@ -59,7 +59,7 @@ func (f *Function) CompileAssignDivision(expr *expression.Expression) error {
|
|||
}
|
||||
|
||||
dividendExpr := right.Children[0]
|
||||
dividend, isTemporary, err := f.Evaluate(dividendExpr)
|
||||
dividend, err := f.Evaluate(dividendExpr)
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
|
@ -73,10 +73,6 @@ func (f *Function) CompileAssignDivision(expr *expression.Expression) error {
|
|||
err = f.Execute(right.Token, dividend.Register, divisor)
|
||||
f.RegisterRegister(asm.MOVE, quotientVariable.Register, x86.RAX)
|
||||
f.RegisterRegister(asm.MOVE, remainderVariable.Register, x86.RDX)
|
||||
|
||||
if isTemporary {
|
||||
f.FreeRegister(dividend.Register)
|
||||
}
|
||||
|
||||
f.FreeRegister(dividend.Register)
|
||||
return err
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue