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 &amp; 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();
 }