From f537e28389c33a300eeeefca31f87e5caeebc050 Mon Sep 17 00:00:00 2001 From: Erik Krogh Kristensen Date: Wed, 11 Dec 2019 15:19:30 +0100 Subject: [PATCH] add pragma to internalBlocks predicate to fix performance --- javascript/ql/src/semmle/javascript/dataflow/Configuration.qll | 1 + .../ql/src/semmle/javascript/security/dataflow/ExceptionXss.qll | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/javascript/ql/src/semmle/javascript/dataflow/Configuration.qll b/javascript/ql/src/semmle/javascript/dataflow/Configuration.qll index 9e61c627cdf..5bfa41463b3 100644 --- a/javascript/ql/src/semmle/javascript/dataflow/Configuration.qll +++ b/javascript/ql/src/semmle/javascript/dataflow/Configuration.qll @@ -303,6 +303,7 @@ abstract class BarrierGuardNode extends DataFlow::Node { * * INTERNAL: this predicate should only be used from within `blocks(boolean, Expr)`. */ + pragma[noinline,nomagic] predicate internalBlocks(DataFlow::Node nd, string label) { // 1) `nd` is a use of a refinement node that blocks its input variable exists(SsaRefinementNode ref, boolean outcome | diff --git a/javascript/ql/src/semmle/javascript/security/dataflow/ExceptionXss.qll b/javascript/ql/src/semmle/javascript/security/dataflow/ExceptionXss.qll index 030eecd2fe9..eec0b8219d2 100644 --- a/javascript/ql/src/semmle/javascript/security/dataflow/ExceptionXss.qll +++ b/javascript/ql/src/semmle/javascript/security/dataflow/ExceptionXss.qll @@ -125,7 +125,6 @@ module ExceptionXss { override predicate isSanitizer(DataFlow::Node node) { node instanceof Xss::Shared::Sanitizer } - cached override predicate isAdditionalFlowStep( DataFlow::Node pred, DataFlow::Node succ, DataFlow::FlowLabel inlbl, DataFlow::FlowLabel outlbl