# HG changeset patch # User Gilles Duboscq # Date 1340881828 -7200 # Node ID 1d2eeb28537f076197d3e0b39bc757be7368a40a # Parent e4b9af013c4a90b749fc1f2ce6f2e94402c7ba33# Parent dfcb73ac6ba2b4ee0b9da83c93579fddf1862e75 Merge diff -r e4b9af013c4a -r 1d2eeb28537f graal/com.oracle.graal.alloc/src/com/oracle/graal/alloc/simple/DataFlowAnalysis.java --- a/graal/com.oracle.graal.alloc/src/com/oracle/graal/alloc/simple/DataFlowAnalysis.java Thu Jun 28 13:09:54 2012 +0200 +++ b/graal/com.oracle.graal.alloc/src/com/oracle/graal/alloc/simple/DataFlowAnalysis.java Thu Jun 28 13:10:28 2012 +0200 @@ -112,7 +112,7 @@ } /** - * Numbers all instructions in all blocks. The numbering follows the {@linkplain ComputeLinearScanOrder linear scan order}. + * Numbers all instructions in all blocks. The numbering follows the linear scan order. */ private void numberInstructions() { ValueProcedure defProc = new ValueProcedure() { @Override public Value doValue(Value value) { return setDef(value); } }; diff -r e4b9af013c4a -r 1d2eeb28537f graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/Architecture.java --- a/graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/Architecture.java Thu Jun 28 13:09:54 2012 +0200 +++ b/graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/Architecture.java Thu Jun 28 13:10:28 2012 +0200 @@ -74,7 +74,7 @@ public final ByteOrder byteOrder; /** - * Mask of the barrier constants defined in {@link MemoryBarriers} denoting the barriers that + * Mask of the barrier constants denoting the barriers that * are not required to be explicitly inserted under this architecture. */ public final int implicitMemoryBarriers; @@ -82,7 +82,7 @@ /** * Determines the barriers in a given barrier mask that are explicitly required on this architecture. * - * @param barriers a mask of the barrier constants defined in {@link MemoryBarriers} + * @param barriers a mask of the barrier constants * @return the value of {@code barriers} minus the barriers unnecessary on this architecture */ public final int requiredBarriers(int barriers) { diff -r e4b9af013c4a -r 1d2eeb28537f graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/Assumptions.java --- a/graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/Assumptions.java Thu Jun 28 13:09:54 2012 +0200 +++ b/graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/Assumptions.java Thu Jun 28 13:10:28 2012 +0200 @@ -29,8 +29,6 @@ /** * Class for recording optimistic assumptions made during compilation. - * Recorded assumption can be visited for subsequent processing using - * an implementation of the {@link CiAssumptionProcessor} interface. */ public final class Assumptions implements Serializable, Iterable { diff -r e4b9af013c4a -r 1d2eeb28537f graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/BailoutException.java --- a/graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/BailoutException.java Thu Jun 28 13:09:54 2012 +0200 +++ b/graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/BailoutException.java Thu Jun 28 13:10:28 2012 +0200 @@ -43,7 +43,6 @@ /** * Create a new {@code CiBailout}. - * @param reason a message indicating the reason with a String.format - syntax * @param args parameters to the formatter */ public BailoutException(String format, Object... args) { diff -r e4b9af013c4a -r 1d2eeb28537f graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/CalleeSaveLayout.java --- a/graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/CalleeSaveLayout.java Thu Jun 28 13:09:54 2012 +0200 +++ b/graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/CalleeSaveLayout.java Thu Jun 28 13:10:28 2012 +0200 @@ -40,7 +40,7 @@ public final int size; /** - * The size (in bytes) of an {@linkplain #registerAtIndex(int) indexable} slot in the CSA. + * The size (in bytes) of an {@linkplain #registerAt(int) indexable} slot in the CSA. */ public final int slotSize; @@ -52,7 +52,7 @@ private final Register[] indexToReg; /** - * The list of registers {@linkplain #contains(Register) contained} by this CSA. + * The list of registers {@linkplain #contains(int) contained} by this CSA. */ public final Register[] registers; @@ -66,7 +66,7 @@ * Creates a CSA layout. * * @param size size (in bytes) of the CSA. If this is {@code -1}, then the CSA size will be computed from {@code registers}. - * @param slotSize the size (in bytes) of an {@linkplain #registerAtIndex(int) indexable} slot in the CSA + * @param slotSize the size (in bytes) of an {@linkplain #registerAt(int) indexable} slot in the CSA * @param registers the registers that can be saved in the CSA */ public CalleeSaveLayout(int frameOffsetToCSA, int size, int slotSize, Register... registers) { diff -r e4b9af013c4a -r 1d2eeb28537f graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/CallingConvention.java --- a/graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/CallingConvention.java Thu Jun 28 13:09:54 2012 +0200 +++ b/graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/CallingConvention.java Thu Jun 28 13:10:28 2012 +0200 @@ -33,8 +33,7 @@ public class CallingConvention { /** - * Constants denoting the type of a call for which a calling convention is - * {@linkplain RegisterConfig#getCallingConvention(Type, CiKind[], CiTarget, boolean) requested}. + * Constants denoting the type of a call for which a calling convention is requested. */ public enum Type { /** diff -r e4b9af013c4a -r 1d2eeb28537f graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/CodeUtil.java --- a/graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/CodeUtil.java Thu Jun 28 13:09:54 2012 +0200 +++ b/graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/CodeUtil.java Thu Jun 28 13:10:28 2012 +0200 @@ -134,8 +134,6 @@ * * @param format a format specification * @param method the method to be formatted - * @param kinds if {@code true} then the types in {@code method}'s signature are printed in the - * {@linkplain Kind#jniName JNI} form of their {@linkplain Kind kind} * @return the result of formatting this method according to {@code format} * @throws IllegalFormatException if an illegal specifier is encountered in {@code format} */ @@ -227,8 +225,6 @@ * * @param format a format specification * @param field the field to be formatted - * @param kinds if {@code true} then {@code field}'s type is printed in the {@linkplain Kind#jniName JNI} form of - * its {@linkplain Kind kind} * @return the result of formatting this field according to {@code format} * @throws IllegalFormatException if an illegal specifier is encountered in {@code format} */ @@ -395,7 +391,7 @@ } /** - * Convenient shortcut for calling {@link #appendLocation(StringBuilder, JavaMethod, int)} without having to supply a + * Convenient shortcut for calling {@link #appendLocation(StringBuilder, ResolvedJavaMethod, int)} without having to supply a * a {@link StringBuilder} instance and convert the result to a string. */ public static String toLocation(ResolvedJavaMethod method, int bci) { @@ -405,7 +401,7 @@ /** * Appends a string representation of a location specified by a given method and bci to a given * {@link StringBuilder}. If a stack trace element with a non-null file name and non-negative line number is - * {@linkplain JavaMethod#toStackTraceElement(int) available} for the given method, then the string returned is the + * {@linkplain ResolvedJavaMethod#toStackTraceElement(int) available} for the given method, then the string returned is the * {@link StackTraceElement#toString()} value of the stack trace element, suffixed by the bci location. For example: * *
@@ -422,7 +418,6 @@
      * @param sb
      * @param method
      * @param bci
