提交 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 {
* @return true if this value is duplicated
*/
public boolean put(Object value, FieldNode fld) {
FieldNode prev = values.put(value, fld);
if (prev != null) {
if (duplicates.contains(value)) {
values.remove(value);
duplicates.add(value);
return true;
}
if (duplicates.contains(value)) {
FieldNode prev = values.put(value, fld);
if (prev != null) {
values.remove(value);
duplicates.add(value);
return true;
}
return false;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册