diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2023-01-25 16:48:26 +0100 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2023-01-25 17:05:48 +0100 |
commit | 7e8209d06e1b67c3d1f5c05acc8c3f0a19234380 (patch) | |
tree | e1d386dd1b9646a302b98781005f6b364b291065 /indexinglanguage | |
parent | 9a85de6ca1badd76e04a2315b693a8e512c0d6d1 (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.java | 9 |
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); |