# HG changeset patch # User Doug Simon # Date 1353270031 -3600 # Node ID 72b8f81ef9c4a464c7e774603f8bbfa5f20e6e16 # Parent 72056acf27abdb28ad96d31191a1cd2457548b7d fixed regression in escape analysis of non-array objects caused by change to ResolvedJavaType.getInstanceFields(). diff -r 72056acf27ab -r 72b8f81ef9c4 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/NewInstanceNode.java --- 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 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 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