From 77fc6435a06523835488e1edb84343226aaa739f Mon Sep 17 00:00:00 2001 From: S-trace Date: Thu, 16 Jan 2020 21:02:04 +0300 Subject: [PATCH] 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. --- .../src/main/java/jadx/core/dex/info/ConstStorage.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/jadx-core/src/main/java/jadx/core/dex/info/ConstStorage.java b/jadx-core/src/main/java/jadx/core/dex/info/ConstStorage.java index cbb30286a..938c5f8ee 100644 --- a/jadx-core/src/main/java/jadx/core/dex/info/ConstStorage.java +++ b/jadx-core/src/main/java/jadx/core/dex/info/ConstStorage.java @@ -38,16 +38,16 @@ public class ConstStorage { * @return true if this value is duplicated */ public boolean put(Object value, FieldNode fld) { + if (duplicates.contains(value)) { + values.remove(value); + return true; + } FieldNode prev = values.put(value, fld); if (prev != null) { values.remove(value); duplicates.add(value); return true; } - if (duplicates.contains(value)) { - values.remove(value); - return true; - } return false; }