Mercurial > hg > graal-compiler
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