private static class ExecutorHolder {
private static final Executor executor = ExecutorProviderFactory.getExecutorProvider().getExecutor();
}
private void executeJitting(Object object, InternalWorkingMemory workingMemory, LeftTuple leftTuple) {
InternalRuleBase ruleBase = ((InternalRuleBase) workingMemory.getRuleBase());
if ( MemoryUtil.permGenStats.isUsageThresholdExceeded(ruleBase.getConfiguration().getPermGenThreshold()) ) {
return;
}
try {
ClassLoader classLoader = ruleBase.getRootClassLoader();
if (analyzedCondition == null) {
analyzedCondition = ((MvelConditionEvaluator) conditionEvaluator).getAnalyzedCondition(object, workingMemory, leftTuple);
}
conditionEvaluator = ASMConditionEvaluatorJitter.jitEvaluator(expression, analyzedCondition, declarations, classLoader, leftTuple);
} catch (Throwable t) {