提交 77fc6435 编写于 作者: S S-trace 提交者: Skylot

core: ConstStorage: Don't put known duplicate value to ValueStorage.values map

This is a microoptimization, which remove unnecessary values.put() and
values.remove() pair of operations if ValueStorage.put() is called for a
known duplicated value.
上级 cd7e5bf0
...@@ -38,14 +38,14 @@ public class ConstStorage { ...@@ -38,14 +38,14 @@ public class ConstStorage {
* @return true if this value is duplicated * @return true if this value is duplicated
*/ */
public boolean put(Object value, FieldNode fld) { public boolean put(Object value, FieldNode fld) {
FieldNode prev = values.put(value, fld); if (duplicates.contains(value)) {
if (prev != null) {
values.remove(value); values.remove(value);
duplicates.add(value);
return true; return true;
} }
if (duplicates.contains(value)) { FieldNode prev = values.put(value, fld);
if (prev != null) {
values.remove(value); values.remove(value);
duplicates.add(value);
return true; return true;
} }
return false; return false;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册