changeset 6961:72b8f81ef9c4

fixed regression in escape analysis of non-array objects caused by change to ResolvedJavaType.getInstanceFields().
author Doug Simon <doug.simon@oracle.com>
date Sun, 18 Nov 2012 21:20:31 +0100
parents 72056acf27ab
children e9f69041ac38
files graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/NewInstanceNode.java
diffstat 1 files changed, 1 insertions(+), 14 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/NewInstanceNode.java	Sun Nov 18 21:15:48 2012 +0100
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/NewInstanceNode.java	Sun Nov 18 21:20:31 2012 +0100
@@ -22,8 +22,6 @@
  */
 package com.oracle.graal.nodes.java;
 
-import java.util.*;
-
 import com.oracle.graal.api.meta.*;
 import com.oracle.graal.graph.*;
 import com.oracle.graal.nodes.*;
@@ -83,22 +81,11 @@
         tool.getRuntime().lower(this, tool);
     }
 
-    private void fillEscapeFields(ResolvedJavaType type, List<ResolvedJavaField> escapeFields) {
-        if (type != null) {
-            fillEscapeFields(type.getSuperclass(), escapeFields);
-            for (ResolvedJavaField field : type.getInstanceFields(true)) {
-                escapeFields.add(field);
-            }
-        }
-    }
-
     @Override
     public EscapeOp getEscapeOp() {
         if (instanceClass != null) {
             assert !instanceClass().isArrayClass();
-            List<ResolvedJavaField> escapeFields = new ArrayList<>();
-            fillEscapeFields(instanceClass(), escapeFields);
-            final ResolvedJavaField[] fields = escapeFields.toArray(new ResolvedJavaField[escapeFields.size()]);
+            final ResolvedJavaField[] fields = instanceClass().getInstanceFields(true);
             return new EscapeOp() {
 
                 @Override