[Libreoffice-commits] core.git: Branch 'feature/calc-parallel' - 3 commits - sc/source
Tor Lillqvist
tml at collabora.com
Mon Oct 16 15:46:55 UTC 2017
sc/source/core/data/formulacell.cxx | 2 +-
sc/source/core/tool/token.cxx | 2 ++
2 files changed, 3 insertions(+), 1 deletion(-)
New commits:
commit 05934bd862e74dd420b6b5d691ce0d712509c4fd
Author: Tor Lillqvist <tml at collabora.com>
Date: Mon Oct 16 18:40:51 2017 +0300
Add OFFSET to blacklist for threaded calculation
Change-Id: Ia1aaf40aa4e8e6f41ca190272365528bf37bf130
diff --git a/sc/source/core/tool/token.cxx b/sc/source/core/tool/token.cxx
index fd0adcb030b3..ec8f67b4b980 100644
--- a/sc/source/core/tool/token.cxx
+++ b/sc/source/core/tool/token.cxx
@@ -1341,6 +1341,7 @@ void ScTokenArray::CheckToken( const FormulaToken& r )
static const std::set<OpCode> aThreadedCalcBlackList({
ocIndirect,
ocMacro,
+ ocOffset,
ocTableOp
});
commit 4a781ce705bd47d0a91b3da404da4a601f845791
Author: Tor Lillqvist <tml at collabora.com>
Date: Mon Oct 16 18:31:07 2017 +0300
Add INDIRECT to blacklist for threaded calculation
Change-Id: I9a2066c396802551c3eda2c8db32b6d1a4171dfd
diff --git a/sc/source/core/tool/token.cxx b/sc/source/core/tool/token.cxx
index bbd6063dfff8..fd0adcb030b3 100644
--- a/sc/source/core/tool/token.cxx
+++ b/sc/source/core/tool/token.cxx
@@ -1339,6 +1339,7 @@ bool ScTokenArray::AddFormulaToken(
void ScTokenArray::CheckToken( const FormulaToken& r )
{
static const std::set<OpCode> aThreadedCalcBlackList({
+ ocIndirect,
ocMacro,
ocTableOp
});
commit 343f3455ca0686eca392102155af343e52354794
Author: Tor Lillqvist <tml at collabora.com>
Date: Mon Oct 16 18:28:24 2017 +0300
Check whether ScTokenArray::CheckToken() has disabled threading of the group
Otherwise the aThreadedCalcBlackList check in CheckToken() has no
effect, we would still attempt the threaded code path.
Change-Id: I08dc2dd174459615ab8a11dbb819e39fc5437d10
diff --git a/sc/source/core/data/formulacell.cxx b/sc/source/core/data/formulacell.cxx
index 36c941fed7f3..f8704821588a 100644
--- a/sc/source/core/data/formulacell.cxx
+++ b/sc/source/core/data/formulacell.cxx
@@ -4345,7 +4345,7 @@ bool ScFormulaCell::InterpretFormulaGroup()
return false;
}
- if (!bThreadingProhibited && !ScCalcConfig::isOpenCLEnabled() && officecfg::Office::Calc::Formula::Calculation::UseThreadedCalculationForFormulaGroups::get())
+ if (!bThreadingProhibited && !ScCalcConfig::isOpenCLEnabled() && pCode->GetVectorState() != FormulaVectorDisabledNotInSubSet && officecfg::Office::Calc::Formula::Calculation::UseThreadedCalculationForFormulaGroups::get())
{
// iterate over code in the formula ...
// ensure all input is pre-calculated -
More information about the Libreoffice-commits
mailing list