[Libreoffice-commits] core.git: sc/source
Michael Meeks
michael.meeks at collabora.com
Wed Nov 22 21:08:30 UTC 2017
sc/source/core/tool/interpr4.cxx | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
New commits:
commit df755b1b39fd501b18a513c342f4104dea7eaee8
Author: Michael Meeks <michael.meeks at collabora.com>
Date: Tue Nov 21 17:15:23 2017 +0000
Avoid using the hideous std::stack -> deque inside ::Interpret
dequeue loves to allocate and free memory crazily, vector is much saner.
Change-Id: Idcd2c1d693594f280ce94423161651502f25dc2d
Reviewed-on: https://gerrit.libreoffice.org/45086
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Julien Nabet <serval2412 at yahoo.fr>
Reviewed-by: Michael Meeks <michael.meeks at collabora.com>
Tested-by: Michael Meeks <michael.meeks at collabora.com>
diff --git a/sc/source/core/tool/interpr4.cxx b/sc/source/core/tool/interpr4.cxx
index 28f14137f077..67052e8906d4 100644
--- a/sc/source/core/tool/interpr4.cxx
+++ b/sc/source/core/tool/interpr4.cxx
@@ -3959,7 +3959,7 @@ StackVar ScInterpreter::Interpret()
sal_uLong nRetIndexExpr = 0;
sal_uInt16 nErrorFunction = 0;
sal_uInt16 nErrorFunctionCount = 0;
- std::stack<sal_uInt16> aErrorFunctionStack;
+ std::vector<sal_uInt16> aErrorFunctionStack;
sal_uInt16 nStackBase;
nGlobalError = FormulaError::NONE;
@@ -4522,15 +4522,15 @@ StackVar ScInterpreter::Interpret()
if ( nLevel == 1 || (nLevel == 2 && aCode.IsEndOfPath()) )
{
if (nLevel == 1)
- aErrorFunctionStack.push( nErrorFunction);
+ aErrorFunctionStack.push_back( nErrorFunction);
bGotResult = JumpMatrix( nLevel );
if (aErrorFunctionStack.empty())
assert(!"ScInterpreter::Interpret - aErrorFunctionStack empty in JumpMatrix context");
else
{
- nErrorFunction = aErrorFunctionStack.top();
+ nErrorFunction = aErrorFunctionStack.back();
if (bGotResult)
- aErrorFunctionStack.pop();
+ aErrorFunctionStack.pop_back();
}
}
else
More information about the Libreoffice-commits
mailing list