Mercurial > hg > graal-jvmci-8
changeset 5753:f9c9c01969c0
Fixed an issue with the objectStamp(), integerStamp(), and floatStamp() methods.
author | Thomas Wuerthinger <thomas.wuerthinger@oracle.com> |
---|---|
date | Tue, 03 Jul 2012 11:16:38 +0200 |
parents | 6e9c7af8ce5d |
children | d5ce56698bb3 |
files | graal/com.oracle.graal.boot.test/src/com/oracle/graal/boot/BigBangTest.java graal/com.oracle.graal.boot/src/com/oracle/graal/boot/meta/ArrayTypeElement.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ValueNode.java |
diffstat | 3 files changed, 12 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.boot.test/src/com/oracle/graal/boot/BigBangTest.java Mon Jul 02 19:46:54 2012 +0200 +++ b/graal/com.oracle.graal.boot.test/src/com/oracle/graal/boot/BigBangTest.java Tue Jul 03 11:16:38 2012 +0200 @@ -37,7 +37,7 @@ public void formattedOutputTest() { BootImageGenerator generator = new BootImageGenerator(); generator.addEntryMethod(TestPrograms.class, "formattedOutputTest"); - Assert.assertArrayEquals(generator.getBigBang().printState(), new int[]{15, 979, 346, 98}); + Assert.assertArrayEquals(generator.getBigBang().printState(), new int[]{19, 1668, 611, 179}); } @@ -60,7 +60,7 @@ public void arrayListTest() { BootImageGenerator generator = new BootImageGenerator(); generator.addEntryMethod(TestPrograms.class, "arrayListTest"); - Assert.assertArrayEquals(generator.getBigBang().printState(), new int[]{2, 20, 3, 2}); + Assert.assertArrayEquals(generator.getBigBang().printState(), new int[]{2, 28, 5, 3}); } @Test
--- a/graal/com.oracle.graal.boot/src/com/oracle/graal/boot/meta/ArrayTypeElement.java Mon Jul 02 19:46:54 2012 +0200 +++ b/graal/com.oracle.graal.boot/src/com/oracle/graal/boot/meta/ArrayTypeElement.java Tue Jul 03 11:16:38 2012 +0200 @@ -52,6 +52,13 @@ if (type == null) { System.out.println("FATAL error: Array access without type!"); System.out.println(load.array()); + if (load.array() instanceof ValueProxyNode) { + ValueProxyNode valueProxyNode = (ValueProxyNode) load.array(); + System.out.println("value proxy node stamp " + valueProxyNode.stamp()); + System.out.println("value proxy node stamp type " + valueProxyNode.objectStamp().type()); + System.out.println("value proxy source: " + valueProxyNode.value()); + System.out.println("value proxy source stamp: " + valueProxyNode.value().stamp()); + } System.out.println(((StructuredGraph) load.graph()).method()); System.exit(-1); }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ValueNode.java Mon Jul 02 19:46:54 2012 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ValueNode.java Tue Jul 03 11:16:38 2012 +0200 @@ -157,17 +157,17 @@ public final ObjectStamp objectStamp() { assert verifyStamp(ObjectStamp.class); - return (ObjectStamp) stamp; + return (ObjectStamp) stamp(); } public final IntegerStamp integerStamp() { assert verifyStamp(IntegerStamp.class); - return (IntegerStamp) stamp; + return (IntegerStamp) stamp(); } public final FloatStamp floatStamp() { assert verifyStamp(FloatStamp.class); - return (FloatStamp) stamp; + return (FloatStamp) stamp(); } @Override