Skip to content

Commit 67ef404

Browse files
committed
fix bug
1 parent d89cfd8 commit 67ef404

File tree

1 file changed

+3
-7
lines changed

1 file changed

+3
-7
lines changed

src/prometheus/compiler/compiler.lua

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1277,7 +1277,7 @@ function Compiler:compileStatement(statement, funcDepth)
12771277
self:addStatement(self:setRegister(scope, tmpReg, Ast.IndexExpression(self:register(scope, baseReg), self:register(scope, tmpReg))), {tmpReg}, {tmpReg, baseReg}, false);
12781278

12791279
self:addStatement(self:setRegister(scope, tmpReg, Ast.FunctionCallExpression(self:register(scope, tmpReg), args)), {tmpReg}, {tmpReg, unpack(regs)}, true);
1280-
self:freeRegister(baseReg, false);
1280+
12811281
self:freeRegister(tmpReg, false);
12821282
for i, reg in ipairs(regs) do
12831283
self:freeRegister(reg, false);
@@ -2004,9 +2004,6 @@ function Compiler:compileExpression(expression, funcDepth, numReturns)
20042004
end
20052005
end
20062006

2007-
2008-
2009-
20102007
self:freeRegister(baseReg, false);
20112008
for i, reg in ipairs(regs) do
20122009
self:freeRegister(reg, false);
@@ -2052,9 +2049,9 @@ function Compiler:compileExpression(expression, funcDepth, numReturns)
20522049
self:addStatement(self:setRegister(scope, tmpReg, Ast.IndexExpression(self:register(scope, baseReg), self:register(scope, tmpReg))), {tmpReg}, {baseReg, tmpReg}, false);
20532050

20542051
if returnAll then
2055-
self:addStatement(self:setRegister(scope, retRegs[1], Ast.TableConstructorExpression{Ast.TableEntry(Ast.FunctionCallExpression(self:register(scope, tmpReg), args))}), {retRegs[1]}, {baseReg, unpack(regs)}, true);
2052+
self:addStatement(self:setRegister(scope, retRegs[1], Ast.TableConstructorExpression{Ast.TableEntry(Ast.FunctionCallExpression(self:register(scope, tmpReg), args))}), {retRegs[1]}, {tmpReg, unpack(regs)}, true);
20562053
else
2057-
self:addStatement(self:setRegister(scope, tmpReg, Ast.TableConstructorExpression{Ast.TableEntry(Ast.FunctionCallExpression(self:register(scope, tmpReg), args))}), {tmpReg}, {baseReg, unpack(regs)}, true);
2054+
self:addStatement(self:setRegister(scope, tmpReg, Ast.TableConstructorExpression{Ast.TableEntry(Ast.FunctionCallExpression(self:register(scope, tmpReg), args))}), {tmpReg}, {tmpReg, unpack(regs)}, true);
20582055

20592056
for i, reg in ipairs(retRegs) do
20602057
self:addStatement(self:setRegister(scope, reg, Ast.IndexExpression(self:register(scope, tmpReg), Ast.NumberExpression(i))), {reg}, {tmpReg}, false);
@@ -2071,7 +2068,6 @@ function Compiler:compileExpression(expression, funcDepth, numReturns)
20712068
self:addStatement(self:setRegister(scope, retRegs[1], Ast.FunctionCallExpression(self:register(scope, tmpReg), args)), {retRegs[1]}, {baseReg, unpack(regs)}, true);
20722069
end
20732070

2074-
self:freeRegister(baseReg, false);
20752071
for i, reg in ipairs(regs) do
20762072
self:freeRegister(reg, false);
20772073
end

0 commit comments

Comments
 (0)