-     * @return
      */
     public static StringBuilder appendLocation(StringBuilder sb, ResolvedJavaMethod method, int bci) {
         if (method != null) {
diff -r e4b9af013c4a -r 1d2eeb28537f graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/CompilationResult.java
--- a/graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/CompilationResult.java	Thu Jun 28 13:09:54 2012 +0200
+++ b/graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/CompilationResult.java	Thu Jun 28 13:10:28 2012 +0200
@@ -29,8 +29,7 @@
 
 /**
  * Represents the output from compiling a method, including the compiled machine code, associated data and references,
- * relocation information, deoptimization information, etc. It is the essential component of a {@link CiResult}, which also includes
- * {@linkplain CiStatistics compilation statistics} and {@linkplain BailoutException failure information}.
+ * relocation information, deoptimization information, etc.
  */
 public class CompilationResult implements Serializable {
 
@@ -403,7 +402,6 @@
      *
      * @param codePos  the position in the code that is covered by the handler
      * @param handlerPos    the position of the handler
-     * @param throwableType the type of exceptions handled by the handler
      */
     public void recordExceptionHandler(int codePos, int handlerPos) {
         getExceptionHandlers().add(new ExceptionHandler(codePos, handlerPos));
diff -r e4b9af013c4a -r 1d2eeb28537f graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/DebugInfo.java
--- a/graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/DebugInfo.java	Thu Jun 28 13:09:54 2012 +0200
+++ b/graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/DebugInfo.java	Thu Jun 28 13:10:28 2012 +0200
@@ -75,7 +75,7 @@
     /**
      * Gets the deoptimization information for each inlined frame (if available).
      *
-     * @return {@code null} if no frame de-opt info is {@linkplain #hasDebugFrame available}
+     * @return {@code null} if no frame de-opt info is {@linkplain #hasFrame() available}
      */
     public BytecodeFrame frame() {
         if (hasFrame()) {
diff -r e4b9af013c4a -r 1d2eeb28537f graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/RegisterConfig.java
--- a/graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/RegisterConfig.java	Thu Jun 28 13:09:54 2012 +0200
+++ b/graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/RegisterConfig.java	Thu Jun 28 13:10:28 2012 +0200
@@ -62,7 +62,7 @@
      *
      * @param type the type of calling convention
      * @param flag specifies whether registers for {@linkplain RegisterFlag#CPU integral} or
-     *             {@linkplain} RegisterFlag#FPU floating point} parameters are being requested
+     *             {@linkplain RegisterFlag#FPU floating point} parameters are being requested
      * @return the ordered set of registers that may be used to pass parameters in a call conforming to {@code type}
      */
     Register[] getCallingConventionRegisters(Type type, RegisterFlag flag);
@@ -77,7 +77,7 @@
      * {@linkplain Register#categorize(Register[]) categorized} by register {@linkplain RegisterFlag flags}.
      *
      * @return a map from each {@link RegisterFlag} constant to the list of {@linkplain #getAllocatableRegisters()
-     *         allocatable} registers for which the flag is {@linkplain #isSet(RegisterFlag) set}
+     *         allocatable} registers for which the flag is set
      *
      */
     EnumMap getCategorizedAllocatableRegisters();
diff -r e4b9af013c4a -r 1d2eeb28537f graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/RegisterValue.java
--- a/graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/RegisterValue.java	Thu Jun 28 13:09:54 2012 +0200
+++ b/graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/RegisterValue.java	Thu Jun 28 13:10:28 2012 +0200
@@ -35,7 +35,7 @@
     private final Register reg;
 
     /**
-     * Should only be called from {@link Register#CiRegister} to ensure canonicalization.
+     * Should only be called from {@link Register#Register} to ensure canonicalization.
      */
     protected RegisterValue(Kind kind, Register register) {
         super(kind);
diff -r e4b9af013c4a -r 1d2eeb28537f graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/StackSlot.java
--- a/graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/StackSlot.java	Thu Jun 28 13:09:54 2012 +0200
+++ b/graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/StackSlot.java	Thu Jun 28 13:10:28 2012 +0200
@@ -42,7 +42,7 @@
      *
      * @param kind The kind of the value stored in the stack slot.
      * @param offset The offset of the stack slot (in bytes)
-     * @param inCallerFrame Specifies if the offset is relative to the stack pointer,
+     * @param addFrameSize Specifies if the offset is relative to the stack pointer,
      *        or the beginning of the frame (stack pointer + total frame size).
      */
     public static StackSlot get(Kind kind, int offset, boolean addFrameSize) {
@@ -71,7 +71,7 @@
     }
 
     /**
-     * Private constructor to enforce use of {@link #get()} so that a cache can be used.
+     * Private constructor to enforce use of {@link #get(Kind, int, boolean)} so that a cache can be used.
      */
     private StackSlot(Kind kind, int offset, boolean addFrameSize) {
         super(kind);
diff -r e4b9af013c4a -r 1d2eeb28537f graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/TargetDescription.java
--- a/graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/TargetDescription.java	Thu Jun 28 13:09:54 2012 +0200
+++ b/graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/TargetDescription.java	Thu Jun 28 13:10:28 2012 +0200
@@ -70,7 +70,7 @@
     public final int stackAlignment;
 
     /**
-     * @see http://docs.sun.com/app/docs/doc/806-0477/6j9r2e2b9?a=view
+     * @see "http://docs.oracle.com/cd/E19455-01/806-0477/overview-4/index.html"
      */
     public final int stackBias;
 
diff -r e4b9af013c4a -r 1d2eeb28537f graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/Constant.java
--- a/graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/Constant.java	Thu Jun 28 13:09:54 2012 +0200
+++ b/graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/Constant.java	Thu Jun 28 13:10:28 2012 +0200
@@ -25,7 +25,7 @@
 /**
  * Represents a constant (boxed) value, such as an integer, floating point number, or object reference,
  * within the compiler and across the compiler/runtime interface. Exports a set of {@code Constant}
- * instances that represent frequently used constant values, such as {@link #ZERO}.
+ * instances that represent frequently used constant values, such as {@link #NULL_OBJECT}.
  */
 public final class Constant extends Value {
     private static final long serialVersionUID = -6355452536852663986L;
@@ -262,7 +262,6 @@
 
     /**
      * Unchecked access to a primitive value.
-     * @return
      */
     public long asPrimitive() {
         if (kind.isObject()) {
diff -r e4b9af013c4a -r 1d2eeb28537f graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/ConstantPool.java
--- a/graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/ConstantPool.java	Thu Jun 28 13:09:54 2012 +0200
+++ b/graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/ConstantPool.java	Thu Jun 28 13:10:28 2012 +0200
@@ -41,8 +41,7 @@
     /**
      * Looks up a reference to a field. If {@code opcode} is non-negative, then resolution checks
      * specific to the JVM instruction it denotes are performed if the field is already resolved.
-     * Should any of these checks fail, an {@linkplain JavaField#isResolved() unresolved}
-     * field reference is returned.
+     * Should any of these checks fail, an unresolved field reference is returned.
      *
      * @param cpi the constant pool index
      * @param opcode the opcode of the instruction for which the lookup is being performed or {@code -1}
@@ -54,8 +53,7 @@
     /**
      * Looks up a reference to a method. If {@code opcode} is non-negative, then resolution checks
      * specific to the JVM instruction it denotes are performed if the method is already resolved.
-     * Should any of these checks fail, an {@linkplain JavaMethod#isResolved() unresolved}
-     * method reference is returned.
+     * Should any of these checks fail, an unresolved method reference is returned.
      *
      * @param cpi the constant pool index
      * @param opcode the opcode of the instruction for which the lookup is being performed or {@code -1}
@@ -67,8 +65,7 @@
     /**
      * Looks up a reference to a type. If {@code opcode} is non-negative, then resolution checks
      * specific to the JVM instruction it denotes are performed if the type is already resolved.
-     * Should any of these checks fail, an {@linkplain JavaType#isResolved() unresolved}
-     * type reference is returned.
+     * Should any of these checks fail, an unresolved type reference is returned.
      *
      * @param cpi the constant pool index
      * @param opcode the opcode of the instruction for which the lookup is being performed or {@code -1}
diff -r e4b9af013c4a -r 1d2eeb28537f graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/ResolvedJavaMethod.java
--- a/graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/ResolvedJavaMethod.java	Thu Jun 28 13:09:54 2012 +0200
+++ b/graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/ResolvedJavaMethod.java	Thu Jun 28 13:10:28 2012 +0200
@@ -33,14 +33,14 @@
 public interface ResolvedJavaMethod extends JavaMethod {
 
     /**
-     * Gets the bytecode of the method, if the method {@linkplain #isResolved()} and has code.
+     * Gets the bytecode of the method, if the method has code.
      * The returned byte array does not contain breakpoints or non-Java bytecodes.
      * @return the bytecode of the method or {@code null} if none is available
      */
     byte[] code();
 
     /**
-     * Gets the size of the bytecode of the method, if the method {@linkplain #isResolved()} and has code.
+     * Gets the size of the bytecode of the method, if the method has code.
      * @return the size of the bytecode in bytes, or 0 if no bytecode is available
      */
     int codeSize();
@@ -165,7 +165,6 @@
      * parameters, in declaration order, of this method.
      *
      * @see Method#getParameterAnnotations()
-     * @see CiUtil#getParameterAnnotation(int, JavaResolvedMethod)
      */
     Annotation[][] getParameterAnnotations();
 
diff -r e4b9af013c4a -r 1d2eeb28537f graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/ResolvedJavaType.java
--- a/graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/ResolvedJavaType.java	Thu Jun 28 13:09:54 2012 +0200
+++ b/graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/ResolvedJavaType.java	Thu Jun 28 13:10:28 2012 +0200
@@ -149,8 +149,8 @@
      * such concrete method or more than one such method exists. Returns the method a
      * if a is a concrete method that is not overridden. If the compiler uses the
      * result of this method for its compilation, it must register an assumption
-     * (see {@link CiAssumptions}), because dynamic class loading can invalidate
-     * the result of this method.
+     * because dynamic class loading can invalidate the result of this method.
+     *
      * @param method the method a for which a unique concrete target is searched
      * @return the unique concrete target or {@code null} if no such target exists
      *         or assumptions are not supported by this runtime
diff -r e4b9af013c4a -r 1d2eeb28537f graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/Signature.java
--- a/graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/Signature.java	Thu Jun 28 13:09:54 2012 +0200
+++ b/graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/Signature.java	Thu Jun 28 13:10:28 2012 +0200
@@ -38,7 +38,7 @@
 
     /**
      * Gets the argument type at the specified position. This method will return a
-     * {@linkplain JavaType#isResolved() resolved} type if possible but without
+     * {@linkplain ResolvedJavaType resolved} type if possible but without
      * triggering any class loading or resolution.
      *
      * @param index the index into the parameters, with {@code 0} indicating the first parameter
diff -r e4b9af013c4a -r 1d2eeb28537f graal/com.oracle.graal.bytecode/src/com/oracle/graal/bytecode/Bytecodes.java
--- a/graal/com.oracle.graal.bytecode/src/com/oracle/graal/bytecode/Bytecodes.java	Thu Jun 28 13:09:54 2012 +0200
+++ b/graal/com.oracle.graal.bytecode/src/com/oracle/graal/bytecode/Bytecodes.java	Thu Jun 28 13:10:28 2012 +0200
@@ -812,7 +812,6 @@
      *
      * @param name instruction name (should be lower case)
      * @param format encodes the length of the instruction
-     * @param flagsArray the set of {@link Flags} associated with the instruction
      */
     private static void def(int opcode, String name, String format, int compilationComplexity) {
         def(opcode, name, format, compilationComplexity, 0);
diff -r e4b9af013c4a -r 1d2eeb28537f graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalOptions.java
--- a/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalOptions.java	Thu Jun 28 13:09:54 2012 +0200
+++ b/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalOptions.java	Thu Jun 28 13:10:28 2012 +0200
@@ -22,11 +22,9 @@
  */
 package com.oracle.graal.compiler;
 
-import com.oracle.max.criutils.TTY.Filter;
 
 /**
  * This class encapsulates options that control the behavior of the Graal compiler.
- * The help message for each option is specified by a {@linkplain #helpMap help map}.
  *
  * (thomaswue) WARNING: Fields of this class are treated as final by Graal.
  */
@@ -114,9 +112,6 @@
     public static boolean VerifyPhases                       = true;
     public static boolean CreateDeoptInfo                    = ____;
 
-    /**
-     * See {@link Filter#Filter(String, Object)}.
-     */
     public static String  PrintFilter                        = null;
 
     // printing settings
diff -r e4b9af013c4a -r 1d2eeb28537f graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/alloc/EdgeMoveOptimizer.java
--- a/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/alloc/EdgeMoveOptimizer.java	Thu Jun 28 13:09:54 2012 +0200
+++ b/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/alloc/EdgeMoveOptimizer.java	Thu Jun 28 13:10:28 2012 +0200
@@ -33,7 +33,7 @@
  *
  * When a block has more than one predecessor, and all predecessors end with
  * the {@linkplain #same(LIRInstruction, LIRInstruction) same} sequence of
- * {@linkplain LIROpcode#Move move} instructions, then these sequences
+ * {@linkplain MoveOp move} instructions, then these sequences
  * can be replaced with a single copy of the sequence at the beginning of the block.
  *
  * Similarly, when a block has more than one successor, then same sequences of
@@ -78,8 +78,8 @@
     }
 
     /**
-     * Determines if two operations are both {@linkplain LIROpcode#Move moves}
-     * that have the same {@linkplain LIRInstruction#operand() source} and {@linkplain LIRInstruction#result() destination}
+     * Determines if two operations are both {@linkplain MoveOp moves}
+     * that have the same {@linkplain MoveOp#getInput() source} and {@linkplain MoveOp#getResult() destination}
      * operands and they have the same {@linkplain LIRInstruction#info debug info}.
      *
      * @param op1 the first instruction to compare
diff -r e4b9af013c4a -r 1d2eeb28537f graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/alloc/Interval.java
--- a/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/alloc/Interval.java	Thu Jun 28 13:09:54 2012 +0200
+++ b/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/alloc/Interval.java	Thu Jun 28 13:10:28 2012 +0200
@@ -89,7 +89,7 @@
          * Sets the list for a specified binding.
          *
          * @param binding specifies the list to be replaced
-         * @param a list of intervals whose binding is {@code binding}
+         * @param list a list of intervals whose binding is {@code binding}
          */
         public void set(RegisterBinding binding, Interval list) {
             assert list != null;
@@ -155,7 +155,7 @@
          * Removes an interval from a list.
          *
          * @param binding specifies the list to be updated
-         * @param interval the interval to remove
+         * @param i the interval to remove
          */
         public void remove(RegisterBinding binding, Interval i) {
             Interval list = get(binding);
@@ -405,7 +405,7 @@
     public final Value operand;
 
     /**
-     * The {@linkplain OperandPool#operandNumber(Value) operand number} for this interval's {@linkplain #operand operand}.
+     * The operand number for this interval's {@linkplain #operand operand}.
      */
     public final int operandNumber;
 
@@ -421,7 +421,6 @@
 
     /**
      * The kind of this interval.
-     * Only valid if this is a {@linkplain #xxisVariable() variable}.
      */
     private Kind kind;
 
diff -r e4b9af013c4a -r 1d2eeb28537f graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/alloc/LinearScan.java
--- a/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/alloc/LinearScan.java	Thu Jun 28 13:09:54 2012 +0200
+++ b/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/alloc/LinearScan.java	Thu Jun 28 13:10:28 2012 +0200
@@ -61,31 +61,31 @@
 
     public static class BlockData {
         /**
-         * Bit map specifying which {@linkplain OperandPool operands} are live upon entry to this block.
+         * Bit map specifying which operands are live upon entry to this block.
          * These are values used in this block or any of its successors where such value are not defined
          * in this block.
-         * The bit index of an operand is its {@linkplain OperandPool#operandNumber(com.oracle.max.cri.Value.RiValue.ci.CiValue) operand number}.
+         * The bit index of an operand is its {@linkplain LinearScan#operandNumber(Value) operand number}.
          */
         public BitSet liveIn;
 
         /**
-         * Bit map specifying which {@linkplain OperandPool operands} are live upon exit from this block.
+         * Bit map specifying which operands are live upon exit from this block.
          * These are values used in a successor block that are either defined in this block or were live
          * upon entry to this block.
-         * The bit index of an operand is its {@linkplain OperandPool#operandNumber(com.oracle.max.cri.Value.RiValue.ci.CiValue) operand number}.
+         * The bit index of an operand is its {@linkplain LinearScan#operandNumber(Value) operand number}.
          */
         public BitSet liveOut;
 
         /**
-         * Bit map specifying which {@linkplain OperandPool operands} are used (before being defined) in this block.
+         * Bit map specifying which operands are used (before being defined) in this block.
          * That is, these are the values that are live upon entry to the block.
-         * The bit index of an operand is its {@linkplain OperandPool#operandNumber(com.oracle.max.cri.Value.RiValue.ci.CiValue) operand number}.
+         * The bit index of an operand is its {@linkplain LinearScan#operandNumber(Value) operand number}.
          */
         public BitSet liveGen;
 
         /**
-         * Bit map specifying which {@linkplain OperandPool operands} are defined/overwritten in this block.
-         * The bit index of an operand is its {@linkplain OperandPool#operandNumber(com.oracle.max.cri.Value.RiValue.ci.CiValue) operand number}.
+         * Bit map specifying which operands are defined/overwritten in this block.
+         * The bit index of an operand is its {@linkplain LinearScan#operandNumber(Value) operand number}.
          */
         public BitSet liveKill;
     }
@@ -144,8 +144,7 @@
     private final ArrayList variables;
 
     /**
-     * The {@linkplain #operandNumber(Value) number} of the first variable operand
-     * {@linkplain #newVariable(Kind) allocated} from this pool.
+     * The {@linkplain #operandNumber(Value) number} of the first variable operand allocated.
      */
     private final int firstVariableNumber;
 
@@ -306,7 +305,7 @@
     }
 
     /**
-     * Gets the size of the {@link Block#liveIn} and {@link Block#liveOut} sets for a basic block. These sets do
+     * Gets the size of the {@link BlockData#liveIn} and {@link BlockData#liveOut} sets for a basic block. These sets do
      * not include any operands allocated as a result of creating {@linkplain #createDerivedInterval(Interval) derived
      * intervals}.
      */
@@ -640,7 +639,7 @@
     }
 
     /**
-     * Computes local live sets (i.e. {@link Block#liveGen} and {@link Block#liveKill}) separately for each block.
+     * Computes local live sets (i.e. {@link BlockData#liveGen} and {@link BlockData#liveKill}) separately for each block.
      */
     void computeLocalLiveSets() {
         int numBlocks = blockCount();
@@ -763,8 +762,8 @@
     }
 
     /**
-     * Performs a backward dataflow analysis to compute global live sets (i.e. {@link Block#liveIn} and
-     * {@link Block#liveOut}) for each block.
+     * Performs a backward dataflow analysis to compute global live sets (i.e. {@link BlockData#liveIn} and
+     * {@link BlockData#liveOut}) for each block.
      */
     void computeGlobalLiveSets() {
         int numBlocks = blockCount();
diff -r e4b9af013c4a -r 1d2eeb28537f graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/InstructionPrinter.java
--- a/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/InstructionPrinter.java	Thu Jun 28 13:09:54 2012 +0200
+++ b/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/InstructionPrinter.java	Thu Jun 28 13:10:28 2012 +0200
@@ -28,12 +28,11 @@
 import com.oracle.graal.nodes.*;
 
 /**
- * A {@link ValueVisitor} for {@linkplain #printInstruction(ValueNode) printing}
- * an {@link FixedWithNextNode} as an expression or statement.
+ * A utility for {@linkplain #printInstruction(ValueNode) printing}
+ * a node as an expression or statement.
  */
 public class InstructionPrinter {
 
-
     /**
      * The columns printed in a tabulated instruction
      * {@linkplain InstructionPrinter#printInstructionListing(ValueNode) listing}.
@@ -50,7 +49,7 @@
         USE(7, "use"),
 
         /**
-         * The instruction as a {@linkplain com.oracle.graal.compiler.util.Util#valueString(com.oracle.graal.compiler.ir.Value) value}.
+         * The instruction as a value.
          */
         VALUE(12, "tid"),
 
diff -r e4b9af013c4a -r 1d2eeb28537f graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/LIRGenerator.java
--- a/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/LIRGenerator.java	Thu Jun 28 13:09:54 2012 +0200
+++ b/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/LIRGenerator.java	Thu Jun 28 13:10:28 2012 +0200
@@ -163,7 +163,7 @@
     }
 
     /**
-     * Returns the operand that has been previously initialized by {@link #setResult()}
+     * Returns the operand that has been previously initialized by {@link #setResult(ValueNode, Value)}
      * with the result of an instruction.
      * @param node A node that produces a result value.
      */
diff -r e4b9af013c4a -r 1d2eeb28537f graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/loop/LoopFragmentInside.java
--- a/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/loop/LoopFragmentInside.java	Thu Jun 28 13:09:54 2012 +0200
+++ b/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/loop/LoopFragmentInside.java	Thu Jun 28 13:10:28 2012 +0200
@@ -182,7 +182,7 @@
 
     /**
      * Gets the corresponding value in this fragment.
-     * @param peel the peel to look into
+     *
      * @param b original value
      * @return corresponding value in the peel
      */
diff -r e4b9af013c4a -r 1d2eeb28537f graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/package-info.java
--- a/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/package-info.java	Thu Jun 28 13:09:54 2012 +0200
+++ b/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/package-info.java	Thu Jun 28 13:10:28 2012 +0200
@@ -25,30 +25,6 @@
  * The top-level package in Graal containing options, metrics, timers and the main compiler class
  * {@link com.oracle.graal.compiler.GraalCompiler}.
  *
- * 

{@code GraalCompiler} Overview

- * - * Graal is intended to be used with multiple JVM's so makes no use of or reference to classes for a specific JVM, for - * example Maxine. - * - * The compiler is represented by the class {@code GraalCompiler}. {@code GraalCompiler} binds a specific target - * architecture and JVM interface to produce a usable compiler object. - * {@code RiMethod} is Graal's representation of a Java method and {@code RiXirGenerator} represents the interface through - * which the compiler requests the XIR for a given bytecode from the runtime system. - * - *

The Graal Compilation Process

- * - * {@link com.oracle.graal.compiler.GraalCompiler#compileMethod} creates a {@link GraalCompilation} instance and then returns the result of calling its - * {@link com.oracle.graal.compiler.GraalCompilation#compile} method. - *

- * While there is only one {@code GraalCompiler} instance, there may be several compilations proceeding concurrently, each of - * which is represented by a unique {@code GraalCompilation} instance. The static method {@link com.oracle.graal.compiler.GraalCompilation#currentInterval}} returns the - * {@code GraalCompilation} instance associated with the current thread, and is managed using a {@link java.lang.ThreadLocal} variable. - * Each {@code GraalCompilation} instance has an associated {@link com.oracle.max.cri.ci.CiStatistics} object that accumulates information about the compilation process. - *

- *

Supported backends

- * - *
    - *
  • AMD64/x64 with SSE2
  • - *
+ * Graal is intended to be used with multiple JVM's so makes no use of or reference to classes for a specific JVM. */ package com.oracle.graal.compiler; diff -r e4b9af013c4a -r 1d2eeb28537f graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/schedule/SchedulePhase.java --- a/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/schedule/SchedulePhase.java Thu Jun 28 13:09:54 2012 +0200 +++ b/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/schedule/SchedulePhase.java Thu Jun 28 13:10:28 2012 +0200 @@ -111,9 +111,7 @@ } /** - * Assigns a block to the given node. This method expects that PhiNodes and FixedNodes are already assigned to a - * block, since they should already have been placed by {@link ControlFlowGraph#identifyBlocks()}. - * This method will also try to + * Assigns a block to the given node. This method expects that PhiNodes and FixedNodes are already assigned to a block. */ private void assignBlockToNode(ScheduledNode node) { assert !node.isDeleted(); diff -r e4b9af013c4a -r 1d2eeb28537f graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/target/Backend.java --- a/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/target/Backend.java Thu Jun 28 13:09:54 2012 +0200 +++ b/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/target/Backend.java Thu Jun 28 13:10:28 2012 +0200 @@ -107,7 +107,7 @@ * spilling callee-save registers, stack overflow checking, handling multiple entry * points etc. A suffix may contain out-of-line stubs and method end guard instructions. * - * @param the method associated with {@code lir} + * @param method the method associated with {@code lir} * @param lir the LIR of {@code method} */ public abstract void emitCode(TargetMethodAssembler tasm, ResolvedJavaMethod method, LIR lir); diff -r e4b9af013c4a -r 1d2eeb28537f graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/util/BlockWorkList.java --- a/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/util/BlockWorkList.java Thu Jun 28 13:09:54 2012 +0200 +++ b/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/util/BlockWorkList.java Thu Jun 28 13:10:28 2012 +0200 @@ -29,11 +29,6 @@ * operate either as a stack (i.e. first-in / last-out), or as a sorted list, * where blocks can be sorted by a supplied number. The latter usage lends itself * naturally to iterative dataflow analysis problems. - * - * This implementation is not able to tell if a block is in the worklist already. - * Note that this implementation is slightly less efficient than the dedicated - * work list in {@link com.oracle.graal.compiler.graph.ScopeData}, because this worklist uses - * an externally supplied number. */ public class BlockWorkList { MergeNode[] workList; diff -r e4b9af013c4a -r 1d2eeb28537f graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Graph.java --- a/graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Graph.java Thu Jun 28 13:09:54 2012 +0200 +++ b/graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Graph.java Thu Jun 28 13:10:28 2012 +0200 @@ -109,7 +109,7 @@ /** * Creates a copy of this graph. * - * @param name the name of the copy, used for debugging purposes (can be null) + * @param newName the name of the copy, used for debugging purposes (can be null) */ public Graph copy(String newName) { Graph copy = new Graph(newName); @@ -235,7 +235,7 @@ } /** - * Gets a mark that can be used with {@link #getNewNodes()}. + * Gets a mark that can be used with {@link #getNewNodes(int)}. */ public int getMark() { return nodeIdCount(); @@ -526,7 +526,7 @@ * regarding the matching of node types in the replacement map. * * @param newNodes the nodes to be duplicated - * @param replacements the replacement map (can be null if no replacement is to be performed) + * @param replacementsMap the replacement map (can be null if no replacement is to be performed) * @return a map which associates the original nodes from {@code nodes} to their duplicates */ public Map addDuplicates(Iterable newNodes, Map replacementsMap) { diff -r e4b9af013c4a -r 1d2eeb28537f graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Node.java --- a/graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Node.java Thu Jun 28 13:09:54 2012 +0200 +++ b/graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Node.java Thu Jun 28 13:10:28 2012 +0200 @@ -35,8 +35,6 @@ * with annotated fields. There are two kind of edges : {@link Input} and {@link Successor}. If a field, of a type * compatible with {@link Node}, annotated with either {@link Input} and {@link Successor} is not null, then there is an * edge from this node to the node this field points to.
- * Fields in a node subclass can also be annotated with {@link Data} : such fields will be used when comparing 2 nodes - * with {@link #equals(Object)}, for value numbering and for debugging purposes.
* Nodes which are be value numberable should implement the {@link ValueNumberable} interface. * *

Assertions and Verification

@@ -45,8 +43,6 @@ * {@link #assertFalse(boolean, String, Object...)} methods, which will check the supplied boolean and throw a * VerificationError if it has the wrong value. Both methods will always either throw an exception or return true. * They can thus be used within an assert statement, so that the check is only performed if assertions are enabled. - * - * */ public abstract class Node implements Cloneable, Formattable { diff -r e4b9af013c4a -r 1d2eeb28537f graal/com.oracle.graal.graph/src/com/oracle/graal/graph/NodeClass.java --- a/graal/com.oracle.graal.graph/src/com/oracle/graal/graph/NodeClass.java Thu Jun 28 13:09:54 2012 +0200 +++ b/graal/com.oracle.graal.graph/src/com/oracle/graal/graph/NodeClass.java Thu Jun 28 13:10:28 2012 +0200 @@ -408,8 +408,9 @@ } /** - * An iterator that will iterate over the fields given in {@link offsets}. - * The first {@ directCount} offsets are treated as fields of type {@link Node}, while the rest of the fields are treated as {@link NodeList}s. + * An iterator that will iterate over the fields given in {@link #offsets}. + * The first {@link #directCount} offsets are treated as fields of type {@link Node}, + * while the rest of the fields are treated as {@link NodeList}s. * All elements of these NodeLists will be visited by the iterator as well. * This iterator can be used to iterate over the inputs or successors of a node. * @@ -546,7 +547,8 @@ } /** - * Populates a given map with the names and values of all fields marked with @{@link Data}. + * Populates a given map with the names and values of all data fields. + * * @param node the node from which to take the values. * @param properties a map that will be populated. */ diff -r e4b9af013c4a -r 1d2eeb28537f graal/com.oracle.graal.java/src/com/oracle/graal/java/FrameStateBuilder.java --- a/graal/com.oracle.graal.java/src/com/oracle/graal/java/FrameStateBuilder.java Thu Jun 28 13:09:54 2012 +0200 +++ b/graal/com.oracle.graal.java/src/com/oracle/graal/java/FrameStateBuilder.java Thu Jun 28 13:10:28 2012 +0200 @@ -317,7 +317,7 @@ } /** - * Stores a given local variable at the specified index. If the value is a {@linkplain Kind#isDoubleWord() double word}, + * Stores a given local variable at the specified index. If the value occupies {@linkplain FrameStateBuilder#isTwoSlot(Kind) two slots}, * then the next local variable index is also overwritten. * * @param i the index at which to store @@ -498,7 +498,6 @@ /** * Pop the specified number of slots off of this stack and return them as an array of instructions. - * @param size the number of arguments off of the stack * @return an array containing the arguments off of the stack */ public ValueNode[] popArguments(int slotSize, int argSize) { diff -r e4b9af013c4a -r 1d2eeb28537f graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/hotspot/Test6959129.java --- a/graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/hotspot/Test6959129.java Thu Jun 28 13:09:54 2012 +0200 +++ b/graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/hotspot/Test6959129.java Thu Jun 28 13:10:28 2012 +0200 @@ -28,12 +28,11 @@ * @test * @bug 6959129 * @summary COMPARISON WITH INTEGER.MAX_INT DOES NOT WORK CORRECTLY IN THE CLIENT VM. - * + * * This test will not run properly without assertions - * + * * @run main/othervm -ea Test6959129 */ - public class Test6959129 { public static int test() { @@ -71,7 +70,7 @@ /** * Returns the maximum length of the hailstone sequence for numbers between min to max. - * + * * For rec1 - Assume that min is bigger than max. */ public static long maxMoves(int min, int max) { diff -r e4b9af013c4a -r 1d2eeb28537f graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/hotspot/Test7005594.java --- a/graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/hotspot/Test7005594.java Thu Jun 28 13:09:54 2012 +0200 +++ b/graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/hotspot/Test7005594.java Thu Jun 28 13:10:28 2012 +0200 @@ -26,11 +26,9 @@ * @test * @bug 7005594 * @summary Array overflow not handled correctly with loop optimzations - * + * * @run shell Test7005594.sh - * @##Disabled huge heap##Runs: 0 = 95 */ - public class Test7005594 { private static int test0(byte[] a) { diff -r e4b9af013c4a -r 1d2eeb28537f graal/com.oracle.graal.lir/src/com/oracle/graal/lir/LIR.java --- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/LIR.java Thu Jun 28 13:09:54 2012 +0200 +++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/LIR.java Thu Jun 28 13:10:28 2012 +0200 @@ -85,8 +85,6 @@ /** * Creates a new LIR instance for the specified compilation. - * @param numLoops number of loops - * @param compilation the compilation */ public LIR(ControlFlowGraph cfg, BlockMap> blockToNodesMap, List linearScanOrder, List codeEmittingOrder) { this.cfg = cfg; diff -r e4b9af013c4a -r 1d2eeb28537f graal/com.oracle.graal.lir/src/com/oracle/graal/lir/LIRInsertionBuffer.java --- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/LIRInsertionBuffer.java Thu Jun 28 13:09:54 2012 +0200 +++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/LIRInsertionBuffer.java Thu Jun 28 13:10:28 2012 +0200 @@ -31,7 +31,7 @@ *
* The buffer uses internal data structures to store the enqueued updates. To avoid allocations, a buffer can be re-used. * Call the methods in the following order: - * {@link #init()}, {@link #append()}, {@link #append()}, ..., {@link #finish()}, {@link #init()}, ... + * {@link #init}, {@link #append}, {@link #append}, ..., {@link #finish()}, {@link #init}, ... *
* Note: This class does not depend on LIRInstruction, so we could make it a generic utility class. */ @@ -61,7 +61,7 @@ } /** - * Initialize this buffer. This method must be called before using {@link #append()}. + * Initialize this buffer. This method must be called before using {@link #append}. */ public void init(List newLir) { assert !initialized() : "already initialized"; @@ -98,7 +98,7 @@ } /** - * Append all enqueued instructions to the instruction list. After that, {@link init()} can be called again to re-use this buffer. + * Append all enqueued instructions to the instruction list. After that, {@link #init(List)} can be called again to re-use this buffer. */ public void finish() { if (ops.size() > 0) { diff -r e4b9af013c4a -r 1d2eeb28537f graal/com.oracle.graal.lir/src/com/oracle/graal/lir/LIRInstruction.java --- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/LIRInstruction.java Thu Jun 28 13:09:54 2012 +0200 +++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/LIRInstruction.java Thu Jun 28 13:10:28 2012 +0200 @@ -126,7 +126,7 @@ Constant, /** - * The value can be {@link CiValue#IllegalValue}. + * The value can be {@link Value#IllegalValue}. */ Illegal, diff -r e4b9af013c4a -r 1d2eeb28537f graal/com.oracle.graal.lir/src/com/oracle/graal/lir/LabelRef.java --- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/LabelRef.java Thu Jun 28 13:09:54 2012 +0200 +++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/LabelRef.java Thu Jun 28 13:10:28 2012 +0200 @@ -62,7 +62,8 @@ /** * Returns a new reference to a successor of the given block. * This allows to reference the given successor even when the successor list - * is modified between the creation of the reference and the call to {@link #getLabel}. + * is modified between the creation of the reference and the call to {@link #forLabel(Label)}. + * * @param block The base block that contains the successor list. * @param suxIndex The index of the successor. * @return The newly created label reference. diff -r e4b9af013c4a -r 1d2eeb28537f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FrameState.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FrameState.java Thu Jun 28 13:09:54 2012 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FrameState.java Thu Jun 28 13:10:28 2012 +0200 @@ -113,7 +113,6 @@ * * @param method the method for this frame state * @param bci the bytecode index of the frame state - * @param localsSize number of locals * @param stackSize size of the stack * @param rethrowException if true the VM should re-throw the exception on top of the stack when deopt'ing using this framestate */ diff -r e4b9af013c4a -r 1d2eeb28537f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/GuardNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/GuardNode.java Thu Jun 28 13:09:54 2012 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/GuardNode.java Thu Jun 28 13:10:28 2012 +0200 @@ -35,7 +35,7 @@ * state, they can move around freely and will always use the correct frame state when the nodes are scheduled (i.e., * the last emitted frame state). The node that is guarded has a data dependency on the guard and the guard in turn has * a data dependency on the condition. A guard may only be executed if it is guaranteed that the guarded node is - * executed too (if no exceptions are thrown). Therefore, an {@linkplain AnchorNode anchor} is placed after a control + * executed too (if no exceptions are thrown). Therefore, an anchor is placed after a control * flow split and the guard has a data dependency to the anchor. The anchor is the most distant node that is * post-dominated by the guarded node and the guard can be scheduled anywhere between those two nodes. This ensures * maximum flexibility for the guard node and guarantees that deoptimization occurs only if the control flow would have diff -r e4b9af013c4a -r 1d2eeb28537f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/InvokeNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/InvokeNode.java Thu Jun 28 13:09:54 2012 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/InvokeNode.java Thu Jun 28 13:10:28 2012 +0200 @@ -47,9 +47,7 @@ * Constructs a new Invoke instruction. * * @param bci the bytecode index of the original invoke (used for debug infos) - * @param opcode the opcode of the invoke - * @param target the target method being called - * @param args the list of instructions producing arguments to the invocation, including the receiver object + * @param callTarget the target method being called */ public InvokeNode(MethodCallTargetNode callTarget, int bci, long leafGraphId) { super(callTarget.returnStamp()); diff -r e4b9af013c4a -r 1d2eeb28537f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/InvokeWithExceptionNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/InvokeWithExceptionNode.java Thu Jun 28 13:09:54 2012 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/InvokeWithExceptionNode.java Thu Jun 28 13:10:28 2012 +0200 @@ -44,11 +44,6 @@ private boolean useForInlining; private final long leafGraphId; - /** - * @param kind - * @param blockSuccessors - * @param branchProbability - */ public InvokeWithExceptionNode(MethodCallTargetNode callTarget, DispatchBeginNode exceptionEdge, int bci, long leafGraphId) { super(callTarget.returnStamp(), new BeginNode[]{null, exceptionEdge}, new double[]{1.0, 0.0}); this.bci = bci; diff -r e4b9af013c4a -r 1d2eeb28537f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/PhiNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/PhiNode.java Thu Jun 28 13:09:54 2012 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/PhiNode.java Thu Jun 28 13:10:28 2012 +0200 @@ -61,7 +61,7 @@ } /** - * Create a non-value phi ({@link PhiType#Memory} or {@link PhiType#Virtual}) with the specified kind. + * Create a non-value phi ({@link PhiType#Memory} with the specified kind. * @param type the type of the new phi * @param merge the merge that the new phi belongs to */ diff -r e4b9af013c4a -r 1d2eeb28537f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ValueNodeUtil.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ValueNodeUtil.java Thu Jun 28 13:09:54 2012 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ValueNodeUtil.java Thu Jun 28 13:10:28 2012 +0200 @@ -97,7 +97,7 @@ /** * Converts a given instruction to a value string. The representation of an node as * a value is formed by concatenating the {@linkplain com.oracle.graal.api.meta.Kind#typeChar character} denoting its - * {@linkplain ValueNode#kind kind} and its {@linkplain Node#id()}. For example, {@code "i13"}. + * {@linkplain ValueNode#kind kind} and its id. For example, {@code "i13"}. * * @param value the instruction to convert to a value string. If {@code value == null}, then "-" is returned. * @return the instruction representation as a string diff -r e4b9af013c4a -r 1d2eeb28537f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ConvertNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ConvertNode.java Thu Jun 28 13:09:54 2012 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ConvertNode.java Thu Jun 28 13:10:28 2012 +0200 @@ -74,10 +74,8 @@ /** * Constructs a new Convert instance. - * @param kind the result type of this instruction * @param opcode the operation * @param value the instruction producing the input value - * @param graph */ public ConvertNode(Op opcode, ValueNode value) { super(StampFactory.forKind(opcode.to.stackKind())); diff -r e4b9af013c4a -r 1d2eeb28537f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/IntegerSwitchNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/IntegerSwitchNode.java Thu Jun 28 13:09:54 2012 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/IntegerSwitchNode.java Thu Jun 28 13:10:28 2012 +0200 @@ -46,7 +46,7 @@ * @param successors the list of successors * @param keys the sorted list of keys * @param keyProbabilities the probabilities of the keys - * @param keySuccessor the successor index for each key + * @param keySuccessors the successor index for each key */ public IntegerSwitchNode(ValueNode value, BeginNode[] successors, int[] keys, double[] keyProbabilities, int[] keySuccessors) { super(value, successors, successorProbabilites(successors.length, keySuccessors, keyProbabilities), keySuccessors, keyProbabilities); @@ -63,7 +63,7 @@ * @param successorCount the number of successors * @param keys the sorted list of keys * @param keyProbabilities the probabilities of the keys - * @param keySuccessor the successor index for each key + * @param keySuccessors the successor index for each key */ public IntegerSwitchNode(ValueNode value, int successorCount, int[] keys, double[] keyProbabilities, int[] keySuccessors) { this(value, new BeginNode[successorCount], keys, keyProbabilities, keySuccessors); diff -r e4b9af013c4a -r 1d2eeb28537f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/SwitchNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/SwitchNode.java Thu Jun 28 13:09:54 2012 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/SwitchNode.java Thu Jun 28 13:10:28 2012 +0200 @@ -44,7 +44,6 @@ * Constructs a new Switch. * @param value the instruction that provides the value to be switched over * @param successors the list of successors of this switch - * @param stateAfter the state after the switch */ public SwitchNode(ValueNode value, BeginNode[] successors, double[] successorProbabilities, int[] keySuccessors, double[] keyProbabilities) { super(StampFactory.forVoid(), successors, successorProbabilities); diff -r e4b9af013c4a -r 1d2eeb28537f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AccessArrayNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AccessArrayNode.java Thu Jun 28 13:09:54 2012 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AccessArrayNode.java Thu Jun 28 13:10:28 2012 +0200 @@ -38,7 +38,6 @@ /** * Creates a new AccessArrayNode. - * @param kind the type of the result of this instruction * @param array the instruction that produces the array object value */ public AccessArrayNode(Stamp stamp, ValueNode array) { diff -r e4b9af013c4a -r 1d2eeb28537f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AccessFieldNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AccessFieldNode.java Thu Jun 28 13:09:54 2012 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AccessFieldNode.java Thu Jun 28 13:10:28 2012 +0200 @@ -48,10 +48,8 @@ /** * Constructs a new access field object. - * @param kind the result kind of the access * @param object the instruction producing the receiver object * @param field the compiler interface representation of the field - * @param graph */ public AccessFieldNode(Stamp stamp, ValueNode object, ResolvedJavaField field, long leafGraphId) { super(stamp); diff -r e4b9af013c4a -r 1d2eeb28537f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AccessIndexedNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AccessIndexedNode.java Thu Jun 28 13:09:54 2012 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AccessIndexedNode.java Thu Jun 28 13:10:28 2012 +0200 @@ -44,7 +44,7 @@ /** * Create an new AccessIndexedNode. - * @param kind the result kind of the access + * @param stamp the result kind of the access * @param array the instruction producing the array * @param index the instruction producing the index * @param elementKind the type of the elements of the array diff -r e4b9af013c4a -r 1d2eeb28537f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AccessMonitorNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AccessMonitorNode.java Thu Jun 28 13:09:54 2012 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AccessMonitorNode.java Thu Jun 28 13:10:28 2012 +0200 @@ -22,6 +22,7 @@ */ package com.oracle.graal.nodes.java; +import com.oracle.graal.api.code.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.extended.*; import com.oracle.graal.nodes.type.*; @@ -37,9 +38,9 @@ * locking hierarchy. *
* The Java bytecode specification allows non-balanced locking. Graal does not handle such cases and throws a - * {@link CiBailout} instead. Detecting non-balanced monitors during bytecode parsing is difficult, since the + * {@link BailoutException} instead. Detecting non-balanced monitors during bytecode parsing is difficult, since the * node flowing into the {@link MonitorExitNode} can be a phi function hiding the node that was flowing into the - * {@link MonitorEnterNode}. Optimization phases are free to throw {@link CiBailout} if they detect such cases. + * {@link MonitorEnterNode}. Optimization phases are free to throw {@link BailoutException} if they detect such cases. * Otherwise, they are detected during LIR construction. */ public abstract class AccessMonitorNode extends AbstractStateSplit implements StateSplit, MemoryCheckpoint { diff -r e4b9af013c4a -r 1d2eeb28537f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/IsTypeNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/IsTypeNode.java Thu Jun 28 13:09:54 2012 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/IsTypeNode.java Thu Jun 28 13:10:28 2012 +0200 @@ -41,7 +41,7 @@ /** * Constructs a new IsTypeNode. * - * @param object the instruction producing the object to check against the given type + * @param objectClass the instruction producing the object to check against the given type * @param type the type for this check */ public IsTypeNode(ValueNode objectClass, ResolvedJavaType type) { diff -r e4b9af013c4a -r 1d2eeb28537f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/NewMultiArrayNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/NewMultiArrayNode.java Thu Jun 28 13:09:54 2012 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/NewMultiArrayNode.java Thu Jun 28 13:10:28 2012 +0200 @@ -49,10 +49,8 @@ /** * Constructs a new NewMultiArrayNode. - * @param elementType the element type of the array + * @param type the element type of the array * @param dimensions the node which produce the dimensions for this array - * @param cpi the constant pool index for resolution - * @param riConstantPool the constant pool for resolution */ public NewMultiArrayNode(ResolvedJavaType type, ValueNode[] dimensions) { super(StampFactory.exactNonNull(type)); diff -r e4b9af013c4a -r 1d2eeb28537f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/TypeSwitchNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/TypeSwitchNode.java Thu Jun 28 13:09:54 2012 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/TypeSwitchNode.java Thu Jun 28 13:10:28 2012 +0200 @@ -48,7 +48,7 @@ * @param successors the list of successors * @param keys the list of types * @param keyProbabilities the probabilities of the keys - * @param keySuccessor the successor index for each key + * @param keySuccessors the successor index for each key */ public TypeSwitchNode(ValueNode value, BeginNode[] successors, double[] successorProbabilities, ResolvedJavaType[] keys, double[] keyProbabilities, int[] keySuccessors) { super(value, successors, successorProbabilities, keySuccessors, keyProbabilities); diff -r e4b9af013c4a -r 1d2eeb28537f graal/com.oracle.graal.printer/src/com/oracle/graal/printer/CFGPrinter.java --- a/graal/com.oracle.graal.printer/src/com/oracle/graal/printer/CFGPrinter.java Thu Jun 28 13:09:54 2012 +0200 +++ b/graal/com.oracle.graal.printer/src/com/oracle/graal/printer/CFGPrinter.java Thu Jun 28 13:10:28 2012 +0200 @@ -57,7 +57,7 @@ /** * Creates a control flow graph printer. * - * @param buffer where the output generated via this printer shown be written + * @param out where the output generated via this printer shown be written */ public CFGPrinter(OutputStream out) { super(out); diff -r e4b9af013c4a -r 1d2eeb28537f graal/com.oracle.max.asm/src/com/oracle/max/asm/target/amd64/AMD64Assembler.java --- a/graal/com.oracle.max.asm/src/com/oracle/max/asm/target/amd64/AMD64Assembler.java Thu Jun 28 13:09:54 2012 +0200 +++ b/graal/com.oracle.max.asm/src/com/oracle/max/asm/target/amd64/AMD64Assembler.java Thu Jun 28 13:10:28 2012 +0200 @@ -2185,8 +2185,8 @@ * Creates prefix and the encoding of the lower 6 bits of the ModRM-Byte. It emits an operand prefix. If the given * operands exceed 3 bits, the 4th bit is encoded in the prefix. * - * @param regEnc the encoding of the register part of the ModRM-Byte - * @param rmEnc the encoding of the r/m part of the ModRM-Byte + * @param regEncoding the encoding of the register part of the ModRM-Byte + * @param rmEncoding the encoding of the r/m part of the ModRM-Byte * @return the lower 6 bits of the ModRM-Byte that should be emitted */ private int prefixqAndEncode(int regEncoding, int rmEncoding) { diff -r e4b9af013c4a -r 1d2eeb28537f graal/com.oracle.max.cri/src/com/oracle/max/cri/util/UnsignedMath.java --- a/graal/com.oracle.max.cri/src/com/oracle/max/cri/util/UnsignedMath.java Thu Jun 28 13:09:54 2012 +0200 +++ b/graal/com.oracle.max.cri/src/com/oracle/max/cri/util/UnsignedMath.java Thu Jun 28 13:10:28 2012 +0200 @@ -23,7 +23,7 @@ package com.oracle.max.cri.util; /** - * {@link INTRINSIC} method definitions for unsigned comparisons. + * Utilities for unsigned comparisons. * All methods have correct, but slow, standard Java implementations so that * they can be used with compilers not supporting the intrinsics. */ diff -r e4b9af013c4a -r 1d2eeb28537f graal/com.oracle.max.cri/src/com/oracle/max/cri/xir/CiXirAssembler.java --- a/graal/com.oracle.max.cri/src/com/oracle/max/cri/xir/CiXirAssembler.java Thu Jun 28 13:09:54 2012 +0200 +++ b/graal/com.oracle.max.cri/src/com/oracle/max/cri/xir/CiXirAssembler.java Thu Jun 28 13:10:28 2012 +0200 @@ -294,7 +294,7 @@ /** * Represents an XIR instruction, characterized by an {@link XirOp operation}, a {@link Kind kind}, an optional {@link XirOperand result}, a variable number of {@link XirOperand arguments}, * and some optional instruction-specific state. The {@link #x}, {@link #y} and {@link #z} methods are convenient ways to access the first, second and third - * arguments, respectively. Only the {@link XirOp#CallStub} and {@link XirOp#CallRuntime} instructions can have more than three arguments. + * arguments, respectively. Only {@link XirOp#CallRuntime} instructions can have more than three arguments. * */ public static final class XirInstruction { @@ -499,7 +499,7 @@ */ PointerCAS, /** - * Call the {@link RiMethod} defined by {@code extra} with {@code args} and put the result in {@code r}. + * Call the {@link JavaMethod} defined by {@code extra} with {@code args} and put the result in {@code r}. */ CallRuntime, /** @@ -786,7 +786,7 @@ } /** - * Terminates the assembly, checking invariants, in particular that {@link resultOperand} is set, and setting {@link #finished} to {@code true}. + * Terminates the assembly, checking invariants, in particular that {@link #resultOperand} is set, and setting {@link #finished} to {@code true}. */ private void end() { assert !finished : "template may only be finished once!"; diff -r e4b9af013c4a -r 1d2eeb28537f graal/com.oracle.max.criutils/src/com/oracle/max/criutils/CompilationPrinter.java --- a/graal/com.oracle.max.criutils/src/com/oracle/max/criutils/CompilationPrinter.java Thu Jun 28 13:09:54 2012 +0200 +++ b/graal/com.oracle.max.criutils/src/com/oracle/max/criutils/CompilationPrinter.java Thu Jun 28 13:10:28 2012 +0200 @@ -104,7 +104,7 @@ } /** - * Formats a given {@linkplain FrameState JVM frame state} as a multi line string. + * Formats given debug info as a multi line string. */ protected String debugInfoToString(BytecodePosition codePos, BitSet registerRefMap, BitSet frameRefMap, Architecture arch) { StringBuilder sb = new StringBuilder(); diff -r e4b9af013c4a -r 1d2eeb28537f graal/com.oracle.max.criutils/src/com/oracle/max/criutils/JniMangle.java --- a/graal/com.oracle.max.criutils/src/com/oracle/max/criutils/JniMangle.java Thu Jun 28 13:09:54 2012 +0200 +++ b/graal/com.oracle.max.criutils/src/com/oracle/max/criutils/JniMangle.java Thu Jun 28 13:10:28 2012 +0200 @@ -60,7 +60,7 @@ } /** - * The delimiter in the string returned by {@link #mangleMethod(TypeDescriptor, String, SignatureDescriptor, boolean)} separating + * The delimiter in the string returned by {@link #mangleMethod(ResolvedJavaType, String, Signature, boolean)} separating * the short mangled form from the suffix to be added to obtain the long mangled form. */ public static final char LONG_NAME_DELIMITER = ' '; diff -r e4b9af013c4a -r 1d2eeb28537f graal/com.oracle.max.criutils/src/com/oracle/max/criutils/SnapshotProfilingInfo.java --- a/graal/com.oracle.max.criutils/src/com/oracle/max/criutils/SnapshotProfilingInfo.java Thu Jun 28 13:09:54 2012 +0200 +++ b/graal/com.oracle.max.criutils/src/com/oracle/max/criutils/SnapshotProfilingInfo.java Thu Jun 28 13:10:28 2012 +0200 @@ -96,7 +96,6 @@ * * @param file a file created by {@link #save(File, File)} * @param runtime the runtime used to resolve {@link ResolvedJavaType}s during deserialization - * @return * @throws ClassNotFoundException * @throws IOException */ diff -r e4b9af013c4a -r 1d2eeb28537f graal/com.oracle.max.criutils/src/com/oracle/max/criutils/TTY.java --- a/graal/com.oracle.max.criutils/src/com/oracle/max/criutils/TTY.java Thu Jun 28 13:09:54 2012 +0200 +++ b/graal/com.oracle.max.criutils/src/com/oracle/max/criutils/TTY.java Thu Jun 28 13:10:28 2012 +0200 @@ -42,7 +42,7 @@ /** * Creates an object that will suppress {@link TTY} for the current thread if the given filter does not - * {@linkplain #matches(String, Object) match} the given object. To revert the suppression state to how it was + * match the given object. To revert the suppression state to how it was * before this call, the {@link #remove()} method must be called on the suppression object. * * @param filter the pattern for matching. If {@code null}, then the match is successful. If it starts with "~", diff -r e4b9af013c4a -r 1d2eeb28537f mx/eclipse-settings/org.eclipse.jdt.core.prefs --- a/mx/eclipse-settings/org.eclipse.jdt.core.prefs Thu Jun 28 13:09:54 2012 +0200 +++ b/mx/eclipse-settings/org.eclipse.jdt.core.prefs Thu Jun 28 13:10:28 2012 +0200 @@ -54,7 +54,7 @@ org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore -org.eclipse.jdt.core.compiler.problem.invalidJavadoc=ignore +org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled @@ -66,7 +66,9 @@ org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public +org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore +org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=private org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error diff -r e4b9af013c4a -r 1d2eeb28537f mxtool/mx.py --- a/mxtool/mx.py Thu Jun 28 13:09:54 2012 +0200 +++ b/mxtool/mx.py Thu Jun 28 13:10:28 2012 +0200 @@ -1248,27 +1248,10 @@ try: if jdtJar is None: log('Compiling Java sources for {0} with javac...'.format(p.name)) - errFilt = None + javacCmd = [java().javac, '-g', '-J-Xmx1g', '-source', args.compliance, '-classpath', cp, '-d', outputDir, '@' + argfile.name] if not args.warnAPI: - class Filter: - """ - Class to errFilt the 'is Sun proprietary API and may be removed in a future release' - warning when compiling the VM classes. - - """ - def __init__(self): - self.c = 0 - - def eat(self, line): - if 'proprietary API' in line: - self.c = 2 - elif self.c != 0: - self.c -= 1 - else: - log(line.rstrip()) - errFilt=Filter().eat - - run([java().javac, '-g', '-J-Xmx1g', '-source', args.compliance, '-classpath', cp, '-d', outputDir, '@' + argfile.name], err=errFilt) + javacCmd.append('-XDignore.symbol.file') + run(javacCmd) else: log('Compiling Java sources for {0} with JDT...'.format(p.name)) jdtArgs = [java().java, '-Xmx1g', '-jar', jdtJar, @@ -1965,6 +1948,7 @@ parser.add_argument('--unified', action='store_true', help='put javadoc in a single directory instead of one per project') parser.add_argument('--force', action='store_true', help='(re)generate javadoc even if package-list file exists') parser.add_argument('--projects', action='store', help='comma separated projects to process (omit to process all projects)') + parser.add_argument('--Wapi', action='store_true', dest='warnAPI', help='show warnings about using internal APIs') parser.add_argument('--argfile', action='store', help='name of file containing extra javadoc options') parser.add_argument('--arg', action='append', dest='extra_args', help='extra Javadoc arguments (e.g. --arg @-use)', metavar='@', default=[]) parser.add_argument('-m', '--memory', action='store', help='-Xmx value to pass to underlying JVM') @@ -2028,6 +2012,9 @@ if not args.unified: for p in projects: + # The project must be built to ensure javadoc can find class files for all referenced classes + build(['--no-native', '--projects', p.name]) + pkgs = find_packages(p.source_dirs(), set()) deps = p.all_deps([], includeLibs=False, includeSelf=False) links = ['-link', 'http://docs.oracle.com/javase/' + str(p.javaCompliance.value) + '/docs/api/'] @@ -2042,9 +2029,13 @@ overview = [] if exists(overviewFile): overview = ['-overview', overviewFile] + nowarnAPI = [] + if not args.warnAPI: + nowarnAPI.append('-XDignore.symbol.file') log('Generating {2} for {0} in {1}'.format(p.name, out, docDir)) run([java().javadoc, memory, '-windowtitle', p.name + ' javadoc', + '-XDignore.symbol.file', '-classpath', cp, '-quiet', '-d', out, @@ -2052,9 +2043,13 @@ links + extraArgs + overview + + nowarnAPI + list(pkgs)) log('Generated {2} for {0} in {1}'.format(p.name, out, docDir)) else: + # The projects must be built to ensure javadoc can find class files for all referenced classes + build(['--no-native']) + pkgs = set() sp = [] names = [] @@ -2069,8 +2064,19 @@ out = join(args.base, docDir) cp = classpath() sp = os.pathsep.join(sp) + nowarnAPI = [] + if not args.warnAPI: + nowarnAPI.append('-XDignore.symbol.file') log('Generating {2} for {0} in {1}'.format(', '.join(names), out, docDir)) - run([java().javadoc, memory, '-classpath', cp, '-quiet', '-d', out, '-sourcepath', sp] + links + extraArgs + list(pkgs)) + run([java().javadoc, memory, + '-classpath', cp, + '-quiet', + '-d', out, + '-sourcepath', sp] + + links + + extraArgs + + nowarnAPI + + list(pkgs)) log('Generated {2} for {0} in {1}'.format(', '.join(names), out, docDir)) def findclass(args):