aboutsummaryrefslogtreecommitdiffstats
path: root/indexinglanguage
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2023-01-25 16:48:26 +0100
committerHenning Baldersheim <balder@yahoo-inc.com>2023-01-25 17:05:48 +0100
commit7e8209d06e1b67c3d1f5c05acc8c3f0a19234380 (patch)
treee1d386dd1b9646a302b98781005f6b364b291065 /indexinglanguage
parent9a85de6ca1badd76e04a2315b693a8e512c0d6d1 (diff)
Replace synchronized Stack with Deque in feed and query path.
Diffstat (limited to 'indexinglanguage')
-rw-r--r--indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/MathResolver.java9
1 files changed, 5 insertions, 4 deletions
diff --git a/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/MathResolver.java b/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/MathResolver.java
index 47d4e789602..ded665b2d77 100644
--- a/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/MathResolver.java
+++ b/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/MathResolver.java
@@ -1,10 +1,11 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.indexinglanguage.expressions;
+import java.util.ArrayDeque;
+import java.util.Deque;
import java.util.LinkedList;
import java.util.List;
import java.util.Objects;
-import java.util.Stack;
/**
* @author Simon Thoresen Hult
@@ -20,7 +21,7 @@ public class MathResolver {
}
public Expression resolve() {
- Stack<Item> stack = new Stack<>();
+ Deque<Item> stack = new ArrayDeque<>();
stack.push(items.remove(0));
while (!items.isEmpty()) {
Item item = items.remove(0);
@@ -32,10 +33,10 @@ public class MathResolver {
while (stack.size() > 1) {
pop(stack);
}
- return stack.remove(0).exp;
+ return stack.pop().exp;
}
- private void pop(Stack<Item> stack) {
+ private void pop(Deque<Item> stack) {
Item rhs = stack.pop();
Item lhs = stack.peek();
lhs.exp = new ArithmeticExpression(lhs.exp, rhs.op, rhs.exp);