Mercurial > hg > graal-compiler
changeset 7759:9e68bd67b745
cleanups, javadoc, assertions
author | Lukas Stadler <lukas.stadler@jku.at> |
---|---|
date | Fri, 08 Feb 2013 10:19:50 +0100 |
parents | 4c0a36672095 |
children | 0ae87cf94914 |
files | graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Node.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/snippets/SystemSubstitutions.java graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64TestOp.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerTestNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/ArrayLengthProvider.java |
diffstat | 6 files changed, 36 insertions(+), 14 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Node.java Thu Feb 07 18:59:56 2013 +0100 +++ b/graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Node.java Fri Feb 08 10:19:50 2013 +0100 @@ -74,7 +74,7 @@ /** * Denotes that a parameter of an {@linkplain NodeIntrinsic intrinsic} method must be a compile - * time constant at all call sites to the intrinic method. + * time constant at all call sites to the intrinsic method. */ @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.PARAMETER)
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/snippets/SystemSubstitutions.java Thu Feb 07 18:59:56 2013 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/snippets/SystemSubstitutions.java Fri Feb 08 10:19:50 2013 +0100 @@ -42,7 +42,7 @@ public static final Descriptor JAVA_TIME_MILLIS = new Descriptor("javaTimeMillis", false, long.class); public static final Descriptor JAVA_TIME_NANOS = new Descriptor("javaTimeNanos", false, long.class); - @MacroSubstitution(macro = ArrayCopyNode.class, isStatic = true) + @MacroSubstitution(macro = ArrayCopyNode.class) public static native void arraycopy(Object src, int srcPos, Object dest, int destPos, int length); @MethodSubstitution
--- a/graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java Thu Feb 07 18:59:56 2013 +0100 +++ b/graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java Fri Feb 08 10:19:50 2013 +0100 @@ -642,14 +642,14 @@ private JavaMethod lookupMethod(int cpi, int opcode) { eagerResolvingForSnippets(cpi, opcode); JavaMethod result = constantPool.lookupMethod(cpi, opcode); - assert !graphBuilderConfig.eagerResolvingForSnippets() || ((result instanceof ResolvedJavaMethod) && ((ResolvedJavaMethod) result).getDeclaringClass().isInitialized()); + assert !graphBuilderConfig.eagerResolvingForSnippets() || ((result instanceof ResolvedJavaMethod) && ((ResolvedJavaMethod) result).getDeclaringClass().isInitialized()) : result; return result; } private JavaField lookupField(int cpi, int opcode) { eagerResolvingForSnippets(cpi, opcode); JavaField result = constantPool.lookupField(cpi, opcode); - assert !graphBuilderConfig.eagerResolvingForSnippets() || (result instanceof ResolvedJavaField && ((ResolvedJavaField) result).getDeclaringClass().isInitialized()); + assert !graphBuilderConfig.eagerResolvingForSnippets() || (result instanceof ResolvedJavaField && ((ResolvedJavaField) result).getDeclaringClass().isInitialized()) : result; return result; }
--- a/graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64TestOp.java Thu Feb 07 18:59:56 2013 +0100 +++ b/graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64TestOp.java Fri Feb 08 10:19:50 2013 +0100 @@ -30,7 +30,6 @@ import com.oracle.graal.graph.*; import com.oracle.graal.lir.asm.*; -//@formatter:off public class AMD64TestOp extends AMD64LIRInstruction { @Use({REG}) protected Value x; @@ -55,21 +54,36 @@ public static void emit(TargetMethodAssembler tasm, AMD64MacroAssembler masm, Value x, Value y) { if (isRegister(y)) { switch (x.getKind()) { - case Int: masm.testl(asIntReg(x), asIntReg(y)); break; - case Long: masm.testq(asLongReg(x), asLongReg(y)); break; - default: throw GraalInternalError.shouldNotReachHere(); + case Int: + masm.testl(asIntReg(x), asIntReg(y)); + break; + case Long: + masm.testq(asLongReg(x), asLongReg(y)); + break; + default: + throw GraalInternalError.shouldNotReachHere(); } } else if (isConstant(y)) { switch (x.getKind()) { - case Int: masm.testl(asIntReg(x), tasm.asIntConst(y)); break; - case Long: masm.testq(asLongReg(x), tasm.asIntConst(y)); break; - default: throw GraalInternalError.shouldNotReachHere(); + case Int: + masm.testl(asIntReg(x), tasm.asIntConst(y)); + break; + case Long: + masm.testq(asLongReg(x), tasm.asIntConst(y)); + break; + default: + throw GraalInternalError.shouldNotReachHere(); } } else { switch (x.getKind()) { - case Int: masm.testl(asIntReg(x), tasm.asIntAddr(y)); break; - case Long: masm.testq(asLongReg(x), tasm.asLongAddr(y)); break; - default: throw GraalInternalError.shouldNotReachHere(); + case Int: + masm.testl(asIntReg(x), tasm.asIntAddr(y)); + break; + case Long: + masm.testq(asLongReg(x), tasm.asLongAddr(y)); + break; + default: + throw GraalInternalError.shouldNotReachHere(); } } }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerTestNode.java Thu Feb 07 18:59:56 2013 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerTestNode.java Fri Feb 08 10:19:50 2013 +0100 @@ -26,6 +26,11 @@ import com.oracle.graal.nodes.spi.*; import com.oracle.graal.nodes.type.*; +/** + * This node will perform a "test" operation on its arguments. Its result is equivalent to the + * expression "(x & y) == 0", meaning that it will return true if (and only if) no bit is set in + * both x and y. + */ public class IntegerTestNode extends BooleanNode implements Canonicalizable, LIRLowerable { @Input private ValueNode x;
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/ArrayLengthProvider.java Thu Feb 07 18:59:56 2013 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/ArrayLengthProvider.java Fri Feb 08 10:19:50 2013 +0100 @@ -26,5 +26,8 @@ public interface ArrayLengthProvider { + /** + * @return the length of the array described by this node, or null if it is not available + */ ValueNode length(); }