changeset 13367:413040ab993e

remove some usages of HashSet
author Bernhard Urban <bernhard.urban@jku.at>
date Tue, 17 Dec 2013 16:00:57 +0100
parents 1480cfe97462
children 79298b99df02
files graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedJavaField.java graal/com.oracle.graal.java/src/com/oracle/graal/java/BciBlockMapping.java graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/TailDuplicationPhase.java graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/GraphEffectList.java
diffstat 4 files changed, 11 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedJavaField.java	Tue Dec 17 18:14:02 2013 +0100
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedJavaField.java	Tue Dec 17 16:00:57 2013 +0100
@@ -117,7 +117,7 @@
         return false;
     }
 
-    private static final Set<ResolvedJavaField> notEmbeddable = new HashSet<>();
+    private static final List<ResolvedJavaField> notEmbeddable = new ArrayList<>();
 
     private static void addResolvedToSet(Field field) {
         MetaAccessProvider metaAccess = runtime().getHostProviders().getMetaAccess();
--- a/graal/com.oracle.graal.java/src/com/oracle/graal/java/BciBlockMapping.java	Tue Dec 17 18:14:02 2013 +0100
+++ b/graal/com.oracle.graal.java/src/com/oracle/graal/java/BciBlockMapping.java	Tue Dec 17 16:00:57 2013 +0100
@@ -434,7 +434,7 @@
         predecessor.successors.add(sux);
     }
 
-    private final HashSet<Block> jsrVisited = new HashSet<>();
+    private final ArrayList<Block> jsrVisited = new ArrayList<>();
 
     private void createJsrAlternatives(Block block) {
         jsrVisited.add(block);
--- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/TailDuplicationPhase.java	Tue Dec 17 18:14:02 2013 +0100
+++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/TailDuplicationPhase.java	Tue Dec 17 16:00:57 2013 +0100
@@ -87,17 +87,22 @@
             if (fixedNodeCount < TailDuplicationTrivialSize.getValue()) {
                 return true;
             }
-            HashSet<PhiNode> improvements = new HashSet<>();
+            ArrayList<PhiNode> improvements = null;
             for (PhiNode phi : merge.phis()) {
                 Stamp phiStamp = phi.stamp();
                 for (ValueNode input : phi.values()) {
                     if (!input.stamp().equals(phiStamp)) {
-                        improvements.add(phi);
+                        if (improvements == null) {
+                            improvements = new ArrayList<>();
+                        }
+                        if (!improvements.contains(phi)) {
+                            improvements.add(phi);
+                        }
                         break;
                     }
                 }
             }
-            if (improvements.isEmpty()) {
+            if (improvements == null) {
                 return false;
             }
             FixedNode current = merge;
--- a/graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/GraphEffectList.java	Tue Dec 17 18:14:02 2013 +0100
+++ b/graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/GraphEffectList.java	Tue Dec 17 16:00:57 2013 +0100
@@ -344,7 +344,7 @@
                     commit.getLocks().addAll(locks);
 
                     assert commit.usages().filter(AllocatedObjectNode.class).count() == commit.usages().count();
-                    HashSet<AllocatedObjectNode> materializedValues = new HashSet<>(commit.usages().filter(AllocatedObjectNode.class).snapshot());
+                    List<AllocatedObjectNode> materializedValues = commit.usages().filter(AllocatedObjectNode.class).snapshot();
                     for (int i = 0; i < commit.getValues().size(); i++) {
                         if (materializedValues.contains(commit.getValues().get(i))) {
                             commit.getValues().set(i, ((AllocatedObjectNode) commit.getValues().get(i)).getVirtualObject());