Mercurial > hg > truffle
changeset 6469:ec2211254419
Merge.
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Mon, 01 Oct 2012 16:12:45 +0200 |
parents | afe7d46f1311 (diff) 6f2b35ef59b0 (current diff) |
children | b1010f7bc0bf |
files | |
diffstat | 4 files changed, 22 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/JavaType.java Mon Oct 01 15:53:03 2012 +0200 +++ b/graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/JavaType.java Mon Oct 01 16:12:45 2012 +0200 @@ -51,7 +51,8 @@ /** * The runtime representation of the "hub" of this type--that is, the closest part of the type - * representation which is typically stored in the object header. + * representation which is typically stored in the object header. For example, in the HotSpot + * VM the hub correlates with the C++ <code>klassOop</code> type. */ ObjectHub }
--- a/graal/com.oracle.graal.compiler.phases/src/com/oracle/graal/compiler/phases/CanonicalizerPhase.java Mon Oct 01 15:53:03 2012 +0200 +++ b/graal/com.oracle.graal.compiler.phases/src/com/oracle/graal/compiler/phases/CanonicalizerPhase.java Mon Oct 01 16:12:45 2012 +0200 @@ -242,7 +242,11 @@ } else if (node instanceof Simplifiable) { Debug.log("Canonicalizer: simplifying %s", node); METRIC_SIMPLIFICATION_CONSIDERED_NODES.increment(); - ((Simplifiable) node).simplify(tool); + Debug.scope("SimplifyNode", node, new Runnable() { + public void run() { + ((Simplifiable) node).simplify(tool); + } + }); } return node.isDeleted(); }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/PiNode.java Mon Oct 01 15:53:03 2012 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/PiNode.java Mon Oct 01 16:12:45 2012 +0200 @@ -26,7 +26,11 @@ import com.oracle.graal.nodes.spi.*; import com.oracle.graal.nodes.type.*; - +/** + * A node that changes the type of its input, usually narrowing it. + * For example, a PI node refines the type of a receiver during + * type-guarded inlining to be the type tested by the guard. + */ public class PiNode extends FloatingNode implements LIRLowerable { @Input private ValueNode object;
--- a/graal/com.oracle.graal.snippets.test/src/com/oracle/graal/snippets/CheckCastTest.java Mon Oct 01 15:53:03 2012 +0200 +++ b/graal/com.oracle.graal.snippets.test/src/com/oracle/graal/snippets/CheckCastTest.java Mon Oct 01 16:12:45 2012 +0200 @@ -113,6 +113,11 @@ @Test public void test8() { + test("arrayStore", profile(), new Object[100], "111"); + } + + @Test + public void test8_1() { test("arrayFill", profile(), new Object[100], "111"); } @@ -142,6 +147,11 @@ return "#" + s; } + public static Object[] arrayStore(Object[] arr, Object value) { + arr[15] = value; + return arr; + } + public static Object[] arrayFill(Object[] arr, Object value) { for (int i = 0; i < arr.length; i++) { arr[i] = value;