changeset 9231:be0647c2f89c

Merge
author kvn
date Thu, 11 Jul 2013 12:31:10 -0700
parents 2465dffd6054 758c21301545
children 116b000fd800
files makefiles/CompileNativeLibraries.gmk src/share/classes/java/security/acl/package.html src/share/classes/java/security/cert/package.html src/share/classes/java/security/interfaces/package.html src/share/classes/java/security/package.html src/share/classes/java/security/spec/package.html src/share/classes/sun/security/krb5/internal/rcache/CacheTable.java src/share/classes/sun/security/krb5/internal/rcache/ReplayCache.java test/java/util/Comparators/BasicTest.java test/sun/security/krb5/auto/ReplayCache.java
diffstat 513 files changed, 15782 insertions(+), 7075 deletions(-) [+]
line wrap: on
line diff
--- a/.hgtags	Tue Jul 02 17:38:40 2013 -0700
+++ b/.hgtags	Thu Jul 11 12:31:10 2013 -0700
@@ -217,3 +217,6 @@
 691d6c6cd332d98b0f0221445a73906776f31f72 jdk8-b93
 51479fa56b7c4363c6d87c2e8b898d8185cf4b22 jdk8-b94
 42aa9f1828852bb8b77e98ec695211493ae0759d jdk8-b95
+4a5d3cf2b3af1660db0237e8da324c140e534fa4 jdk8-b96
+978a95239044f26dcc8a6d59246be07ad6ca6be2 jdk8-b97
+c4908732fef5235f1b98cafe0ce507771ef7892c jdk8-b98
--- a/make/common/Release.gmk	Tue Jul 02 17:38:40 2013 -0700
+++ b/make/common/Release.gmk	Thu Jul 11 12:31:10 2013 -0700
@@ -252,7 +252,7 @@
 	 $(INITIAL_IMAGE_JRE) $(INITIAL_IMAGE_JDK) \
 	 trim-image-jre trim-image-jdk \
          identify-image-jre identify-image-jdk \
-	 process-image-jre process-image-jdk sec-files sec-files-win jgss-files 
+	 process-image-jre process-image-jdk sec-files sec-files-win jgss-files
 endif
 
 # Don't use these
@@ -400,7 +400,8 @@
 # classes that go into jfr.jar
 JFR_CLASSES_DIRS= \
 	com/oracle/jrockit/jfr \
-	oracle/jrockit/jfr
+	oracle/jrockit/jfr \
+	jdk/jfr
 
 # classes that go into jsse.jar
 JSSE_CLASSES_DIRS = \
@@ -612,6 +613,7 @@
 	$(ECHO) "oracle/jrockit/jfr/parser/" >> $@
 	$(ECHO) "oracle/jrockit/jfr/settings/" >> $@
 	$(ECHO) "oracle/jrockit/jfr/tools/" >> $@
+	$(ECHO) "jdk/jfr/" >> $@
 endif
 endif
 
--- a/make/java/java/FILES_java.gmk	Tue Jul 02 17:38:40 2013 -0700
+++ b/make/java/java/FILES_java.gmk	Thu Jul 11 12:31:10 2013 -0700
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 1996, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -529,7 +529,6 @@
     sun/misc/JavaNioAccess.java \
     sun/misc/Perf.java \
     sun/misc/PerfCounter.java \
-    sun/misc/Hashing.java \
     sun/net/www/protocol/jar/Handler.java \
     sun/net/www/protocol/jar/JarURLConnection.java \
     sun/net/www/protocol/file/Handler.java \
--- a/make/sun/font/Makefile	Tue Jul 02 17:38:40 2013 -0700
+++ b/make/sun/font/Makefile	Thu Jul 11 12:31:10 2013 -0700
@@ -36,7 +36,11 @@
 CPLUSPLUSLIBRARY=true
 
 # Use higher optimization level
+ifeq ($(PLATFORM), windows)
+OPTIMIZATION_LEVEL = HIGHEST
+else
 OPTIMIZATION_LEVEL = HIGHER
+endif
 
 include $(BUILDDIR)/common/Defs.gmk
 
--- a/makefiles/CompileNativeLibraries.gmk	Tue Jul 02 17:38:40 2013 -0700
+++ b/makefiles/CompileNativeLibraries.gmk	Thu Jul 11 12:31:10 2013 -0700
@@ -1332,7 +1332,7 @@
 ifeq ($(OPENJDK_TARGET_OS),windows)
     LIBFONTMANAGER_EXCLUDE_FILES += X11FontScaler.c \
 				    X11TextRenderer.c
-    LIBFONTMANAGER_OPTIMIZATION:=LOW
+LIBFONTMANAGER_OPTIMIZATION:=HIGHEST
 else
     LIBFONTMANAGER_EXCLUDE_FILES += fontpath.c \
 				    lcdglyph.c
--- a/makefiles/CreateJars.gmk	Tue Jul 02 17:38:40 2013 -0700
+++ b/makefiles/CreateJars.gmk	Thu Jul 11 12:31:10 2013 -0700
@@ -132,7 +132,7 @@
 ##########################################################################################
 
 # Full JRE exclude list for rt.jar and resources.jar
-# This value should exclude types destined for jars other than rt.jar and resources.jar. 
+# This value should exclude types destined for jars other than rt.jar and resources.jar.
 # When building a Profile this value augments the profile specific exclusions
 RT_JAR_EXCLUDES += \
 	com/oracle/security \
@@ -246,7 +246,8 @@
 	sun/util/resources/cldr \
 	$(LOCALEDATA_INCLUDES) \
 	com/oracle/jrockit/jfr \
-	oracle/jrockit/jfr
+	oracle/jrockit/jfr \
+	jdk/jfr
 
 ifeq ($(OPENJDK_TARGET_OS), macosx)
         RT_JAR_EXCLUDES += com/sun/nio/sctp \
@@ -337,7 +338,7 @@
 
 
 # Support for removing the addPropertyChangeListener and removePropertyChangeListener
-# methods from classes that only go into the profile builds. 
+# methods from classes that only go into the profile builds.
 BEANLESS_CLASSES = $(IMAGES_OUTPUTDIR)/beanless
 
 # When there are $ characters in filenames we have some very subtle interactions between
@@ -352,7 +353,7 @@
     java/util/jar/Pack200\$$Packer.class \
     java/util/jar/Pack200\$$Unpacker.class \
     com/sun/java/util/jar/pack/PackerImpl.class \
-    com/sun/java/util/jar/pack/UnpackerImpl.class 
+    com/sun/java/util/jar/pack/UnpackerImpl.class
 
 ifneq ($(PROFILE),)
     BEANLESS_CLASSES_TARGETS := $(addprefix $(BEANLESS_CLASSES)/, $(CLASSES_TO_DEBEAN))
@@ -428,7 +429,8 @@
 		SRCS:=$(JDK_OUTPUTDIR)/classes,\
 		SUFFIXES:=.class .jfc .xsd,\
 		INCLUDES:=com/oracle/jrockit/jfr \
-			  oracle/jrockit/jfr,\
+			  oracle/jrockit/jfr \
+			  jdk/jfr,\
 		JAR:=$(IMAGES_OUTPUTDIR)/lib/jfr.jar,\
 		SKIP_METAINF:=true,\
 		MANIFEST:=$(MAINMANIFEST), \
@@ -468,14 +470,14 @@
 	$(MV) $@.tmp $@
 
 ##########################################################################################
-# For security and crypto jars, always build the jar, but for closed, install the prebuilt 
-# signed version instead of the newly built jar. Unsigned jars are treated as intermediate 
-# targets and explicitly added to the JARS list. For open, signing is not needed. See 
+# For security and crypto jars, always build the jar, but for closed, install the prebuilt
+# signed version instead of the newly built jar. Unsigned jars are treated as intermediate
+# targets and explicitly added to the JARS list. For open, signing is not needed. See
 # SignJars.gmk for more information.
 #
 # The source for the crypto jars is not available for all licensees. The BUILD_CRYPTO
 # variable is set to no if these jars can't be built to skip that step of the build.
-# Note that for OPENJDK, the build will fail if BUILD_CRYPTO=no since then there is no 
+# Note that for OPENJDK, the build will fail if BUILD_CRYPTO=no since then there is no
 # other way to get the jars than to build them.
 
 SUNPKCS11_JAR_DST := $(IMAGES_OUTPUTDIR)/lib/ext/sunpkcs11.jar
@@ -738,7 +740,7 @@
 	@$(ECHO) $(LOG_INFO) "\n>>>Installing prebuilt OracleUcrypto provider..."
 	$(install-file)
 
-JARS += $(UCRYPTO_JAR_UNSIGNED) 
+JARS += $(UCRYPTO_JAR_UNSIGNED)
 
 endif
 endif
--- a/makefiles/profile-includes.txt	Tue Jul 02 17:38:40 2013 -0700
+++ b/makefiles/profile-includes.txt	Thu Jul 11 12:31:10 2013 -0700
@@ -125,13 +125,11 @@
     $(OPENJDK_TARGET_CPU_LEGACY_LIB)/$(LIBRARY_PREFIX)jaas_unix$(SHARED_LIBRARY_SUFFIX) \
     $(OPENJDK_TARGET_CPU_LEGACY_LIB)/$(LIBRARY_PREFIX)java_crw_demo$(SHARED_LIBRARY_SUFFIX) \
     $(OPENJDK_TARGET_CPU_LEGACY_LIB)/$(LIBRARY_PREFIX)java_crw_demo.diz \
-    $(OPENJDK_TARGET_CPU_LEGACY_LIB)/$(LIBRARY_PREFIX)jfr$(SHARED_LIBRARY_SUFFIX) \
     $(OPENJDK_TARGET_CPU_LEGACY_LIB)/$(LIBRARY_PREFIX)jsdt$(SHARED_LIBRARY_SUFFIX) \
     $(OPENJDK_TARGET_CPU_LEGACY_LIB)/$(LIBRARY_PREFIX)jsdt.diz \
     $(OPENJDK_TARGET_CPU_LEGACY_LIB)/$(LIBRARY_PREFIX)management$(SHARED_LIBRARY_SUFFIX) \
     $(OPENJDK_TARGET_CPU_LEGACY_LIB)/$(LIBRARY_PREFIX)management.diz \
     $(OPENJDK_TARGET_CPU_LEGACY_LIB)/$(LIBRARY_PREFIX)sctp$(SHARED_LIBRARY_SUFFIX) \
-    jfr.jar \
     jvm.hprof.txt \
     management-agent.jar \
     management/jmxremote.access \
@@ -164,6 +162,7 @@
     $(OPENJDK_TARGET_CPU_LEGACY_LIB)/$(LIBRARY_PREFIX)fontmanager$(SHARED_LIBRARY_SUFFIX) \
     $(OPENJDK_TARGET_CPU_LEGACY_LIB)/$(LIBRARY_PREFIX)jawt$(SHARED_LIBRARY_SUFFIX) \
     $(OPENJDK_TARGET_CPU_LEGACY_LIB)/$(LIBRARY_PREFIX)jdwp$(SHARED_LIBRARY_SUFFIX) \
+    $(OPENJDK_TARGET_CPU_LEGACY_LIB)/$(LIBRARY_PREFIX)jfr$(SHARED_LIBRARY_SUFFIX) \
     $(OPENJDK_TARGET_CPU_LEGACY_LIB)/$(LIBRARY_PREFIX)jpeg$(SHARED_LIBRARY_SUFFIX) \
     $(OPENJDK_TARGET_CPU_LEGACY_LIB)/$(LIBRARY_PREFIX)jsound$(SHARED_LIBRARY_SUFFIX) \
     $(OPENJDK_TARGET_CPU_LEGACY_LIB)/$(LIBRARY_PREFIX)jsoundalsa$(SHARED_LIBRARY_SUFFIX) \
@@ -214,6 +213,7 @@
     images/cursors/motif_MoveDrop32x32.gif \
     images/cursors/motif_MoveNoDrop32x32.gif \
     jexec \
+    jfr.jar \
     oblique-fonts/LucidaSansDemiOblique.ttf \
     oblique-fonts/LucidaSansOblique.ttf \
     oblique-fonts/LucidaTypewriterBoldOblique.ttf \
--- a/makefiles/sun/awt/ToBin.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/makefiles/sun/awt/ToBin.java	Thu Jul 11 12:31:10 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2013 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/src/macosx/classes/sun/lwawt/macosx/CEmbeddedFrame.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/macosx/classes/sun/lwawt/macosx/CEmbeddedFrame.java	Thu Jul 11 12:31:10 2013 -0700
@@ -127,8 +127,21 @@
         }
     }
 
+    /**
+     * When the parent window is activated this method is called for all EmbeddedFrames in it.
+     *
+     * For the CEmbeddedFrame which had focus before the deactivation this method triggers
+     * focus events in the following order:
+     *  1. WINDOW_ACTIVATED for this EmbeddedFrame
+     *  2. WINDOW_GAINED_FOCUS for this EmbeddedFrame
+     *  3. FOCUS_GAINED for the most recent focus owner in this EmbeddedFrame
+     *
+     * The caller must not requestFocus on the EmbeddedFrame together with calling this method.
+     *
+     * @param parentWindowActive true if the window is activated, false otherwise
+     */
     // handleWindowFocusEvent is called for all applets, when the browser
-    // becames active/inactive. This event should be filtered out for
+    // becomes active/inactive. This event should be filtered out for
     // non-focused applet. This method can be called from different threads.
     public void handleWindowFocusEvent(boolean parentWindowActive) {
         this.parentWindowActive = parentWindowActive;
--- a/src/macosx/native/sun/awt/AWTEvent.m	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/macosx/native/sun/awt/AWTEvent.m	Thu Jul 11 12:31:10 2013 -0700
@@ -382,7 +382,7 @@
 {
     TISInputSourceRef currentKeyboard = TISCopyCurrentKeyboardInputSource();
     CFDataRef uchr = (CFDataRef)TISGetInputSourceProperty(currentKeyboard, kTISPropertyUnicodeKeyLayoutData);
-    if (uchr == nil) { return; }
+    if (uchr == nil) { return 0; }
     const UCKeyboardLayout *keyboardLayout = (const UCKeyboardLayout*)CFDataGetBytePtr(uchr);
     // Carbon modifiers should be used instead of NSEvent modifiers
     UInt32 modifierKeyState = (GetCurrentEventKeyModifiers() >> 8) & 0xFF;
--- a/src/share/classes/java/beans/XMLEncoder.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/beans/XMLEncoder.java	Thu Jul 11 12:31:10 2013 -0700
@@ -377,7 +377,7 @@
             Object arg = args[i];
             mark(arg, true);
         }
-        mark(stm.getTarget(), false);
+        mark(stm.getTarget(), stm instanceof Expression);
     }
 
 
--- a/src/share/classes/java/lang/Boolean.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/lang/Boolean.java	Thu Jul 11 12:31:10 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1994, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1994, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -205,9 +205,9 @@
      * Returns a hash code for a {@code boolean} value; compatible with
      * {@code Boolean.hashCode()}.
      *
+     * @param value the value to hash
+     * @return a hash code value for a {@code boolean} value.
      * @since 1.8
-     *
-     * @return a hash code value for a {@code boolean} value.
      */
     public static int hashCode(boolean value) {
         return value ? 1231 : 1237;
--- a/src/share/classes/java/lang/Byte.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/lang/Byte.java	Thu Jul 11 12:31:10 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -398,9 +398,9 @@
      * Returns a hash code for a {@code byte} value; compatible with
      * {@code Byte.hashCode()}.
      *
+     * @param value the value to hash
+     * @return a hash code value for a {@code byte} value.
      * @since 1.8
-     *
-     * @return a hash code value for a {@code byte} value.
      */
     public static int hashCode(byte value) {
         return (int)value;
--- a/src/share/classes/java/lang/Class.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/lang/Class.java	Thu Jul 11 12:31:10 2013 -0700
@@ -3250,6 +3250,8 @@
      * could not be checked at runtime (because generic types are implemented
      * by erasure).
      *
+     * @param <U> the type to cast this class object to
+     * @param clazz the class of the type to cast this class object to
      * @return this {@code Class} object, cast to represent a subclass of
      *    the specified class object.
      * @throws ClassCastException if this {@code Class} object does not
@@ -3405,6 +3407,7 @@
      * If this Class represents either the Object class, an interface type, an
      * array type, a primitive type, or void, the return value is null.
      *
+     * @return an object representing the superclass
      * @since 1.8
      */
     public AnnotatedType getAnnotatedSuperclass() {
@@ -3436,6 +3439,7 @@
      * If this Class represents either the Object class, an array type, a
      * primitive type, or void, the return value is an array of length 0.
      *
+     * @return an array representing the superinterfaces
      * @since 1.8
      */
     public AnnotatedType[] getAnnotatedInterfaces() {
--- a/src/share/classes/java/lang/Double.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/lang/Double.java	Thu Jul 11 12:31:10 2013 -0700
@@ -453,8 +453,7 @@
      * a {@code NumberFormatException} be thrown, the regular
      * expression below can be used to screen the input string:
      *
-     * <code>
-     * <pre>
+     * <pre>{@code
      *  final String Digits     = "(\\p{Digit}+)";
      *  final String HexDigits  = "(\\p{XDigit}+)";
      *  // an exponent is 'e' or 'E' followed by an optionally
@@ -474,7 +473,7 @@
      *       // in addition to strings of floating-point literals, the
      *       // two sub-patterns below are simplifications of the grammar
      *       // productions from section 3.10.2 of
-     *       // <cite>The Java&trade; Language Specification</cite>.
+     *       // The Java Language Specification.
      *
      *       // Digits ._opt Digits_opt ExponentPart_opt FloatTypeSuffix_opt
      *       "((("+Digits+"(\\.)?("+Digits+"?)("+Exp+")?)|"+
@@ -499,8 +498,7 @@
      *  else {
      *      // Perform suitable alternative action
      *  }
-     * </pre>
-     * </code>
+     * }</pre>
      *
      * @param      s   the string to be parsed.
      * @return     a {@code Double} object holding the value
@@ -756,9 +754,9 @@
      * Returns a hash code for a {@code double} value; compatible with
      * {@code Double.hashCode()}.
      *
+     * @param value the value to hash
+     * @return a hash code value for a {@code double} value.
      * @since 1.8
-     *
-     * @return a hash code value for a {@code double} value.
      */
     public static int hashCode(double value) {
         long bits = doubleToLongBits(value);
--- a/src/share/classes/java/lang/Float.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/lang/Float.java	Thu Jul 11 12:31:10 2013 -0700
@@ -664,9 +664,9 @@
      * Returns a hash code for a {@code float} value; compatible with
      * {@code Float.hashCode()}.
      *
+     * @param value the value to hash
+     * @return a hash code value for a {@code float} value.
      * @since 1.8
-     *
-     * @return a hash code value for a {@code float} value.
      */
     public static int hashCode(float value) {
         return floatToIntBits(value);
--- a/src/share/classes/java/lang/Integer.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/lang/Integer.java	Thu Jul 11 12:31:10 2013 -0700
@@ -951,6 +951,7 @@
      * Returns a hash code for a {@code int} value; compatible with
      * {@code Integer.hashCode()}.
      *
+     * @param value the value to hash
      * @since 1.8
      *
      * @return a hash code value for a {@code int} value.
@@ -1336,6 +1337,7 @@
      * one-bits in its two's complement binary representation, that is, if it
      * is equal to zero.
      *
+     * @param i the value whose highest one bit is to be computed
      * @return an {@code int} value with a single one-bit, in the position
      *     of the highest-order one-bit in the specified value, or zero if
      *     the specified value is itself equal to zero.
@@ -1358,6 +1360,7 @@
      * one-bits in its two's complement binary representation, that is, if it
      * is equal to zero.
      *
+     * @param i the value whose lowest one bit is to be computed
      * @return an {@code int} value with a single one-bit, in the position
      *     of the lowest-order one-bit in the specified value, or zero if
      *     the specified value is itself equal to zero.
@@ -1382,6 +1385,7 @@
      * <li>ceil(log<sub>2</sub>(x)) = {@code 32 - numberOfLeadingZeros(x - 1)}
      * </ul>
      *
+     * @param i the value whose number of leading zeros is to be computed
      * @return the number of zero bits preceding the highest-order
      *     ("leftmost") one-bit in the two's complement binary representation
      *     of the specified {@code int} value, or 32 if the value
@@ -1408,6 +1412,7 @@
      * one-bits in its two's complement representation, in other words if it is
      * equal to zero.
      *
+     * @param i the value whose number of trailing zeros is to be computed
      * @return the number of zero bits following the lowest-order ("rightmost")
      *     one-bit in the two's complement binary representation of the
      *     specified {@code int} value, or 32 if the value is equal
@@ -1431,6 +1436,7 @@
      * representation of the specified {@code int} value.  This function is
      * sometimes referred to as the <i>population count</i>.
      *
+     * @param i the value whose bits are to be counted
      * @return the number of one-bits in the two's complement binary
      *     representation of the specified {@code int} value.
      * @since 1.5
@@ -1458,6 +1464,8 @@
      * ignored, even if the distance is negative: {@code rotateLeft(val,
      * distance) == rotateLeft(val, distance & 0x1F)}.
      *
+     * @param i the value whose bits are to be rotated left
+     * @param distance the number of bit positions to rotate left
      * @return the value obtained by rotating the two's complement binary
      *     representation of the specified {@code int} value left by the
      *     specified number of bits.
@@ -1480,6 +1488,8 @@
      * ignored, even if the distance is negative: {@code rotateRight(val,
      * distance) == rotateRight(val, distance & 0x1F)}.
      *
+     * @param i the value whose bits are to be rotated right
+     * @param distance the number of bit positions to rotate right
      * @return the value obtained by rotating the two's complement binary
      *     representation of the specified {@code int} value right by the
      *     specified number of bits.
@@ -1494,6 +1504,7 @@
      * two's complement binary representation of the specified {@code int}
      * value.
      *
+     * @param i the value to be reversed
      * @return the value obtained by reversing order of the bits in the
      *     specified {@code int} value.
      * @since 1.5
@@ -1513,6 +1524,7 @@
      * return value is -1 if the specified value is negative; 0 if the
      * specified value is zero; and 1 if the specified value is positive.)
      *
+     * @param i the value whose signum is to be computed
      * @return the signum function of the specified {@code int} value.
      * @since 1.5
      */
@@ -1525,6 +1537,7 @@
      * Returns the value obtained by reversing the order of the bytes in the
      * two's complement representation of the specified {@code int} value.
      *
+     * @param i the value whose bytes are to be reversed
      * @return the value obtained by reversing the bytes in the specified
      *     {@code int} value.
      * @since 1.5
--- a/src/share/classes/java/lang/Long.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/lang/Long.java	Thu Jul 11 12:31:10 2013 -0700
@@ -1053,9 +1053,9 @@
      * Returns a hash code for a {@code long} value; compatible with
      * {@code Long.hashCode()}.
      *
+     * @param value the value to hash
+     * @return a hash code value for a {@code long} value.
      * @since 1.8
-     *
-     * @return a hash code value for a {@code long} value.
      */
     public static int hashCode(long value) {
         return (int)(value ^ (value >>> 32));
@@ -1357,6 +1357,7 @@
      * one-bits in its two's complement binary representation, that is, if it
      * is equal to zero.
      *
+     * @param i the value whose highest one bit is to be computed
      * @return a {@code long} value with a single one-bit, in the position
      *     of the highest-order one-bit in the specified value, or zero if
      *     the specified value is itself equal to zero.
@@ -1380,6 +1381,7 @@
      * one-bits in its two's complement binary representation, that is, if it
      * is equal to zero.
      *
+     * @param i the value whose lowest one bit is to be computed
      * @return a {@code long} value with a single one-bit, in the position
      *     of the lowest-order one-bit in the specified value, or zero if
      *     the specified value is itself equal to zero.
@@ -1404,6 +1406,7 @@
      * <li>ceil(log<sub>2</sub>(x)) = {@code 64 - numberOfLeadingZeros(x - 1)}
      * </ul>
      *
+     * @param i the value whose number of leading zeros is to be computed
      * @return the number of zero bits preceding the highest-order
      *     ("leftmost") one-bit in the two's complement binary representation
      *     of the specified {@code long} value, or 64 if the value
@@ -1432,6 +1435,7 @@
      * one-bits in its two's complement representation, in other words if it is
      * equal to zero.
      *
+     * @param i the value whose number of trailing zeros is to be computed
      * @return the number of zero bits following the lowest-order ("rightmost")
      *     one-bit in the two's complement binary representation of the
      *     specified {@code long} value, or 64 if the value is equal
@@ -1456,6 +1460,7 @@
      * representation of the specified {@code long} value.  This function is
      * sometimes referred to as the <i>population count</i>.
      *
+     * @param i the value whose bits are to be counted
      * @return the number of one-bits in the two's complement binary
      *     representation of the specified {@code long} value.
      * @since 1.5
@@ -1484,6 +1489,8 @@
      * ignored, even if the distance is negative: {@code rotateLeft(val,
      * distance) == rotateLeft(val, distance & 0x3F)}.
      *
+     * @param i the value whose bits are to be rotated left
+     * @param distance the number of bit positions to rotate left
      * @return the value obtained by rotating the two's complement binary
      *     representation of the specified {@code long} value left by the
      *     specified number of bits.
@@ -1506,6 +1513,8 @@
      * ignored, even if the distance is negative: {@code rotateRight(val,
      * distance) == rotateRight(val, distance & 0x3F)}.
      *
+     * @param i the value whose bits are to be rotated right
+     * @param distance the number of bit positions to rotate right
      * @return the value obtained by rotating the two's complement binary
      *     representation of the specified {@code long} value right by the
      *     specified number of bits.
@@ -1520,6 +1529,7 @@
      * two's complement binary representation of the specified {@code long}
      * value.
      *
+     * @param i the value to be reversed
      * @return the value obtained by reversing order of the bits in the
      *     specified {@code long} value.
      * @since 1.5
@@ -1540,6 +1550,7 @@
      * return value is -1 if the specified value is negative; 0 if the
      * specified value is zero; and 1 if the specified value is positive.)
      *
+     * @param i the value whose signum is to be computed
      * @return the signum function of the specified {@code long} value.
      * @since 1.5
      */
@@ -1552,6 +1563,7 @@
      * Returns the value obtained by reversing the order of the bytes in the
      * two's complement representation of the specified {@code long} value.
      *
+     * @param i the value whose bytes are to be reversed
      * @return the value obtained by reversing the bytes in the specified
      *     {@code long} value.
      * @since 1.5
--- a/src/share/classes/java/lang/Package.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/lang/Package.java	Thu Jul 11 12:31:10 2013 -0700
@@ -77,18 +77,18 @@
  * by the following formal grammar:
  * <blockquote>
  * <dl>
- * <dt><i>SpecificationVersion:
- * <dd>Digits RefinedVersion<sub>opt</sub></i>
+ * <dt><i>SpecificationVersion:</i>
+ * <dd><i>Digits RefinedVersion<sub>opt</sub></i>
 
- * <p><dt><i>RefinedVersion:</i>
+ * <dt><i>RefinedVersion:</i>
  * <dd>{@code .} <i>Digits</i>
  * <dd>{@code .} <i>Digits RefinedVersion</i>
  *
- * <p><dt><i>Digits:
- * <dd>Digit
- * <dd>Digits</i>
+ * <dt><i>Digits:</i>
+ * <dd><i>Digit</i>
+ * <dd><i>Digits</i>
  *
- * <p><dt><i>Digit:</i>
+ * <dt><i>Digit:</i>
  * <dd>any character for which {@link Character#isDigit} returns {@code true},
  * e.g. 0, 1, 2, ...
  * </dl>
--- a/src/share/classes/java/lang/Runtime.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/lang/Runtime.java	Thu Jul 11 12:31:10 2013 -0700
@@ -117,11 +117,11 @@
      *
      *   <ul>
      *
-     *   <p> <li> The program <i>exits</i> normally, when the last non-daemon
+     *   <li> The program <i>exits</i> normally, when the last non-daemon
      *   thread exits or when the <tt>{@link #exit exit}</tt> (equivalently,
-     *   <tt>{@link System#exit(int) System.exit}</tt>) method is invoked, or
+     *   {@link System#exit(int) System.exit}) method is invoked, or
      *
-     *   <p> <li> The virtual machine is <i>terminated</i> in response to a
+     *   <li> The virtual machine is <i>terminated</i> in response to a
      *   user interrupt, such as typing <tt>^C</tt>, or a system-wide event,
      *   such as user logoff or system shutdown.
      *
--- a/src/share/classes/java/lang/Short.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/lang/Short.java	Thu Jul 11 12:31:10 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -403,9 +403,9 @@
      * Returns a hash code for a {@code short} value; compatible with
      * {@code Short.hashCode()}.
      *
+     * @param value the value to hash
+     * @return a hash code value for a {@code short} value.
      * @since 1.8
-     *
-     * @return a hash code value for a {@code short} value.
      */
     public static int hashCode(short value) {
         return (int)value;
@@ -482,6 +482,7 @@
      * Returns the value obtained by reversing the order of the bytes in the
      * two's complement representation of the specified {@code short} value.
      *
+     * @param i the value whose bytes are to be reversed
      * @return the value obtained by reversing (or, equivalently, swapping)
      *     the bytes in the specified {@code short} value.
      * @since 1.5
--- a/src/share/classes/java/lang/StrictMath.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/lang/StrictMath.java	Thu Jul 11 12:31:10 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -1419,6 +1419,7 @@
      * {@link Float#MIN_EXPONENT} -1.
      * </ul>
      * @param f a {@code float} value
+     * @return the unbiased exponent of the argument
      * @since 1.6
      */
     public static int getExponent(float f) {
@@ -1436,6 +1437,7 @@
      * {@link Double#MIN_EXPONENT} -1.
      * </ul>
      * @param d a {@code double} value
+     * @return the unbiased exponent of the argument
      * @since 1.6
      */
     public static int getExponent(double d) {
--- a/src/share/classes/java/lang/SuppressWarnings.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/lang/SuppressWarnings.java	Thu Jul 11 12:31:10 2013 -0700
@@ -66,6 +66,7 @@
      * additional warning names they support in conjunction with this
      * annotation type. They are encouraged to cooperate to ensure
      * that the same names work across multiple compilers.
+     * @return the set of warnings to be suppressed
      */
     String[] value();
 }
--- a/src/share/classes/java/lang/System.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/lang/System.java	Thu Jul 11 12:31:10 2013 -0700
@@ -634,6 +634,8 @@
      *
      * <p>On UNIX systems, it returns {@code "\n"}; on Microsoft
      * Windows systems it returns {@code "\r\n"}.
+     *
+     * @return the system-dependent line separator string
      * @since 1.7
      */
     public static String lineSeparator() {
--- a/src/share/classes/java/lang/Thread.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/lang/Thread.java	Thu Jul 11 12:31:10 2013 -0700
@@ -1993,12 +1993,21 @@
 
 
     // The following three initially uninitialized fields are exclusively
-    // managed by class java.util.concurrent.ThreadLocalRandom.
+    // managed by class java.util.concurrent.ThreadLocalRandom. These
+    // fields are used to build the high-performance PRNGs in the
+    // concurrent code, and we can not risk accidental false sharing.
+    // Hence, the fields are isolated with @Contended.
+
     /** The current seed for a ThreadLocalRandom */
+    @sun.misc.Contended("tlr")
     long threadLocalRandomSeed;
+
     /** Probe hash value; nonzero if threadLocalRandomSeed initialized */
+    @sun.misc.Contended("tlr")
     int threadLocalRandomProbe;
+
     /** Secondary seed isolated from public ThreadLocalRandom sequence */
+    @sun.misc.Contended("tlr")
     int threadLocalRandomSecondarySeed;
 
     /* Some private helper methods */
--- a/src/share/classes/java/lang/annotation/Annotation.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/lang/annotation/Annotation.java	Thu Jul 11 12:31:10 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -126,6 +126,7 @@
 
     /**
      * Returns the annotation type of this annotation.
+     * @return the annotation type of this annotation
      */
     Class<? extends Annotation> annotationType();
 }
--- a/src/share/classes/java/lang/annotation/Repeatable.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/lang/annotation/Repeatable.java	Thu Jul 11 12:31:10 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -43,6 +43,7 @@
     /**
      * Indicates the <em>containing annotation type</em> for the
      * repeatable annotation type.
+     * @return the containing annotation type
      */
     Class<? extends Annotation> value();
 }
--- a/src/share/classes/java/lang/annotation/Retention.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/lang/annotation/Retention.java	Thu Jul 11 12:31:10 2013 -0700
@@ -44,5 +44,9 @@
 @Retention(RetentionPolicy.RUNTIME)
 @Target(ElementType.ANNOTATION_TYPE)
 public @interface Retention {
+    /**
+     * Returns the retention policy.
+     * @return the retention policy
+     */
     RetentionPolicy value();
 }
--- a/src/share/classes/java/lang/annotation/Target.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/lang/annotation/Target.java	Thu Jul 11 12:31:10 2013 -0700
@@ -67,5 +67,11 @@
 @Retention(RetentionPolicy.RUNTIME)
 @Target(ElementType.ANNOTATION_TYPE)
 public @interface Target {
+    /**
+     * Returns an array of the kinds of elements an annotation type
+     * can be applied to.
+     * @return an array of the kinds of elements an annotation type
+     * can be applied to
+     */
     ElementType[] value();
 }
--- a/src/share/classes/java/lang/instrument/Instrumentation.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/lang/instrument/Instrumentation.java	Thu Jul 11 12:31:10 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -363,6 +363,8 @@
      * Primitive classes (for example, <code>java.lang.Integer.TYPE</code>)
      * and array classes are never modifiable.
      *
+     * @param theClass the class to check for being modifiable
+     * @return whether or not the argument class is modifiable
      * @throws java.lang.NullPointerException if the specified class is <code>null</code>.
      *
      * @see #retransformClasses
@@ -549,14 +551,14 @@
      * {@link java.lang.instrument.ClassFileTransformer ClassFileTransformer},
      * it enables native methods to be
      * instrumented.
-     * <p/>
+     * <p>
      * Since native methods cannot be directly instrumented
      * (they have no bytecodes), they must be wrapped with
      * a non-native method which can be instrumented.
      * For example, if we had:
      * <pre>
      *   native boolean foo(int x);</pre>
-     * <p/>
+     * <p>
      * We could transform the class file (with the
      * ClassFileTransformer during the initial definition
      * of the class) so that this becomes:
@@ -567,14 +569,14 @@
      *   }
      *
      *   native boolean wrapped_foo(int x);</pre>
-     * <p/>
+     * <p>
      * Where <code>foo</code> becomes a wrapper for the actual native
      * method with the appended prefix "wrapped_".  Note that
      * "wrapped_" would be a poor choice of prefix since it
      * might conceivably form the name of an existing method
      * thus something like "$$$MyAgentWrapped$$$_" would be
      * better but would make these examples less readable.
-     * <p/>
+     * <p>
      * The wrapper will allow data to be collected on the native
      * method call, but now the problem becomes linking up the
      * wrapped method with the native implementation.
@@ -583,7 +585,7 @@
      * which might be:
      * <pre>
      *   Java_somePackage_someClass_foo(JNIEnv* env, jint x)</pre>
-     * <p/>
+     * <p>
      * This function allows the prefix to be specified and the
      * proper resolution to occur.
      * Specifically, when the standard resolution fails, the
@@ -596,29 +598,29 @@
      * <pre>{@code
      *   method(foo) -> nativeImplementation(foo)
      * }</pre>
-     * <p/>
+     * <p>
      * When this fails, the resolution will be retried with
      * the specified prefix prepended to the method name,
      * yielding the correct resolution:
      * <pre>{@code
      *   method(wrapped_foo) -> nativeImplementation(foo)
      * }</pre>
-     * <p/>
+     * <p>
      * For automatic resolution, the JVM will attempt:
      * <pre>{@code
      *   method(wrapped_foo) -> nativeImplementation(wrapped_foo)
      * }</pre>
-     * <p/>
+     * <p>
      * When this fails, the resolution will be retried with
      * the specified prefix deleted from the implementation name,
      * yielding the correct resolution:
      * <pre>{@code
      *   method(wrapped_foo) -> nativeImplementation(foo)
      * }</pre>
-     * <p/>
+     * <p>
      * Note that since the prefix is only used when standard
      * resolution fails, native methods can be wrapped selectively.
-     * <p/>
+     * <p>
      * Since each <code>ClassFileTransformer</code>
      * can do its own transformation of the bytecodes, more
      * than one layer of wrappers may be applied. Thus each
--- a/src/share/classes/java/lang/invoke/InnerClassLambdaMetafactory.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/lang/invoke/InnerClassLambdaMetafactory.java	Thu Jul 11 12:31:10 2013 -0700
@@ -112,7 +112,9 @@
         implMethodDesc = implMethodType.toMethodDescriptorString();
         Type implMethodAsmType = Type.getMethodType(implMethodDesc);
         implMethodArgumentTypes = implMethodAsmType.getArgumentTypes();
-        implMethodReturnType = implMethodAsmType.getReturnType();
+        implMethodReturnType = (implKind == MethodHandleInfo.REF_newInvokeSpecial)
+                ? Type.getObjectType(implMethodClassName)
+                : implMethodAsmType.getReturnType();
         constructorType = invokedType.changeReturnType(Void.TYPE);
         constructorDesc = constructorType.toMethodDescriptorString();
         lambdaClassName = targetClass.getName().replace('.', '/') + "$$Lambda$" + counter.incrementAndGet();
--- a/src/share/classes/java/lang/invoke/LambdaConversionException.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/lang/invoke/LambdaConversionException.java	Thu Jul 11 12:31:10 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -29,21 +29,45 @@
  * LambdaConversionException
  */
 public class LambdaConversionException extends Exception {
+    /**
+     * Constructs a {@code LambdaConversionException}.
+     */
     public LambdaConversionException() {
     }
 
+    /**
+     * Constructs a {@code LambdaConversionException} with a message.
+     * @param message the detail message
+     */
     public LambdaConversionException(String message) {
         super(message);
     }
 
+    /**
+     * Constructs a {@code LambdaConversionException} with a message and cause.
+     * @param message the detail message
+     * @param cause the cause
+     */
     public LambdaConversionException(String message, Throwable cause) {
         super(message, cause);
     }
 
+    /**
+     * Constructs a {@code LambdaConversionException} with a cause.
+     * @param cause the cause
+     */
     public LambdaConversionException(Throwable cause) {
         super(cause);
     }
 
+    /**
+     * Constructs a {@code LambdaConversionException} with a message,
+     * cause, and other settings.
+     * @param message the detail message
+     * @param cause the cause
+     * @param enableSuppression whether or not suppressed exceptions are enabled
+     * @param writableStackTrace whether or not the stack trace is writable
+     */
     public LambdaConversionException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) {
         super(message, cause, enableSuppression, writableStackTrace);
     }
--- a/src/share/classes/java/lang/invoke/LambdaMetafactory.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/lang/invoke/LambdaMetafactory.java	Thu Jul 11 12:31:10 2013 -0700
@@ -111,7 +111,7 @@
  * done on return type, while a strict version is applied to arguments.
  *
  * <p>A type Q is considered adaptable to S as follows:
- * <table>
+ * <table summary="adaptable types">
  *     <tr><th>Q</th><th>S</th><th>Link-time checks</th><th>Capture-time checks</th></tr>
  *     <tr>
  *         <td>Primitive</td><td>Primitive</td>
@@ -155,7 +155,7 @@
 
     private static final Class<?>[] EMPTY_CLASS_ARRAY = new Class<?>[0];
 
-/**
+    /**
      * Standard meta-factory for conversion of lambda expressions or method references to functional interfaces.
      *
      * @param caller Stacked automatically by VM; represents a lookup context with the accessibility privileges
@@ -174,7 +174,7 @@
      * @param instantiatedMethodType The signature of the primary functional interface method after type variables
      *                               are substituted with their instantiation from the capture site
      * @return a CallSite, which, when invoked, will return an instance of the functional interface
-     * @throws ReflectiveOperationException
+     * @throws ReflectiveOperationException if the caller is not able to reconstruct one of the method handles
      * @throws LambdaConversionException If any of the meta-factory protocol invariants are violated
      */
     public static CallSite metaFactory(MethodHandles.Lookup caller,
@@ -226,7 +226,7 @@
      *                    the first argument in the invocation signature will correspond to the receiver.
      * @param  args       argument to pass, flags, marker interface count, and marker interfaces as described above
      * @return a CallSite, which, when invoked, will return an instance of the functional interface
-     * @throws ReflectiveOperationException
+     * @throws ReflectiveOperationException if the caller is not able to reconstruct one of the method handles
      * @throws LambdaConversionException If any of the meta-factory protocol invariants are violated
      */
     public static CallSite altMetaFactory(MethodHandles.Lookup caller,
--- a/src/share/classes/java/lang/invoke/MethodHandle.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/lang/invoke/MethodHandle.java	Thu Jul 11 12:31:10 2013 -0700
@@ -44,7 +44,7 @@
  * {@linkplain java.lang.invoke.MethodHandles#dropArguments deletion},
  * and {@linkplain java.lang.invoke.MethodHandles#filterArguments substitution}.
  *
- * <h3>Method handle contents</h3>
+ * <h1>Method handle contents</h1>
  * Method handles are dynamically and strongly typed according to their parameter and return types.
  * They are not distinguished by the name or the defining class of their underlying methods.
  * A method handle must be invoked using a symbolic type descriptor which matches
@@ -81,7 +81,7 @@
  * from its specific class, as the method handle class hierarchy (if any)
  * may change from time to time or across implementations from different vendors.
  *
- * <h3>Method handle compilation</h3>
+ * <h1>Method handle compilation</h1>
  * A Java method call expression naming {@code invokeExact} or {@code invoke}
  * can invoke a method handle from Java source code.
  * From the viewpoint of source code, these methods can take any arguments
@@ -111,7 +111,7 @@
  * The ambiguity with the type {@code Void} is harmless, since there are no references of type
  * {@code Void} except the null reference.
  *
- * <h3>Method handle invocation</h3>
+ * <h1>Method handle invocation</h1>
  * The first time a {@code invokevirtual} instruction is executed
  * it is linked, by symbolically resolving the names in the instruction
  * and verifying that the method call is statically legal.
@@ -154,7 +154,7 @@
  * (<em>Note:</em> The adjusted method handle {@code M2} is not directly observable,
  * and implementations are therefore not required to materialize it.)
  *
- * <h3>Invocation checking</h3>
+ * <h1>Invocation checking</h1>
  * In typical programs, method handle type matching will usually succeed.
  * But if a match fails, the JVM will throw a {@link WrongMethodTypeException},
  * either directly (in the case of {@code invokeExact}) or indirectly as if
@@ -195,7 +195,7 @@
  * They should not be passed to untrusted code unless their use from
  * the untrusted code would be harmless.
  *
- * <h3>Method handle creation</h3>
+ * <h1>Method handle creation</h1>
  * Java code can create a method handle that directly accesses
  * any method, constructor, or field that is accessible to that code.
  * This is done via a reflective, capability-based API called
@@ -249,7 +249,7 @@
  * receiver type.  Such a method handle simulates the effect of
  * an {@code invokespecial} instruction to the same method.
  *
- * <h3>Usage examples</h3>
+ * <h1>Usage examples</h1>
  * Here are some examples of usage:
  * <p><blockquote><pre>{@code
 Object x, y; String s; int i;
@@ -295,7 +295,7 @@
  * be a method which calls {@link java.util.Objects#equals(Object,Object) Objects.equals }
  * on its arguments, and asserts that the result is true.
  *
- * <h3>Exceptions</h3>
+ * <h1>Exceptions</h1>
  * The methods {@code invokeExact} and {@code invoke} are declared
  * to throw {@link java.lang.Throwable Throwable},
  * which is to say that there is no static restriction on what a method handle
@@ -308,7 +308,7 @@
  * throwables locally, rethrowing only those which are legal in the context,
  * and wrapping ones which are illegal.
  *
- * <h3><a name="sigpoly"></a>Signature polymorphism</h3>
+ * <h1><a name="sigpoly"></a>Signature polymorphism</h1>
  * The unusual compilation and linkage behavior of
  * {@code invokeExact} and plain {@code invoke}
  * is referenced by the term <em>signature polymorphism</em>.
@@ -333,7 +333,7 @@
  * Tools which determine symbolic linkage are required to accept such
  * untransformed descriptors, without reporting linkage errors.
  *
- * <h3>Interoperation between method handles and the Core Reflection API</h3>
+ * <h1>Interoperation between method handles and the Core Reflection API</h1>
  * Using factory methods in the {@link java.lang.invoke.MethodHandles.Lookup Lookup} API,
  * any class member represented by a Core Reflection API object
  * can be converted to a behaviorally equivalent method handle.
@@ -375,7 +375,7 @@
  * to call {@code invokeExact} or plain {@code invoke},
  * for any specified type descriptor .
  *
- * <h3>Interoperation between method handles and Java generics</h3>
+ * <h1>Interoperation between method handles and Java generics</h1>
  * A method handle can be obtained on a method, constructor, or field
  * which is declared with Java generic types.
  * As with the Core Reflection API, the type of the method handle
@@ -457,6 +457,8 @@
      * {@link java.lang.reflect.Method#invoke java.lang.reflect.Method.invoke}, via JNI,
      * or indirectly via {@link java.lang.invoke.MethodHandles.Lookup#unreflect Lookup.unreflect},
      * it will throw an {@code UnsupportedOperationException}.
+     * @param args the signature-polymorphic parameter list, statically represented using varargs
+     * @return the signature-polymorphic result, statically represented using {@code Object}
      * @throws WrongMethodTypeException if the target's type is not identical with the caller's symbolic type descriptor
      * @throws Throwable anything thrown by the underlying method propagates unchanged through the method handle call
      */
@@ -491,6 +493,8 @@
      * {@link java.lang.reflect.Method#invoke java.lang.reflect.Method.invoke}, via JNI,
      * or indirectly via {@link java.lang.invoke.MethodHandles.Lookup#unreflect Lookup.unreflect},
      * it will throw an {@code UnsupportedOperationException}.
+     * @param args the signature-polymorphic parameter list, statically represented using varargs
+     * @return the signature-polymorphic result, statically represented using {@code Object}
      * @throws WrongMethodTypeException if the target's type cannot be adjusted to the caller's symbolic type descriptor
      * @throws ClassCastException if the target's type can be adjusted to the caller, but a reference cast fails
      * @throws Throwable anything thrown by the underlying method propagates unchanged through the method handle call
@@ -511,15 +515,26 @@
      * operations on outgoing argument values.)
      * The caller can assume that the incoming result value is part of the range
      * of the callee's return type.
+     * @param args the signature-polymorphic parameter list, statically represented using varargs
+     * @return the signature-polymorphic result, statically represented using {@code Object}
      */
     /*non-public*/ final native @PolymorphicSignature Object invokeBasic(Object... args) throws Throwable;
 
+    /**
+     * Private method for trusted invocation of a MemberName of kind {@code REF_invokeVirtual}.
+     * The caller signature is restricted to basic types as with {@code invokeBasic}.
+     * The trailing (not leading) argument must be a MemberName.
+     * @param args the signature-polymorphic parameter list, statically represented using varargs
+     * @return the signature-polymorphic result, statically represented using {@code Object}
+     */
     /*non-public*/ static native @PolymorphicSignature Object linkToVirtual(Object... args) throws Throwable;
 
     /**
      * Private method for trusted invocation of a MemberName of kind {@code REF_invokeStatic}.
      * The caller signature is restricted to basic types as with {@code invokeBasic}.
      * The trailing (not leading) argument must be a MemberName.
+     * @param args the signature-polymorphic parameter list, statically represented using varargs
+     * @return the signature-polymorphic result, statically represented using {@code Object}
      */
     /*non-public*/ static native @PolymorphicSignature Object linkToStatic(Object... args) throws Throwable;
 
@@ -527,6 +542,8 @@
      * Private method for trusted invocation of a MemberName of kind {@code REF_invokeSpecial}.
      * The caller signature is restricted to basic types as with {@code invokeBasic}.
      * The trailing (not leading) argument must be a MemberName.
+     * @param args the signature-polymorphic parameter list, statically represented using varargs
+     * @return the signature-polymorphic result, statically represented using {@code Object}
      */
     /*non-public*/ static native @PolymorphicSignature Object linkToSpecial(Object... args) throws Throwable;
 
@@ -534,6 +551,8 @@
      * Private method for trusted invocation of a MemberName of kind {@code REF_invokeInterface}.
      * The caller signature is restricted to basic types as with {@code invokeBasic}.
      * The trailing (not leading) argument must be a MemberName.
+     * @param args the signature-polymorphic parameter list, statically represented using varargs
+     * @return the signature-polymorphic result, statically represented using {@code Object}
      */
     /*non-public*/ static native @PolymorphicSignature Object linkToInterface(Object... args) throws Throwable;
 
--- a/src/share/classes/java/lang/invoke/MethodHandleProxies.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/lang/invoke/MethodHandleProxies.java	Thu Jul 11 12:31:10 2013 -0700
@@ -108,8 +108,9 @@
      * Future versions of this API may also equip wrapper instances
      * with one or more additional public "marker" interfaces.
      *
+     * @param <T> the desired type of the wrapper, a single-method interface
+     * @param intfc a class object representing {@code T}
      * @param target the method handle to invoke from the wrapper
-     * @param intfc the desired type of the wrapper, a single-method interface
      * @return a correctly-typed wrapper for the given target
      * @throws NullPointerException if either argument is null
      * @throws IllegalArgumentException if the {@code intfc} is not a
--- a/src/share/classes/java/lang/invoke/MethodHandles.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/lang/invoke/MethodHandles.java	Thu Jul 11 12:31:10 2013 -0700
@@ -70,6 +70,7 @@
      * including direct method handles to private fields and methods.
      * This lookup object is a <em>capability</em> which may be delegated to trusted agents.
      * Do not store it in place where untrusted code can access it.
+     * @return a lookup object for the caller of this method
      */
     @CallerSensitive
     public static Lookup lookup() {
@@ -88,6 +89,7 @@
      * {@linkplain Lookup#in <code>publicLookup().in(C.class)</code>}.
      * Since all classes have equal access to public names,
      * such a change would confer no new access rights.
+     * @return a lookup object which is trusted minimally
      */
     public static Lookup publicLookup() {
         return Lookup.PUBLIC_LOOKUP;
@@ -111,72 +113,74 @@
      * on the {@code Lookup} object to create method handles for access-checked members.
      * This includes all methods, constructors, and fields which are allowed to the lookup class,
      * even private ones.
-     * <p>
+     *
+     * <h1><a name="lookups"></a>Lookup Factory Methods</h1>
      * The factory methods on a {@code Lookup} object correspond to all major
      * use cases for methods, constructors, and fields.
      * Here is a summary of the correspondence between these factory methods and
      * the behavior the resulting method handles:
-     * <code>
      * <table border=1 cellpadding=5 summary="lookup method behaviors">
      * <tr><th>lookup expression</th><th>member</th><th>behavior</th></tr>
      * <tr>
-     *     <td>{@linkplain java.lang.invoke.MethodHandles.Lookup#findGetter lookup.findGetter(C.class,"f",FT.class)}</td>
-     *     <td>FT f;</td><td>(T) this.f;</td>
+     *     <td>{@link java.lang.invoke.MethodHandles.Lookup#findGetter lookup.findGetter(C.class,"f",FT.class)}</td>
+     *     <td>{@code FT f;}</td><td>{@code (T) this.f;}</td>
      * </tr>
      * <tr>
-     *     <td>{@linkplain java.lang.invoke.MethodHandles.Lookup#findStaticGetter lookup.findStaticGetter(C.class,"f",FT.class)}</td>
-     *     <td>static<br>FT f;</td><td>(T) C.f;</td>
+     *     <td>{@link java.lang.invoke.MethodHandles.Lookup#findStaticGetter lookup.findStaticGetter(C.class,"f",FT.class)}</td>
+     *     <td>{@code static}<br>{@code FT f;}</td><td>{@code (T) C.f;}</td>
      * </tr>
      * <tr>
-     *     <td>{@linkplain java.lang.invoke.MethodHandles.Lookup#findSetter lookup.findSetter(C.class,"f",FT.class)}</td>
-     *     <td>FT f;</td><td>this.f = x;</td>
+     *     <td>{@link java.lang.invoke.MethodHandles.Lookup#findSetter lookup.findSetter(C.class,"f",FT.class)}</td>
+     *     <td>{@code FT f;}</td><td>{@code this.f = x;}</td>
      * </tr>
      * <tr>
-     *     <td>{@linkplain java.lang.invoke.MethodHandles.Lookup#findStaticSetter lookup.findStaticSetter(C.class,"f",FT.class)}</td>
-     *     <td>static<br>FT f;</td><td>C.f = arg;</td>
+     *     <td>{@link java.lang.invoke.MethodHandles.Lookup#findStaticSetter lookup.findStaticSetter(C.class,"f",FT.class)}</td>
+     *     <td>{@code static}<br>{@code FT f;}</td><td>{@code C.f = arg;}</td>
      * </tr>
      * <tr>
-     *     <td>{@linkplain java.lang.invoke.MethodHandles.Lookup#findVirtual lookup.findVirtual(C.class,"m",MT)}</td>
-     *     <td>T m(A*);</td><td>(T) this.m(arg*);</td>
+     *     <td>{@link java.lang.invoke.MethodHandles.Lookup#findVirtual lookup.findVirtual(C.class,"m",MT)}</td>
+     *     <td>{@code T m(A*);}</td><td>{@code (T) this.m(arg*);}</td>
      * </tr>
      * <tr>
-     *     <td>{@linkplain java.lang.invoke.MethodHandles.Lookup#findStatic lookup.findStatic(C.class,"m",MT)}</td>
-     *     <td>static<br>T m(A*);</td><td>(T) C.m(arg*);</td>
+     *     <td>{@link java.lang.invoke.MethodHandles.Lookup#findStatic lookup.findStatic(C.class,"m",MT)}</td>
+     *     <td>{@code static}<br>{@code T m(A*);}</td><td>{@code (T) C.m(arg*);}</td>
      * </tr>
      * <tr>
-     *     <td>{@linkplain java.lang.invoke.MethodHandles.Lookup#findSpecial lookup.findSpecial(C.class,"m",MT,this.class)}</td>
-     *     <td>T m(A*);</td><td>(T) super.m(arg*);</td>
+     *     <td>{@link java.lang.invoke.MethodHandles.Lookup#findSpecial lookup.findSpecial(C.class,"m",MT,this.class)}</td>
+     *     <td>{@code T m(A*);}</td><td>{@code (T) super.m(arg*);}</td>
      * </tr>
      * <tr>
-     *     <td>{@linkplain java.lang.invoke.MethodHandles.Lookup#findConstructor lookup.findConstructor(C.class,MT)}</td>
-     *     <td>C(A*);</td><td>(T) new C(arg*);</td>
+     *     <td>{@link java.lang.invoke.MethodHandles.Lookup#findConstructor lookup.findConstructor(C.class,MT)}</td>
+     *     <td>{@code C(A*);}</td><td>{@code new C(arg*);}</td>
      * </tr>
      * <tr>
-     *     <td>{@linkplain java.lang.invoke.MethodHandles.Lookup#unreflectGetter lookup.unreflectGetter(aField)}</td>
-     *     <td>(static)?<br>FT f;</td><td>(FT) aField.get(thisOrNull);</td>
+     *     <td>{@link java.lang.invoke.MethodHandles.Lookup#unreflectGetter lookup.unreflectGetter(aField)}</td>
+     *     <td>({@code static})?<br>{@code FT f;}</td><td>{@code (FT) aField.get(thisOrNull);}</td>
      * </tr>
      * <tr>
-     *     <td>{@linkplain java.lang.invoke.MethodHandles.Lookup#unreflectSetter lookup.unreflectSetter(aField)}</td>
-     *     <td>(static)?<br>FT f;</td><td>aField.set(thisOrNull, arg);</td>
+     *     <td>{@link java.lang.invoke.MethodHandles.Lookup#unreflectSetter lookup.unreflectSetter(aField)}</td>
+     *     <td>({@code static})?<br>{@code FT f;}</td><td>{@code aField.set(thisOrNull, arg);}</td>
+     * </tr>
+     * <tr>
+     *     <td>{@link java.lang.invoke.MethodHandles.Lookup#unreflect lookup.unreflect(aMethod)}</td>
+     *     <td>({@code static})?<br>{@code T m(A*);}</td><td>{@code (T) aMethod.invoke(thisOrNull, arg*);}</td>
      * </tr>
      * <tr>
-     *     <td>{@linkplain java.lang.invoke.MethodHandles.Lookup#unreflect lookup.unreflect(aMethod)}</td>
-     *     <td>(static)?<br>T m(A*);</td><td>(T) aMethod.invoke(thisOrNull, arg*);</td>
-     * </tr>
-     * <tr>
-     *     <td>{@linkplain java.lang.invoke.MethodHandles.Lookup#unreflectConstructor lookup.unreflectConstructor(aConstructor)}</td>
-     *     <td>C(A*);</td><td>(C) aConstructor.newInstance(arg*);</td>
+     *     <td>{@link java.lang.invoke.MethodHandles.Lookup#unreflectConstructor lookup.unreflectConstructor(aConstructor)}</td>
+     *     <td>{@code C(A*);}</td><td>{@code (C) aConstructor.newInstance(arg*);}</td>
      * </tr>
      * <tr>
-     *     <td>{@linkplain java.lang.invoke.MethodHandles.Lookup#unreflect lookup.unreflect(aMethod)}</td>
-     *     <td>(static)?<br>T m(A*);</td><td>(T) aMethod.invoke(thisOrNull, arg*);</td>
+     *     <td>{@link java.lang.invoke.MethodHandles.Lookup#unreflect lookup.unreflect(aMethod)}</td>
+     *     <td>({@code static})?<br>{@code T m(A*);}</td><td>{@code (T) aMethod.invoke(thisOrNull, arg*);}</td>
      * </tr>
      * </table>
-     * </code>
+     *
      * Here, the type {@code C} is the class or interface being searched for a member,
      * documented as a parameter named {@code refc} in the lookup methods.
-     * The method or constructor type {@code MT} is composed from the return type {@code T}
+     * The method type {@code MT} is composed from the return type {@code T}
      * and the sequence of argument types {@code A*}.
+     * The constructor also has a sequence of argument types {@code A*} and
+     * is deemed to return the newly-created object of type {@code C}.
      * Both {@code MT} and the field type {@code FT} are documented as a parameter named {@code type}.
      * The formal parameter {@code this} stands for the self-reference of type {@code C};
      * if it is present, it is always the leading argument to the method handle invocation.
@@ -210,7 +214,7 @@
      * security manager checks.
      * </ul>
      *
-     * <h3><a name="access"></a>Access checking</h3>
+     * <h1><a name="access"></a>Access checking</h1>
      * Access checks are applied in the factory methods of {@code Lookup},
      * when a method handle is created.
      * This is a key difference from the Core Reflection API, since
@@ -297,7 +301,7 @@
      * with static methods of {@link MethodHandles},
      * independently of any {@code Lookup} object.
      *
-     * <h3>Security manager interactions</h3>
+     * <h1>Security manager interactions</h1>
      * <a name="secmgr"></a>
      * If a security manager is present, member lookups are subject to
      * additional checks.
@@ -388,6 +392,7 @@
          *  but the permissions may be additionally limited by the bitmask
          *  {@link #lookupModes lookupModes}, which controls whether non-public members
          *  can be accessed.
+         *  @return the lookup class, on behalf of which this lookup object finds members
          */
         public Class<?> lookupClass() {
             return lookupClass;
@@ -414,6 +419,7 @@
          *  The purpose of this is to restrict access via the new lookup object,
          *  so that it can access only names which can be reached by the original
          *  lookup object, and also by the new lookup class.
+         *  @return the lookup modes, which limit the kinds of access performed by this lookup object
          */
         public int lookupModes() {
             return allowedModes & ALL_MODES;
@@ -1352,6 +1358,7 @@
      * The type of the method handle will have a void return type.
      * Its last argument will be the array's element type.
      * The first and second arguments will be the array type and int.
+     * @param arrayClass the class of an array
      * @return a method handle which can store values into the array type
      * @throws NullPointerException if the argument is null
      * @throws IllegalArgumentException if arrayClass is not an array type
@@ -1580,12 +1587,12 @@
 ...
 MethodType intfn1 = methodType(int.class, int.class);
 MethodType intfn2 = methodType(int.class, int.class, int.class);
-MethodHandle sub = ... {int x, int y => x-y} ...;
+MethodHandle sub = ... (int x, int y) -> (x-y) ...;
 assert(sub.type().equals(intfn2));
 MethodHandle sub1 = permuteArguments(sub, intfn2, 0, 1);
 MethodHandle rsub = permuteArguments(sub, intfn2, 1, 0);
 assert((int)rsub.invokeExact(1, 100) == 99);
-MethodHandle add = ... {int x, int y => x+y} ...;
+MethodHandle add = ... (int x, int y) -> (x+y) ...;
 assert(add.type().equals(intfn2));
 MethodHandle twice = permuteArguments(add, intfn1, 0, 0);
 assert(twice.type().equals(intfn1));
@@ -2261,6 +2268,8 @@
      * The method type will nominally specify a return of {@code returnType}.
      * The return type may be anything convenient:  It doesn't matter to the
      * method handle's behavior, since it will never return normally.
+     * @param returnType the return type of the desired method handle
+     * @param exType the parameter type of the desired method handle
      * @return method handle which can throw the given exceptions
      * @throws NullPointerException if either argument is null
      */
--- a/src/share/classes/java/lang/invoke/MethodType.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/lang/invoke/MethodType.java	Thu Jul 11 12:31:10 2013 -0700
@@ -194,6 +194,8 @@
     /**
      * Finds or creates a method type with the given components.
      * Convenience method for {@link #methodType(java.lang.Class, java.lang.Class[]) methodType}.
+     * @param rtype  the return type
+     * @param ptypes the parameter types
      * @return a method type with the given components
      * @throws NullPointerException if {@code rtype} or {@code ptypes} or any element of {@code ptypes} is null
      * @throws IllegalArgumentException if any element of {@code ptypes} is {@code void.class}
@@ -214,6 +216,9 @@
      * Finds or creates a method type with the given components.
      * Convenience method for {@link #methodType(java.lang.Class, java.lang.Class[]) methodType}.
      * The leading parameter type is prepended to the remaining array.
+     * @param rtype  the return type
+     * @param ptype0 the first parameter type
+     * @param ptypes the remaining parameter types
      * @return a method type with the given components
      * @throws NullPointerException if {@code rtype} or {@code ptype0} or {@code ptypes} or any element of {@code ptypes} is null
      * @throws IllegalArgumentException if {@code ptype0} or {@code ptypes} or any element of {@code ptypes} is {@code void.class}
@@ -230,6 +235,7 @@
      * Finds or creates a method type with the given components.
      * Convenience method for {@link #methodType(java.lang.Class, java.lang.Class[]) methodType}.
      * The resulting method has no parameter types.
+     * @param rtype  the return type
      * @return a method type with the given return value
      * @throws NullPointerException if {@code rtype} is null
      */
@@ -242,6 +248,8 @@
      * Finds or creates a method type with the given components.
      * Convenience method for {@link #methodType(java.lang.Class, java.lang.Class[]) methodType}.
      * The resulting method has the single given parameter type.
+     * @param rtype  the return type
+     * @param ptype0 the parameter type
      * @return a method type with the given return value and parameter type
      * @throws NullPointerException if {@code rtype} or {@code ptype0} is null
      * @throws IllegalArgumentException if {@code ptype0} is {@code void.class}
@@ -256,6 +264,9 @@
      * Convenience method for {@link #methodType(java.lang.Class, java.lang.Class[]) methodType}.
      * The resulting method has the same parameter types as {@code ptypes},
      * and the specified return type.
+     * @param rtype  the return type
+     * @param ptypes the method type which supplies the parameter types
+     * @return a method type with the given components
      * @throws NullPointerException if {@code rtype} or {@code ptypes} is null
      */
     public static
@@ -938,7 +949,8 @@
      * provided to the factory method {@link #methodType(Class,Class[]) methodType}.
      * For example, null values, or {@code void} parameter types,
      * will lead to exceptions during deserialization.
-     * @param the stream to write the object to
+     * @param s the stream to write the object to
+     * @throws java.io.IOException if there is a problem writing the object
      */
     private void writeObject(java.io.ObjectOutputStream s) throws java.io.IOException {
         s.defaultWriteObject();  // requires serialPersistentFields to be an empty array
@@ -953,7 +965,9 @@
      * It provides the parameters to the factory method called by
      * {@link #readResolve readResolve}.
      * After that call it is discarded.
-     * @param the stream to read the object from
+     * @param s the stream to read the object from
+     * @throws java.io.IOException if there is a problem reading the object
+     * @throws ClassNotFoundException if one of the component classes cannot be resolved
      * @see #MethodType()
      * @see #readResolve
      * @see #writeObject
--- a/src/share/classes/java/lang/invoke/MutableCallSite.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/lang/invoke/MutableCallSite.java	Thu Jul 11 12:31:10 2013 -0700
@@ -195,7 +195,7 @@
      * processed before the method returns abnormally.
      * Which elements these are (if any) is implementation-dependent.
      *
-     * <h3>Java Memory Model details</h3>
+     * <h1>Java Memory Model details</h1>
      * In terms of the Java Memory Model, this operation performs a synchronization
      * action which is comparable in effect to the writing of a volatile variable
      * by the current thread, and an eventual volatile read by every other thread
--- a/src/share/classes/java/lang/invoke/SerializedLambda.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/lang/invoke/SerializedLambda.java	Thu Jul 11 12:31:10 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -97,66 +97,113 @@
         this.capturedArgs = Objects.requireNonNull(capturedArgs).clone();
     }
 
-    /** Get the name of the class that captured this lambda */
+    /**
+     * Get the name of the class that captured this lambda.
+     * @return the name of the class that captured this lambda
+     */
     public String getCapturingClass() {
         return capturingClass.getName().replace('.', '/');
     }
 
-    /** Get the name of the functional interface class to which this lambda has been converted */
+    /**
+     * Get the name of the functional interface class to which this
+     * lambda has been converted
+     * @return the name of the functional interface this lambda has
+     * been converted to
+     */
     public String getFunctionalInterfaceClass() {
         return functionalInterfaceClass;
     }
 
-    /** Get the name of the primary method for the functional interface to which this lambda has been converted */
+    /**
+     * Get the name of the primary method for the functional interface
+     * to which this lambda has been converted.
+     * @return the name of the primary methods of the functional interface
+     */
     public String getFunctionalInterfaceMethodName() {
         return functionalInterfaceMethodName;
     }
 
-    /** Get the signature of the primary method for the functional interface to which this lambda has been converted */
+    /**
+     * Get the signature of the primary method for the functional
+     * interface to which this lambda has been converted.
+     * @return the signature of the primary method of the functional
+     * interface
+     */
     public String getFunctionalInterfaceMethodSignature() {
         return functionalInterfaceMethodSignature;
     }
 
-    /** Get the method handle kind (see {@link MethodHandleInfo}) of the primary method for the functional interface
-     * to which this lambda has been converted */
+    /**
+     * Get the method handle kind (see {@link MethodHandleInfo}) of
+     * the primary method for the functional interface to which this
+     * lambda has been converted
+     * @return the method handle kind of the primary method of
+     * functional interface
+     */
     public int getFunctionalInterfaceMethodKind() {
         return functionalInterfaceMethodKind;
     }
 
-    /** Get the name of the class containing the implementation method */
+    /**
+     * Get the name of the class containing the implementation
+     * method.
+     * @return the name of the class containing the implementation
+     * method
+     */
     public String getImplClass() {
         return implClass;
     }
 
-    /** Get the name of the implementation method */
+    /**
+     * Get the name of the implementation method.
+     * @return the name of the implementation method
+     */
     public String getImplMethodName() {
         return implMethodName;
     }
 
-    /** Get the signature of the implementation method */
+    /**
+     * Get the signature of the implementation method.
+     * @return the signature of the implementation method
+     */
     public String getImplMethodSignature() {
         return implMethodSignature;
     }
 
-    /** Get the method handle kind (see {@link MethodHandleInfo}) of the implementation method */
+    /**
+     * Get the method handle kind (see {@link MethodHandleInfo}) of
+     * the implementation method.
+     * @return the method handle kind of the implementation method
+     */
     public int getImplMethodKind() {
         return implMethodKind;
     }
 
     /**
-     * Get the signature of the primary functional interface method after type variables are substituted with
-     * their instantiation from the capture site
+     * Get the signature of the primary functional interface method
+     * after type variables are substituted with their instantiation
+     * from the capture site.
+     * @return the signature of the primary functional interface method
+     * after type variable processing
      */
     public final String getInstantiatedMethodType() {
         return instantiatedMethodType;
     }
 
-    /** Get the count of dynamic arguments to the lambda capture site */
+    /**
+     * Get the count of dynamic arguments to the lambda capture site.
+     * @return the count of dynamic arguments to the lambda capture site
+     */
     public int getCapturedArgCount() {
         return capturedArgs.length;
     }
 
-    /** Get a dynamic argument to the lambda capture site */
+    /**
+     * Get a dynamic argument to the lambda capture site.
+     * @param i the argument to capture
+     * @return a dynamic argument to the lambda capture site
+     */
     public Object getCapturedArg(int i) {
         return capturedArgs[i];
     }
--- a/src/share/classes/java/lang/invoke/package-info.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/lang/invoke/package-info.java	Thu Jul 11 12:31:10 2013 -0700
@@ -43,13 +43,13 @@
  * </li>
  * </ul>
  *
- * <h2><a name="jvm_mods"></a>Summary of relevant Java Virtual Machine changes</h2>
+ * <h1><a name="jvm_mods"></a>Summary of relevant Java Virtual Machine changes</h1>
  * The following low-level information summarizes relevant parts of the
  * Java Virtual Machine specification.  For full details, please see the
  * current version of that specification.
  *
  * Each occurrence of an {@code invokedynamic} instruction is called a <em>dynamic call site</em>.
- * <h3><a name="indyinsn"></a>{@code invokedynamic} instructions</h3>
+ * <h2><a name="indyinsn"></a>{@code invokedynamic} instructions</h2>
  * A dynamic call site is originally in an unlinked state.  In this state, there is
  * no target method for the call site to invoke.
  * <p>
@@ -97,7 +97,7 @@
  * If this happens, the same error will the thrown for all subsequent
  * attempts to execute the dynamic call site.
  *
- * <h3>timing of linkage</h3>
+ * <h2>timing of linkage</h2>
  * A dynamic call site is linked just before its first execution.
  * The bootstrap method call implementing the linkage occurs within
  * a thread that is attempting a first execution.
@@ -131,7 +131,7 @@
  * just before its first invocation.
  * There is no way to undo the effect of a completed bootstrap method call.
  *
- * <h3>types of bootstrap methods</h3>
+ * <h2>types of bootstrap methods</h2>
  * As long as each bootstrap method can be correctly invoked
  * by {@code MethodHandle.invoke}, its detailed type is arbitrary.
  * For example, the first argument could be {@code Object}
--- a/src/share/classes/java/lang/reflect/AnnotatedElement.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/lang/reflect/AnnotatedElement.java	Thu Jul 11 12:31:10 2013 -0700
@@ -130,6 +130,7 @@
      * Returns this element's annotation for the specified type if
      * such an annotation is present, else null.
      *
+     * @param <T> the type of the annotation to query for and return if present
      * @param annotationClass the Class object corresponding to the
      *        annotation type
      * @return this element's annotation for the specified annotation type if
@@ -154,6 +155,7 @@
      * The caller of this method is free to modify the returned array; it will
      * have no effect on the arrays returned to other callers.
      *
+     * @param <T> the type of the annotation to query for and return if present
      * @param annotationClass the Class object corresponding to the
      *        annotation type
      * @return all this element's annotations for the specified annotation type if
@@ -184,6 +186,7 @@
      * This method ignores inherited annotations. (Returns null if no
      * annotations are directly present on this element.)
      *
+     * @param <T> the type of the annotation to query for and return if present
      * @param annotationClass the Class object corresponding to the
      *        annotation type
      * @return this element's annotation for the specified annotation type if
@@ -209,6 +212,8 @@
      * The caller of this method is free to modify the returned array; it will
      * have no effect on the arrays returned to other callers.
      *
+     * @param <T> the type of the annotation to query for and return
+     * if directly present
      * @param annotationClass the Class object corresponding to the
      *        annotation type
      * @return all this element's annotations for the specified annotation type if
--- a/src/share/classes/java/lang/reflect/Executable.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/lang/reflect/Executable.java	Thu Jul 11 12:31:10 2013 -0700
@@ -384,6 +384,8 @@
     /**
      * Returns a string describing this {@code Executable}, including
      * any type parameters.
+     * @return a string describing this {@code Executable}, including
+     * any type parameters
      */
     public abstract String toGenericString();
 
@@ -496,6 +498,8 @@
      * If this Executable represents a method, the AnnotatedType object
      * represents the use of a type to specify the return type of the method.
      *
+     * @return an object representing the return type of this method
+     * or constructor
      * @since 1.8
      */
     public abstract AnnotatedType getAnnotatedReturnType();
@@ -531,6 +535,9 @@
      *
      * Returns null if this Executable represents a static method.
      *
+     * @return an object representing the receiver type of the
+     * method or constructor represented by this Executable
+     *
      * @since 1.8
      */
     public AnnotatedType getAnnotatedReceiverType() {
@@ -553,6 +560,9 @@
      * Returns an array of length 0 if the method/constructor declares no
      * parameters.
      *
+     * @return an array of objects representing the types of the
+     * formal parameters of this method or constructor
+     *
      * @since 1.8
      */
     public AnnotatedType[] getAnnotatedParameterTypes() {
@@ -575,6 +585,9 @@
      * Returns an array of length 0 if the method/constructor declares no
      * exceptions.
      *
+     * @return an array of objects representing the declared
+     * exceptions of this method or constructor
+     *
      * @since 1.8
      */
     public AnnotatedType[] getAnnotatedExceptionTypes() {
--- a/src/share/classes/java/lang/reflect/Field.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/lang/reflect/Field.java	Thu Jul 11 12:31:10 2013 -0700
@@ -1151,6 +1151,8 @@
     /**
      * Returns an AnnotatedType object that represents the use of a type to specify
      * the declared type of the field represented by this Field.
+     * @return an object representing the declared type of the field
+     * represented by this Field
      *
      * @since 1.8
      */
--- a/src/share/classes/java/lang/reflect/Parameter.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/lang/reflect/Parameter.java	Thu Jul 11 12:31:10 2013 -0700
@@ -152,6 +152,8 @@
      * defined in a class file, then that name will be returned by
      * this method.  Otherwise, this method will synthesize a name of
      * the form argN, where N is the index of the parameter.
+     *
+     * @return the name of the parameter
      */
     public String getName() {
         // Note: empty strings as paramete names are now outlawed.
--- a/src/share/classes/java/lang/reflect/TypeVariable.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/lang/reflect/TypeVariable.java	Thu Jul 11 12:31:10 2013 -0700
@@ -95,6 +95,7 @@
      *
      * Returns an array of length 0 if the type parameter declares no bounds.
      *
+     * @return an array of objects representing the upper bounds of the type variable
      * @since 1.8
      */
      AnnotatedType[] getAnnotatedBounds();
--- a/src/share/classes/java/math/BigDecimal.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/math/BigDecimal.java	Thu Jul 11 12:31:10 2013 -0700
@@ -2572,6 +2572,9 @@
      * ({@code this} * 10<sup>n</sup>).  The scale of
      * the result is {@code (this.scale() - n)}.
      *
+     * @param n the exponent power of ten to scale by
+     * @return a BigDecimal whose numerical value is equal to
+     * ({@code this} * 10<sup>n</sup>)
      * @throws ArithmeticException if the scale would be
      *         outside the range of a 32-bit integer.
      *
--- a/src/share/classes/java/math/BigInteger.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/math/BigInteger.java	Thu Jul 11 12:31:10 2013 -0700
@@ -33,8 +33,11 @@
 import java.io.ObjectInputStream;
 import java.io.ObjectOutputStream;
 import java.io.ObjectStreamField;
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Random;
+import sun.misc.DoubleConsts;
+import sun.misc.FloatConsts;
 
 /**
  * Immutable arbitrary-precision integers.  All operations behave as if
@@ -211,6 +214,16 @@
      */
     private static final int TOOM_COOK_SQUARE_THRESHOLD = 140;
 
+    /**
+     * The threshold value for using Schoenhage recursive base conversion. If
+     * the number of ints in the number are larger than this value,
+     * the Schoenhage algorithm will be used.  In practice, it appears that the
+     * Schoenhage routine is faster for any threshold down to 2, and is
+     * relatively flat for thresholds between 2-25, so this choice may be
+     * varied within this range for very small effect.
+     */
+    private static final int SCHOENHAGE_BASE_CONVERSION_THRESHOLD = 8;
+
     //Constructors
 
     /**
@@ -1024,6 +1037,19 @@
     private static BigInteger posConst[] = new BigInteger[MAX_CONSTANT+1];
     private static BigInteger negConst[] = new BigInteger[MAX_CONSTANT+1];
 
+    /**
+     * The cache of powers of each radix.  This allows us to not have to
+     * recalculate powers of radix^(2^n) more than once.  This speeds
+     * Schoenhage recursive base conversion significantly.
+     */
+    private static volatile BigInteger[][] powerCache;
+
+    /** The cache of logarithms of radices for base conversion. */
+    private static final double[] logCache;
+
+    /** The natural log of 2.  This is used in computing cache indices. */
+    private static final double LOG_TWO = Math.log(2.0);
+
     static {
         for (int i = 1; i <= MAX_CONSTANT; i++) {
             int[] magnitude = new int[1];
@@ -1031,6 +1057,20 @@
             posConst[i] = new BigInteger(magnitude,  1);
             negConst[i] = new BigInteger(magnitude, -1);
         }
+
+        /*
+         * Initialize the cache of radix^(2^x) values used for base conversion
+         * with just the very first value.  Additional values will be created
+         * on demand.
+         */
+        powerCache = new BigInteger[Character.MAX_RADIX+1][];
+        logCache = new double[Character.MAX_RADIX+1];
+
+        for (int i=Character.MIN_RADIX; i<=Character.MAX_RADIX; i++)
+        {
+            powerCache[i] = new BigInteger[] { BigInteger.valueOf(i) };
+            logCache[i] = Math.log(i);
+        }
     }
 
     /**
@@ -1355,7 +1395,7 @@
             if ((xlen < TOOM_COOK_THRESHOLD) && (ylen < TOOM_COOK_THRESHOLD))
                 return multiplyKaratsuba(this, val);
             else
-               return multiplyToomCook3(this, val);
+                return multiplyToomCook3(this, val);
     }
 
     private static BigInteger multiplyByInt(int[] x, int y, int sign) {
@@ -3297,6 +3337,28 @@
         if (radix < Character.MIN_RADIX || radix > Character.MAX_RADIX)
             radix = 10;
 
+        // If it's small enough, use smallToString.
+        if (mag.length <= SCHOENHAGE_BASE_CONVERSION_THRESHOLD)
+           return smallToString(radix);
+
+        // Otherwise use recursive toString, which requires positive arguments.
+        // The results will be concatenated into this StringBuilder
+        StringBuilder sb = new StringBuilder();
+        if (signum < 0) {
+            toString(this.negate(), sb, radix, 0);
+            sb.insert(0, '-');
+        }
+        else
+            toString(this, sb, radix, 0);
+
+        return sb.toString();
+    }
+
+    /** This method is used to perform toString when arguments are small. */
+    private String smallToString(int radix) {
+        if (signum == 0)
+            return "0";
+
         // Compute upper bound on number of digit groups and allocate space
         int maxNumDigitGroups = (4*mag.length + 6)/7;
         String digitGroup[] = new String[maxNumDigitGroups];
@@ -3335,6 +3397,81 @@
         return buf.toString();
     }
 
+    /**
+     * Converts the specified BigInteger to a string and appends to
+     * <code>sb</code>.  This implements the recursive Schoenhage algorithm
+     * for base conversions.
+     * <p/>
+     * See Knuth, Donald,  _The Art of Computer Programming_, Vol. 2,
+     * Answers to Exercises (4.4) Question 14.
+     *
+     * @param u      The number to convert to a string.
+     * @param sb     The StringBuilder that will be appended to in place.
+     * @param radix  The base to convert to.
+     * @param digits The minimum number of digits to pad to.
+     */
+    private static void toString(BigInteger u, StringBuilder sb, int radix,
+                                 int digits) {
+        /* If we're smaller than a certain threshold, use the smallToString
+           method, padding with leading zeroes when necessary. */
+        if (u.mag.length <= SCHOENHAGE_BASE_CONVERSION_THRESHOLD) {
+            String s = u.smallToString(radix);
+
+            // Pad with internal zeros if necessary.
+            // Don't pad if we're at the beginning of the string.
+            if ((s.length() < digits) && (sb.length() > 0))
+                for (int i=s.length(); i<digits; i++) // May be a faster way to
+                    sb.append('0');                    // do this?
+
+            sb.append(s);
+            return;
+        }
+
+        int b, n;
+        b = u.bitLength();
+
+        // Calculate a value for n in the equation radix^(2^n) = u
+        // and subtract 1 from that value.  This is used to find the
+        // cache index that contains the best value to divide u.
+        n = (int) Math.round(Math.log(b * LOG_TWO / logCache[radix]) / LOG_TWO - 1.0);
+        BigInteger v = getRadixConversionCache(radix, n);
+        BigInteger[] results;
+        results = u.divideAndRemainder(v);
+
+        int expectedDigits = 1 << n;
+
+        // Now recursively build the two halves of each number.
+        toString(results[0], sb, radix, digits-expectedDigits);
+        toString(results[1], sb, radix, expectedDigits);
+    }
+
+    /**
+     * Returns the value radix^(2^exponent) from the cache.
+     * If this value doesn't already exist in the cache, it is added.
+     * <p/>
+     * This could be changed to a more complicated caching method using
+     * <code>Future</code>.
+     */
+    private static BigInteger getRadixConversionCache(int radix, int exponent) {
+        BigInteger[] cacheLine = powerCache[radix]; // volatile read
+        if (exponent < cacheLine.length) {
+            return cacheLine[exponent];
+        }
+
+        int oldLength = cacheLine.length;
+        cacheLine = Arrays.copyOf(cacheLine, exponent + 1);
+        for (int i = oldLength; i <= exponent; i++) {
+            cacheLine[i] = cacheLine[i - 1].pow(2);
+        }
+
+        BigInteger[][] pc = powerCache; // volatile read again
+        if (exponent >= pc[radix].length) {
+            pc = pc.clone();
+            pc[radix] = cacheLine;
+            powerCache = pc; // volatile write, publish
+        }
+        return cacheLine[exponent];
+    }
 
     /* zero[i] is a string of i consecutive zeros. */
     private static String zeros[] = new String[64];
@@ -3452,8 +3589,72 @@
      * @return this BigInteger converted to a {@code float}.
      */
     public float floatValue() {
-        // Somewhat inefficient, but guaranteed to work.
-        return Float.parseFloat(this.toString());
+        if (signum == 0) {
+            return 0.0f;
+        }
+
+        int exponent = ((mag.length - 1) << 5) + bitLengthForInt(mag[0]) - 1;
+
+        // exponent == floor(log2(abs(this)))
+        if (exponent < Long.SIZE - 1) {
+            return longValue();
+        } else if (exponent > Float.MAX_EXPONENT) {
+            return signum > 0 ? Float.POSITIVE_INFINITY : Float.NEGATIVE_INFINITY;
+        }
+
+        /*
+         * We need the top SIGNIFICAND_WIDTH bits, including the "implicit"
+         * one bit. To make rounding easier, we pick out the top
+         * SIGNIFICAND_WIDTH + 1 bits, so we have one to help us round up or
+         * down. twiceSignifFloor will contain the top SIGNIFICAND_WIDTH + 1
+         * bits, and signifFloor the top SIGNIFICAND_WIDTH.
+         *
+         * It helps to consider the real number signif = abs(this) *
+         * 2^(SIGNIFICAND_WIDTH - 1 - exponent).
+         */
+        int shift = exponent - FloatConsts.SIGNIFICAND_WIDTH;
+
+        int twiceSignifFloor;
+        // twiceSignifFloor will be == abs().shiftRight(shift).intValue()
+        // We do the shift into an int directly to improve performance.
+
+        int nBits = shift & 0x1f;
+        int nBits2 = 32 - nBits;
+
+        if (nBits == 0) {
+            twiceSignifFloor = mag[0];
+        } else {
+            twiceSignifFloor = mag[0] >>> nBits;
+            if (twiceSignifFloor == 0) {
+                twiceSignifFloor = (mag[0] << nBits2) | (mag[1] >>> nBits);
+            }
+        }
+
+        int signifFloor = twiceSignifFloor >> 1;
+        signifFloor &= FloatConsts.SIGNIF_BIT_MASK; // remove the implied bit
+
+        /*
+         * We round up if either the fractional part of signif is strictly
+         * greater than 0.5 (which is true if the 0.5 bit is set and any lower
+         * bit is set), or if the fractional part of signif is >= 0.5 and
+         * signifFloor is odd (which is true if both the 0.5 bit and the 1 bit
+         * are set). This is equivalent to the desired HALF_EVEN rounding.
+         */
+        boolean increment = (twiceSignifFloor & 1) != 0
+                && ((signifFloor & 1) != 0 || abs().getLowestSetBit() < shift);
+        int signifRounded = increment ? signifFloor + 1 : signifFloor;
+        int bits = ((exponent + FloatConsts.EXP_BIAS))
+                << (FloatConsts.SIGNIFICAND_WIDTH - 1);
+        bits += signifRounded;
+        /*
+         * If signifRounded == 2^24, we'd need to set all of the significand
+         * bits to zero and add 1 to the exponent. This is exactly the behavior
+         * we get from just adding signifRounded to bits directly. If the
+         * exponent is Float.MAX_EXPONENT, we round up (correctly) to
+         * Float.POSITIVE_INFINITY.
+         */
+        bits |= signum & FloatConsts.SIGN_BIT_MASK;
+        return Float.intBitsToFloat(bits);
     }
 
     /**
@@ -3472,8 +3673,80 @@
      * @return this BigInteger converted to a {@code double}.
      */
     public double doubleValue() {
-        // Somewhat inefficient, but guaranteed to work.
-        return Double.parseDouble(this.toString());
+        if (signum == 0) {
+            return 0.0;
+        }
+
+        int exponent = ((mag.length - 1) << 5) + bitLengthForInt(mag[0]) - 1;
+
+        // exponent == floor(log2(abs(this))Double)
+        if (exponent < Long.SIZE - 1) {
+            return longValue();
+        } else if (exponent > Double.MAX_EXPONENT) {
+            return signum > 0 ? Double.POSITIVE_INFINITY : Double.NEGATIVE_INFINITY;
+        }
+
+        /*
+         * We need the top SIGNIFICAND_WIDTH bits, including the "implicit"
+         * one bit. To make rounding easier, we pick out the top
+         * SIGNIFICAND_WIDTH + 1 bits, so we have one to help us round up or
+         * down. twiceSignifFloor will contain the top SIGNIFICAND_WIDTH + 1
+         * bits, and signifFloor the top SIGNIFICAND_WIDTH.
+         *
+         * It helps to consider the real number signif = abs(this) *
+         * 2^(SIGNIFICAND_WIDTH - 1 - exponent).
+         */
+        int shift = exponent - DoubleConsts.SIGNIFICAND_WIDTH;
+
+        long twiceSignifFloor;
+        // twiceSignifFloor will be == abs().shiftRight(shift).longValue()
+        // We do the shift into a long directly to improve performance.
+
+        int nBits = shift & 0x1f;
+        int nBits2 = 32 - nBits;
+
+        int highBits;
+        int lowBits;
+        if (nBits == 0) {
+            highBits = mag[0];
+            lowBits = mag[1];
+        } else {
+            highBits = mag[0] >>> nBits;
+            lowBits = (mag[0] << nBits2) | (mag[1] >>> nBits);
+            if (highBits == 0) {
+                highBits = lowBits;
+                lowBits = (mag[1] << nBits2) | (mag[2] >>> nBits);
+            }
+        }
+
+        twiceSignifFloor = ((highBits & LONG_MASK) << 32)
+                | (lowBits & LONG_MASK);
+
+        long signifFloor = twiceSignifFloor >> 1;
+        signifFloor &= DoubleConsts.SIGNIF_BIT_MASK; // remove the implied bit
+
+        /*
+         * We round up if either the fractional part of signif is strictly
+         * greater than 0.5 (which is true if the 0.5 bit is set and any lower
+         * bit is set), or if the fractional part of signif is >= 0.5 and
+         * signifFloor is odd (which is true if both the 0.5 bit and the 1 bit
+         * are set). This is equivalent to the desired HALF_EVEN rounding.
+         */
+        boolean increment = (twiceSignifFloor & 1) != 0
+                && ((signifFloor & 1) != 0 || abs().getLowestSetBit() < shift);
+        long signifRounded = increment ? signifFloor + 1 : signifFloor;
+        long bits = (long) ((exponent + DoubleConsts.EXP_BIAS))
+                << (DoubleConsts.SIGNIFICAND_WIDTH - 1);
+        bits += signifRounded;
+        /*
+         * If signifRounded == 2^53, we'd need to set all of the significand
+         * bits to zero and add 1 to the exponent. This is exactly the behavior
+         * we get from just adding signifRounded to bits directly. If the
+         * exponent is Double.MAX_EXPONENT, we round up (correctly) to
+         * Double.POSITIVE_INFINITY.
+         */
+        bits |= signum & DoubleConsts.SIGN_BIT_MASK;
+        return Double.longBitsToDouble(bits);
     }
 
     /**
--- a/src/share/classes/java/math/RoundingMode.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/math/RoundingMode.java	Thu Jul 11 12:31:10 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -101,6 +101,7 @@
          *
          *<p>Example:
          *<table border>
+         * <caption><b>Rounding mode UP Examples</b></caption>
          *<tr valign=top><th>Input Number</th>
          *    <th>Input rounded to one digit<br> with {@code UP} rounding
          *<tr align=right><td>5.5</td>  <td>6</td>
@@ -124,6 +125,7 @@
          *
          *<p>Example:
          *<table border>
+         * <caption><b>Rounding mode DOWN Examples</b></caption>
          *<tr valign=top><th>Input Number</th>
          *    <th>Input rounded to one digit<br> with {@code DOWN} rounding
          *<tr align=right><td>5.5</td>  <td>5</td>
@@ -148,6 +150,7 @@
          *
          *<p>Example:
          *<table border>
+         * <caption><b>Rounding mode CEILING Examples</b></caption>
          *<tr valign=top><th>Input Number</th>
          *    <th>Input rounded to one digit<br> with {@code CEILING} rounding
          *<tr align=right><td>5.5</td>  <td>6</td>
@@ -172,6 +175,7 @@
          *
          *<p>Example:
          *<table border>
+         * <caption><b>Rounding mode FLOOR Examples</b></caption>
          *<tr valign=top><th>Input Number</th>
          *    <th>Input rounded to one digit<br> with {@code FLOOR} rounding
          *<tr align=right><td>5.5</td>  <td>5</td>
@@ -198,6 +202,7 @@
          *
          *<p>Example:
          *<table border>
+         * <caption><b>Rounding mode HALF_UP Examples</b></caption>
          *<tr valign=top><th>Input Number</th>
          *    <th>Input rounded to one digit<br> with {@code HALF_UP} rounding
          *<tr align=right><td>5.5</td>  <td>6</td>
@@ -223,6 +228,7 @@
          *
          *<p>Example:
          *<table border>
+         * <caption><b>Rounding mode HALF_DOWN Examples</b></caption>
          *<tr valign=top><th>Input Number</th>
          *    <th>Input rounded to one digit<br> with {@code HALF_DOWN} rounding
          *<tr align=right><td>5.5</td>  <td>5</td>
@@ -255,6 +261,7 @@
          *
          *<p>Example:
          *<table border>
+         * <caption><b>Rounding mode HALF_EVEN Examples</b></caption>
          *<tr valign=top><th>Input Number</th>
          *    <th>Input rounded to one digit<br> with {@code HALF_EVEN} rounding
          *<tr align=right><td>5.5</td>  <td>6</td>
@@ -278,6 +285,7 @@
          * {@code ArithmeticException} is thrown.
          *<p>Example:
          *<table border>
+         * <caption><b>Rounding mode UNNECESSARY Examples</b></caption>
          *<tr valign=top><th>Input Number</th>
          *    <th>Input rounded to one digit<br> with {@code UNNECESSARY} rounding
          *<tr align=right><td>5.5</td>  <td>throw {@code ArithmeticException}</td>
--- a/src/share/classes/java/nio/Buffer.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/nio/Buffer.java	Thu Jul 11 12:31:10 2013 -0700
@@ -52,7 +52,7 @@
  * <p> There is one subclass of this class for each non-boolean primitive type.
  *
  *
- * <h4> Transferring data </h4>
+ * <h2> Transferring data </h2>
  *
  * <p> Each subclass of this class defines two categories of <i>get</i> and
  * <i>put</i> operations: </p>
@@ -78,7 +78,7 @@
  * current position.
  *
  *
- * <h4> Marking and resetting </h4>
+ * <h2> Marking and resetting </h2>
  *
  * <p> A buffer's <i>mark</i> is the index to which its position will be reset
  * when the {@link #reset reset} method is invoked.  The mark is not always
@@ -89,7 +89,7 @@
  * {@link InvalidMarkException} to be thrown.
  *
  *
- * <h4> Invariants </h4>
+ * <h2> Invariants </h2>
  *
  * <p> The following invariant holds for the mark, position, limit, and
  * capacity values:
@@ -109,7 +109,7 @@
  * to zero.
  *
  *
- * <h4> Clearing, flipping, and rewinding </h4>
+ * <h2> Clearing, flipping, and rewinding </h2>
  *
  * <p> In addition to methods for accessing the position, limit, and capacity
  * values and for marking and resetting, this class also defines the following
@@ -132,7 +132,7 @@
  * </ul>
  *
  *
- * <h4> Read-only buffers </h4>
+ * <h2> Read-only buffers </h2>
  *
  * <p> Every buffer is readable, but not every buffer is writable.  The
  * mutation methods of each buffer class are specified as <i>optional
@@ -143,14 +143,14 @@
  * {@link #isReadOnly isReadOnly} method.
  *
  *
- * <h4> Thread safety </h4>
+ * <h2> Thread safety </h2>
  *
  * <p> Buffers are not safe for use by multiple concurrent threads.  If a
  * buffer is to be used by more than one thread then access to the buffer
  * should be controlled by appropriate synchronization.
  *
  *
- * <h4> Invocation chaining </h4>
+ * <h2> Invocation chaining </h2>
  *
  * <p> Methods in this class that do not otherwise have a value to return are
  * specified to return the buffer upon which they are invoked.  This allows
--- a/src/share/classes/java/nio/MappedByteBuffer.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/nio/MappedByteBuffer.java	Thu Jul 11 12:31:10 2013 -0700
@@ -45,7 +45,7 @@
  * this program or another.  Whether or not such changes occur, and when they
  * occur, is operating-system dependent and therefore unspecified.
  *
- * <a name="inaccess"><p> All or part of a mapped byte buffer may become
+ * <a name="inaccess"></a><p> All or part of a mapped byte buffer may become
  * inaccessible at any time, for example if the mapped file is truncated.  An
  * attempt to access an inaccessible region of a mapped byte buffer will not
  * change the buffer's content and will cause an unspecified exception to be
--- a/src/share/classes/java/nio/X-Buffer.java.template	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/nio/X-Buffer.java.template	Thu Jul 11 12:31:10 2013 -0700
@@ -44,23 +44,23 @@
  *
  * <ul>
  *
- *   <li><p> Absolute and relative {@link #get() </code><i>get</i><code>} and
- *   {@link #put($type$) </code><i>put</i><code>} methods that read and write
+ *   <li><p> Absolute and relative {@link #get() <i>get</i>} and
+ *   {@link #put($type$) <i>put</i>} methods that read and write
  *   single $type$s; </p></li>
  *
- *   <li><p> Relative {@link #get($type$[]) </code><i>bulk get</i><code>}
+ *   <li><p> Relative {@link #get($type$[]) <i>bulk get</i>}
  *   methods that transfer contiguous sequences of $type$s from this buffer
  *   into an array; {#if[!byte]?and}</p></li>
  *
- *   <li><p> Relative {@link #put($type$[]) </code><i>bulk put</i><code>}
+ *   <li><p> Relative {@link #put($type$[]) <i>bulk put</i>}
  *   methods that transfer contiguous sequences of $type$s from $a$
  *   $type$ array{#if[char]?,&#32;a&#32;string,} or some other $type$
  *   buffer into this buffer;{#if[!byte]?&#32;and} </p></li>
  *
 #if[byte]
  *
- *   <li><p> Absolute and relative {@link #getChar() </code><i>get</i><code>}
- *   and {@link #putChar(char) </code><i>put</i><code>} methods that read and
+ *   <li><p> Absolute and relative {@link #getChar() <i>get</i>}
+ *   and {@link #putChar(char) <i>put</i>} methods that read and
  *   write values of other primitive types, translating them to and from
  *   sequences of bytes in a particular byte order; </p></li>
  *
@@ -70,23 +70,23 @@
  *
 #end[byte]
  *
- *   <li><p> Methods for {@link #compact </code>compacting<code>}, {@link
- *   #duplicate </code>duplicating<code>}, and {@link #slice
- *   </code>slicing<code>} $a$ $type$ buffer.  </p></li>
+ *   <li><p> Methods for {@link #compact compacting}, {@link
+ *   #duplicate duplicating}, and {@link #slice slicing}
+ *   $a$ $type$ buffer.  </p></li>
  *
  * </ul>
  *
  * <p> $Type$ buffers can be created either by {@link #allocate
- * </code><i>allocation</i><code>}, which allocates space for the buffer's
+ * <i>allocation</i>}, which allocates space for the buffer's
  *
 #if[byte]
  *
- * content, or by {@link #wrap($type$[]) </code><i>wrapping</i><code>} an
+ * content, or by {@link #wrap($type$[]) <i>wrapping</i>} an
  * existing $type$ array {#if[char]?or&#32;string} into a buffer.
  *
 #else[byte]
  *
- * content, by {@link #wrap($type$[]) </code><i>wrapping</i><code>} an existing
+ * content, by {@link #wrap($type$[]) <i>wrapping</i>} an existing
  * $type$ array {#if[char]?or&#32;string} into a buffer, or by creating a
  * <a href="ByteBuffer.html#views"><i>view</i></a> of an existing byte buffer.
  *
@@ -94,8 +94,8 @@
  *
 #if[byte]
  *
- * <a name="direct">
- * <h4> Direct <i>vs.</i> non-direct buffers </h4>
+ * <a name="direct"></a>
+ * <h2> Direct <i>vs.</i> non-direct buffers </h2>
  *
  * <p> A byte buffer is either <i>direct</i> or <i>non-direct</i>.  Given a
  * direct byte buffer, the Java virtual machine will make a best effort to
@@ -116,7 +116,7 @@
  * buffers only when they yield a measureable gain in program performance.
  *
  * <p> A direct byte buffer may also be created by {@link
- * java.nio.channels.FileChannel#map </code>mapping<code>} a region of a file
+ * java.nio.channels.FileChannel#map mapping} a region of a file
  * directly into memory.  An implementation of the Java platform may optionally
  * support the creation of direct byte buffers from native code via JNI.  If an
  * instance of one of these kinds of buffers refers to an inaccessible region
@@ -129,8 +129,8 @@
  * that explicit buffer management can be done in performance-critical code.
  *
  *
- * <a name="bin">
- * <h4> Access to binary data </h4>
+ * <a name="bin"></a>
+ * <h2> Access to binary data </h2>
  *
  * <p> This class defines methods for reading and writing values of all other
  * primitive types, except <tt>boolean</tt>.  Primitive values are translated
@@ -156,7 +156,7 @@
  * parameters of the absolute <i>get</i> and <i>put</i> methods are in terms of
  * bytes rather than of the type being read or written.
  *
- * <a name="views">
+ * <a name="views"></a>
  *
  * <p> For access to homogeneous binary data, that is, sequences of values of
  * the same type, this class defines methods that can create <i>views</i> of a
@@ -214,7 +214,7 @@
 #end[char]
  *
 #if[byte]
- * <h4> Invocation chaining </h4>
+ * <h2> Invocation chaining </h2>
 #end[byte]
  *
  * <p> Methods in this class that do not otherwise have a value to return are
@@ -297,7 +297,7 @@
      * <p> The new buffer's position will be zero, its limit will be its
      * capacity, its mark will be undefined, and each of its elements will be
      * initialized to zero.  Whether or not it has a
-     * {@link #hasArray </code>backing array<code>} is unspecified.
+     * {@link #hasArray backing array} is unspecified.
      *
      * @param  capacity
      *         The new buffer's capacity, in $type$s
@@ -318,9 +318,8 @@
      *
      * <p> The new buffer's position will be zero, its limit will be its
      * capacity, its mark will be undefined, and each of its elements will be
-     * initialized to zero.  It will have a {@link #array
-     * </code>backing array<code>}, and its {@link #arrayOffset </code>array
-     * offset<code>} will be zero.
+     * initialized to zero.  It will have a {@link #array backing array},
+     * and its {@link #arrayOffset array offset} will be zero.
      *
      * @param  capacity
      *         The new buffer's capacity, in $type$s
@@ -344,8 +343,8 @@
      * and vice versa.  The new buffer's capacity will be
      * <tt>array.length</tt>, its position will be <tt>offset</tt>, its limit
      * will be <tt>offset + length</tt>, and its mark will be undefined.  Its
-     * {@link #array </code>backing array<code>} will be the given array, and
-     * its {@link #arrayOffset </code>array offset<code>} will be zero.  </p>
+     * {@link #array backing array} will be the given array, and
+     * its {@link #arrayOffset array offset} will be zero.  </p>
      *
      * @param  array
      *         The array that will back the new buffer
@@ -384,8 +383,8 @@
      * that is, modifications to the buffer will cause the array to be modified
      * and vice versa.  The new buffer's capacity and limit will be
      * <tt>array.length</tt>, its position will be zero, and its mark will be
-     * undefined.  Its {@link #array </code>backing array<code>} will be the
-     * given array, and its {@link #arrayOffset </code>array offset<code>} will
+     * undefined.  Its {@link #array backing array} will be the
+     * given array, and its {@link #arrayOffset array offset>} will
      * be zero.  </p>
      *
      * @param  array
@@ -703,6 +702,9 @@
      * <pre>
      *     src.get(a, 0, a.length) </pre>
      *
+     * @param   dst
+     *          The destination array
+     *
      * @return  This buffer
      *
      * @throws  BufferUnderflowException
@@ -842,6 +844,9 @@
      * <pre>
      *     dst.put(a, 0, a.length) </pre>
      *
+     * @param   src
+     *          The source array
+     *
      * @return  This buffer
      *
      * @throws  BufferOverflowException
@@ -930,6 +935,9 @@
      * <pre>
      *     dst.put(s, 0, s.length()) </pre>
      *
+     * @param   src
+     *          The source string
+     *
      * @return  This buffer
      *
      * @throws  BufferOverflowException
@@ -1419,7 +1427,7 @@
      *
      * <p> The byte order of $a$ $type$ buffer created by allocation or by
      * wrapping an existing <tt>$type$</tt> array is the {@link
-     * ByteOrder#nativeOrder </code>native order<code>} of the underlying
+     * ByteOrder#nativeOrder native order} of the underlying
      * hardware.  The byte order of $a$ $type$ buffer created as a <a
      * href="ByteBuffer.html#views">view</a> of a byte buffer is that of the
      * byte buffer at the moment that the view is created.  </p>
--- a/src/share/classes/java/nio/channels/AsynchronousByteChannel.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/nio/channels/AsynchronousByteChannel.java	Thu Jul 11 12:31:10 2013 -0700
@@ -87,6 +87,8 @@
      * initiates a read operation before a previous read operation has
      * completed then a {@link ReadPendingException} will be thrown.
      *
+     * @param   <A>
+     *          The type of the attachment
      * @param   dst
      *          The buffer into which bytes are to be transferred
      * @param   attachment
@@ -166,6 +168,8 @@
      * initiates a write operation before a previous write operation has
      * completed then a {@link WritePendingException} will be thrown.
      *
+     * @param   <A>
+     *          The type of the attachment
      * @param   src
      *          The buffer from which bytes are to be retrieved
      * @param   attachment
--- a/src/share/classes/java/nio/channels/AsynchronousChannel.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/nio/channels/AsynchronousChannel.java	Thu Jul 11 12:31:10 2013 -0700
@@ -61,7 +61,7 @@
  * may not allow more than one read and one write operation to be outstanding at
  * any given time.
  *
- * <h4>Cancellation</h4>
+ * <h2>Cancellation</h2>
  *
  * <p> The {@code Future} interface defines the {@link Future#cancel cancel}
  * method to cancel execution. This causes all threads waiting on the result of
--- a/src/share/classes/java/nio/channels/AsynchronousChannelGroup.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/nio/channels/AsynchronousChannelGroup.java	Thu Jul 11 12:31:10 2013 -0700
@@ -60,7 +60,7 @@
  * default group is not configured then the pooled threads of the default group
  * are {@link Thread#isDaemon daemon} threads.
  *
- * <table border>
+ * <table border summary="System properties">
  *   <tr>
  *     <th>System property</th>
  *     <th>Description</th>
@@ -89,7 +89,7 @@
  *   </tr>
  * </table>
  *
- * <a name="threading"><h4>Threading</h4></a>
+ * <a name="threading"></a><h2>Threading</h2>
  *
  * <p> The completion handler for an I/O operation initiated on a channel bound
  * to a group is guaranteed to be invoked by one of the pooled threads in the
@@ -104,7 +104,7 @@
  * handler directly by the initiating thread (see {@link
  * AsynchronousServerSocketChannel#accept(Object,CompletionHandler) accept}).
  *
- * <a name="shutdown"><h4>Shutdown and Termination</h4></a>
+ * <a name="shutdown"></a><h2>Shutdown and Termination</h2>
  *
  * <p> The {@link #shutdown() shutdown} method is used to initiate an <em>orderly
  * shutdown</em> of a group. An orderly shutdown marks the group as shutdown;
--- a/src/share/classes/java/nio/channels/AsynchronousFileChannel.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/nio/channels/AsynchronousFileChannel.java	Thu Jul 11 12:31:10 2013 -0700
@@ -425,6 +425,8 @@
      * They are not suitable for controlling access to a file by multiple
      * threads within the same virtual machine.
      *
+     * @param   <A>
+     *          The type of the attachment
      * @param   position
      *          The position at which the locked region is to start; must be
      *          non-negative
@@ -473,6 +475,8 @@
      *     ch.{@link #lock(long,long,boolean,Object,CompletionHandler) lock}(0L, Long.MAX_VALUE, false, att, handler)
      * </pre>
      *
+     * @param   <A>
+     *          The type of the attachment
      * @param   attachment
      *          The object to attach to the I/O operation; can be {@code null}
      * @param   handler
@@ -652,6 +656,8 @@
      * If the given file position is greater than the file's size at the time
      * that the read is attempted then no bytes are read.
      *
+     * @param   <A>
+     *          The type of the attachment
      * @param   dst
      *          The buffer into which bytes are to be transferred
      * @param   position
@@ -716,6 +722,8 @@
      * bytes; the values of any bytes between the previous end-of-file and the
      * newly-written bytes are unspecified.
      *
+     * @param   <A>
+     *          The type of the attachment
      * @param   src
      *          The buffer from which bytes are to be transferred
      * @param   position
--- a/src/share/classes/java/nio/channels/AsynchronousServerSocketChannel.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/nio/channels/AsynchronousServerSocketChannel.java	Thu Jul 11 12:31:10 2013 -0700
@@ -52,7 +52,7 @@
  * <p> Socket options are configured using the {@link #setOption(SocketOption,Object)
  * setOption} method. Channels of this type support the following options:
  * <blockquote>
- * <table border>
+ * <table border summary="Socket options">
  *   <tr>
  *     <th>Option Name</th>
  *     <th>Description</th>
@@ -98,6 +98,9 @@
 
     /**
      * Initializes a new instance of this class.
+     *
+     * @param  provider
+     *         The provider that created this channel
      */
     protected AsynchronousServerSocketChannel(AsynchronousChannelProvider provider) {
         this.provider = provider;
@@ -105,6 +108,8 @@
 
     /**
      * Returns the provider that created this channel.
+     *
+     * @return  The provider that created this channel
      */
     public final AsynchronousChannelProvider provider() {
         return provider;
@@ -263,6 +268,8 @@
      * the connection is closed and the operation completes with a {@link
      * SecurityException}.
      *
+     * @param   <A>
+     *          The type of the attachment
      * @param   attachment
      *          The object to attach to the I/O operation; can be {@code null}
      * @param   handler
--- a/src/share/classes/java/nio/channels/AsynchronousSocketChannel.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/nio/channels/AsynchronousSocketChannel.java	Thu Jul 11 12:31:10 2013 -0700
@@ -62,7 +62,7 @@
  * <p> Socket options are configured using the {@link #setOption(SocketOption,Object)
  * setOption} method. Asynchronous socket channels support the following options:
  * <blockquote>
- * <table border>
+ * <table border summary="Socket options">
  *   <tr>
  *     <th>Option Name</th>
  *     <th>Description</th>
@@ -91,7 +91,7 @@
  * </blockquote>
  * Additional (implementation specific) options may also be supported.
  *
- * <h4>Timeouts</h4>
+ * <h2>Timeouts</h2>
  *
  * <p> The {@link #read(ByteBuffer,long,TimeUnit,Object,CompletionHandler) read}
  * and {@link #write(ByteBuffer,long,TimeUnit,Object,CompletionHandler) write}
@@ -123,6 +123,9 @@
 
     /**
      * Initializes a new instance of this class.
+     *
+     * @param  provider
+     *         The provider that created this channel
      */
     protected AsynchronousSocketChannel(AsynchronousChannelProvider provider) {
         this.provider = provider;
@@ -130,6 +133,8 @@
 
     /**
      * Returns the provider that created this channel.
+     *
+     * @return  The provider that created this channel
      */
     public final AsynchronousChannelProvider provider() {
         return provider;
@@ -287,6 +292,8 @@
      * java.lang.SecurityManager#checkConnect checkConnect} method permits
      * connecting to the address and port number of the given remote endpoint.
      *
+     * @param   <A>
+     *          The type of the attachment
      * @param   remote
      *          The remote address to which this channel is to be connected
      * @param   attachment
@@ -365,6 +372,8 @@
      * AsynchronousByteChannel#read(ByteBuffer,Object,CompletionHandler)}
      * method.
      *
+     * @param   <A>
+     *          The type of the attachment
      * @param   dst
      *          The buffer into which bytes are to be transferred
      * @param   timeout
@@ -461,6 +470,8 @@
      * read from the channel will cause an unspecific runtime exception to be
      * thrown.
      *
+     * @param   <A>
+     *          The type of the attachment
      * @param   dsts
      *          The buffers into which bytes are to be transferred
      * @param   offset
@@ -520,6 +531,8 @@
      * AsynchronousByteChannel#write(ByteBuffer,Object,CompletionHandler)}
      * method.
      *
+     * @param   <A>
+     *          The type of the attachment
      * @param   src
      *          The buffer from which bytes are to be retrieved
      * @param   timeout
@@ -610,6 +623,8 @@
      * to write to the channel will cause an unspecific runtime exception to be
      * thrown.
      *
+     * @param   <A>
+     *          The type of the attachment
      * @param   srcs
      *          The buffers from which bytes are to be retrieved
      * @param   offset
--- a/src/share/classes/java/nio/channels/DatagramChannel.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/nio/channels/DatagramChannel.java	Thu Jul 11 12:31:10 2013 -0700
@@ -57,7 +57,7 @@
  * setOption} method. A datagram channel to an Internet Protocol socket supports
  * the following options:
  * <blockquote>
- * <table border>
+ * <table border summary="Socket options">
  *   <tr>
  *     <th>Option Name</th>
  *     <th>Description</th>
@@ -117,6 +117,9 @@
 
     /**
      * Initializes a new instance of this class.
+     *
+     * @param  provider
+     *         The provider that created this channel
      */
     protected DatagramChannel(SelectorProvider provider) {
         super(provider);
--- a/src/share/classes/java/nio/channels/FileChannel.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/nio/channels/FileChannel.java	Thu Jul 11 12:31:10 2013 -0700
@@ -46,7 +46,7 @@
  * of bytes that can be read and written and whose current {@link #size
  * <i>size</i>} can be queried.  The size of the file increases
  * when bytes are written beyond its current size; the size of the file
- * decreases when it is {@link #truncate </code><i>truncated</i><code>}.  The
+ * decreases when it is {@link #truncate <i>truncated</i>}.  The
  * file may also have some associated <i>metadata</i> such as access
  * permissions, content type, and last-modification time; this class does not
  * define methods for metadata access.
@@ -830,7 +830,7 @@
      * <p> A region of a file may be mapped into memory in one of three modes:
      * </p>
      *
-     * <ul type=disc>
+     * <ul>
      *
      *   <li><p> <i>Read-only:</i> Any attempt to modify the resulting buffer
      *   will cause a {@link java.nio.ReadOnlyBufferException} to be thrown.
--- a/src/share/classes/java/nio/channels/FileLock.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/nio/channels/FileLock.java	Thu Jul 11 12:31:10 2013 -0700
@@ -72,7 +72,7 @@
  * <p> File-lock objects are safe for use by multiple concurrent threads.
  *
  *
- * <a name="pdep"><h4> Platform dependencies </h4></a>
+ * <a name="pdep"></a><h2> Platform dependencies </h2>
  *
  * <p> This file-locking API is intended to map directly to the native locking
  * facility of the underlying operating system.  Thus the locks held on a file
@@ -261,6 +261,11 @@
     /**
      * Tells whether or not this lock overlaps the given lock range.
      *
+     * @param   position
+     *          The starting position of the lock range
+     * @param   size
+     *          The size of the lock range
+     *
      * @return  <tt>true</tt> if, and only if, this lock and the given lock
      *          range overlap by at least one byte
      */
--- a/src/share/classes/java/nio/channels/MulticastChannel.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/nio/channels/MulticastChannel.java	Thu Jul 11 12:31:10 2013 -0700
@@ -71,7 +71,7 @@
  * MembershipKey#drop drop} method drops membership so that datagrams from the
  * source address can no longer be received.
  *
- * <h4>Platform dependencies</h4>
+ * <h2>Platform dependencies</h2>
  *
  * The multicast implementation is intended to map directly to the native
  * multicasting facility. Consequently, the following items should be considered
--- a/src/share/classes/java/nio/channels/NetworkChannel.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/nio/channels/NetworkChannel.java	Thu Jul 11 12:31:10 2013 -0700
@@ -106,6 +106,8 @@
     /**
      * Sets the value of a socket option.
      *
+     * @param   <T>
+     *          The type of the socket option value
      * @param   name
      *          The socket option
      * @param   value
@@ -130,6 +132,8 @@
     /**
      * Returns the value of a socket option.
      *
+     * @param   <T>
+     *          The type of the socket option value
      * @param   name
      *          The socket option
      *
--- a/src/share/classes/java/nio/channels/Pipe.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/nio/channels/Pipe.java	Thu Jul 11 12:31:10 2013 -0700
@@ -33,10 +33,9 @@
  * A pair of channels that implements a unidirectional pipe.
  *
  * <p> A pipe consists of a pair of channels: A writable {@link
- * Pipe.SinkChannel </code>sink<code>} channel and a readable {@link
- * Pipe.SourceChannel </code>source<code>} channel.  Once some bytes are
- * written to the sink channel they can be read from source channel in exactly
- * the order in which they were written.
+ * Pipe.SinkChannel sink} channel and a readable {@link Pipe.SourceChannel source}
+ * channel.  Once some bytes are written to the sink channel they can be read
+ * from source channel in exactlyAthe order in which they were written.
  *
  * <p> Whether or not a thread writing bytes to a pipe will block until another
  * thread reads those bytes, or some previously-written bytes, from the pipe is
@@ -63,6 +62,9 @@
     {
         /**
          * Constructs a new instance of this class.
+         *
+         * @param  provider
+         *         The selector provider
          */
         protected SourceChannel(SelectorProvider provider) {
             super(provider);
@@ -94,6 +96,9 @@
     {
         /**
          * Initializes a new instance of this class.
+         *
+         * @param  provider
+         *         The selector provider
          */
         protected SinkChannel(SelectorProvider provider) {
             super(provider);
--- a/src/share/classes/java/nio/channels/SelectableChannel.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/nio/channels/SelectableChannel.java	Thu Jul 11 12:31:10 2013 -0700
@@ -64,8 +64,8 @@
  * threads. </p>
  *
  *
- * <a name="bm">
- * <h4>Blocking mode</h4>
+ * <a name="bm"></a>
+ * <h2>Blocking mode</h2>
  *
  * A selectable channel is either in <i>blocking</i> mode or in
  * <i>non-blocking</i> mode.  In blocking mode, every I/O operation invoked
@@ -142,6 +142,9 @@
      * Retrieves the key representing the channel's registration with the given
      * selector.
      *
+     * @param   sel
+     *          The selector
+     *
      * @return  The key returned when this channel was last registered with the
      *          given selector, or <tt>null</tt> if this channel is not
      *          currently registered with that selector
--- a/src/share/classes/java/nio/channels/SelectionKey.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/nio/channels/SelectionKey.java	Thu Jul 11 12:31:10 2013 -0700
@@ -42,7 +42,7 @@
  * next selection operation.  The validity of a key may be tested by invoking
  * its {@link #isValid isValid} method.
  *
- * <a name="opsets">
+ * <a name="opsets"></a>
  *
  * <p> A selection key contains two <i>operation sets</i> represented as
  * integer values.  Each bit of an operation set denotes a category of
--- a/src/share/classes/java/nio/channels/Selector.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/nio/channels/Selector.java	Thu Jul 11 12:31:10 2013 -0700
@@ -36,13 +36,13 @@
  *
  * <p> A selector may be created by invoking the {@link #open open} method of
  * this class, which will use the system's default {@link
- * java.nio.channels.spi.SelectorProvider </code>selector provider<code>} to
+ * java.nio.channels.spi.SelectorProvider selector provider} to
  * create a new selector.  A selector may also be created by invoking the
  * {@link java.nio.channels.spi.SelectorProvider#openSelector openSelector}
  * method of a custom selector provider.  A selector remains open until it is
  * closed via its {@link #close close} method.
  *
- * <a name="ks">
+ * <a name="ks"></a>
  *
  * <p> A selectable channel's registration with a selector is represented by a
  * {@link SelectionKey} object.  A selector maintains three sets of selection
@@ -80,18 +80,18 @@
  * during the next selection operation, at which time the key will removed from
  * all of the selector's key sets.
  *
- * <a name="sks"><p> Keys are added to the selected-key set by selection
+ * <a name="sks"></a><p> Keys are added to the selected-key set by selection
  * operations.  A key may be removed directly from the selected-key set by
  * invoking the set's {@link java.util.Set#remove(java.lang.Object) remove}
  * method or by invoking the {@link java.util.Iterator#remove() remove} method
- * of an {@link java.util.Iterator </code>iterator<code>} obtained from the
+ * of an {@link java.util.Iterator iterator} obtained from the
  * set.  Keys are never removed from the selected-key set in any other way;
  * they are not, in particular, removed as a side effect of selection
  * operations.  Keys may not be added directly to the selected-key set. </p>
  *
  *
- * <a name="selop">
- * <h4>Selection</h4>
+ * <a name="selop"></a>
+ * <h2>Selection</h2>
  *
  * <p> During each selection operation, keys may be added to and removed from a
  * selector's selected-key set and may be removed from its key and
@@ -111,7 +111,7 @@
  *   operation began.  For a channel that is ready for at least one such
  *   operation, one of the following two actions is performed: </p>
  *
- *   <ol type=a>
+ *   <ol>
  *
  *     <li><p> If the channel's key is not already in the selected-key set then
  *     it is added to that set and its ready-operation set is modified to
@@ -126,7 +126,7 @@
  *     words, the ready set returned by the underlying system is
  *     bitwise-disjoined into the key's current ready set. </p></li>
  *
- *   </ol></li>
+ *   </ol>
  *
  *   If all of the keys in the key set at the start of this step have empty
  *   interest sets then neither the selected-key set nor any of the keys'
@@ -142,7 +142,7 @@
  * difference between the three selection methods. </p>
  *
  *
- * <h4>Concurrency</h4>
+ * <h2>Concurrency</h2>
  *
  * <p> Selectors are themselves safe for use by multiple concurrent threads;
  * their key sets, however, are not.
@@ -183,7 +183,7 @@
  * <p> The {@link #close close} method synchronizes on the selector and all
  * three key sets in the same order as in a selection operation.
  *
- * <a name="ksc">
+ * <a name="ksc"></a>
  *
  * <p> A selector's key and selected-key sets are not, in general, safe for use
  * by multiple concurrent threads.  If such a thread might modify one of these
--- a/src/share/classes/java/nio/channels/ServerSocketChannel.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/nio/channels/ServerSocketChannel.java	Thu Jul 11 12:31:10 2013 -0700
@@ -46,7 +46,7 @@
  * <p> Socket options are configured using the {@link #setOption(SocketOption,Object)
  * setOption} method. Server-socket channels support the following options:
  * <blockquote>
- * <table border>
+ * <table border summary="Socket options">
  *   <tr>
  *     <th>Option Name</th>
  *     <th>Description</th>
@@ -78,6 +78,9 @@
 
     /**
      * Initializes a new instance of this class.
+     *
+     * @param  provider
+     *         The provider that created this channel
      */
     protected ServerSocketChannel(SelectorProvider provider) {
         super(provider);
--- a/src/share/classes/java/nio/channels/SocketChannel.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/nio/channels/SocketChannel.java	Thu Jul 11 12:31:10 2013 -0700
@@ -66,7 +66,7 @@
  * <p> Socket options are configured using the {@link #setOption(SocketOption,Object)
  * setOption} method. Socket channels support the following options:
  * <blockquote>
- * <table border>
+ * <table border summary="Socket options">
  *   <tr>
  *     <th>Option Name</th>
  *     <th>Description</th>
@@ -120,6 +120,9 @@
 
     /**
      * Initializes a new instance of this class.
+     *
+     * @param  provider
+     *         The provider that created this channel
      */
     protected SocketChannel(SelectorProvider provider) {
         super(provider);
@@ -153,6 +156,8 @@
      * @param  remote
      *         The remote address to which the new channel is to be connected
      *
+     * @return  A new, and connected, socket channel
+     *
      * @throws  AsynchronousCloseException
      *          If another thread closes this channel
      *          while the connect operation is in progress
--- a/src/share/classes/java/nio/channels/spi/AbstractInterruptibleChannel.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/nio/channels/spi/AbstractInterruptibleChannel.java	Thu Jul 11 12:31:10 2013 -0700
@@ -46,7 +46,7 @@
  * before and after, respectively, invoking an I/O operation that might block
  * indefinitely.  In order to ensure that the {@link #end end} method is always
  * invoked, these methods should be used within a
- * <tt>try</tt>&nbsp;...&nbsp;<tt>finally</tt> block: <a name="be">
+ * <tt>try</tt>&nbsp;...&nbsp;<tt>finally</tt> block:
  *
  * <blockquote><pre>
  * boolean completed = false;
--- a/src/share/classes/java/nio/channels/spi/AbstractSelectableChannel.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/nio/channels/spi/AbstractSelectableChannel.java	Thu Jul 11 12:31:10 2013 -0700
@@ -72,6 +72,9 @@
 
     /**
      * Initializes a new instance of this class.
+     *
+     * @param  provider
+     *         The provider that created this channel
      */
     protected AbstractSelectableChannel(SelectorProvider provider) {
         this.provider = provider;
@@ -251,6 +254,9 @@
      * that is blocked in an I/O operation upon this channel to return
      * immediately, either by throwing an exception or by returning normally.
      * </p>
+     *
+     * @throws  IOException
+     *          If an I/O error occurs
      */
     protected abstract void implCloseSelectableChannel() throws IOException;
 
@@ -299,6 +305,10 @@
      * changing the blocking mode.  This method is only invoked if the new mode
      * is different from the current mode.  </p>
      *
+     * @param  block  If <tt>true</tt> then this channel will be placed in
+     *                blocking mode; if <tt>false</tt> then it will be placed
+     *                non-blocking mode
+     *
      * @throws IOException
      *         If an I/O error occurs
      */
--- a/src/share/classes/java/nio/channels/spi/AbstractSelector.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/nio/channels/spi/AbstractSelector.java	Thu Jul 11 12:31:10 2013 -0700
@@ -43,7 +43,7 @@
  * after, respectively, invoking an I/O operation that might block
  * indefinitely.  In order to ensure that the {@link #end end} method is always
  * invoked, these methods should be used within a
- * <tt>try</tt>&nbsp;...&nbsp;<tt>finally</tt> block: <a name="be">
+ * <tt>try</tt>&nbsp;...&nbsp;<tt>finally</tt> block:
  *
  * <blockquote><pre>
  * try {
@@ -77,6 +77,9 @@
 
     /**
      * Initializes a new instance of this class.
+     *
+     * @param  provider
+     *         The provider that created this selector
      */
     protected AbstractSelector(SelectorProvider provider) {
         this.provider = provider;
--- a/src/share/classes/java/nio/channels/spi/AsynchronousChannelProvider.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/nio/channels/spi/AsynchronousChannelProvider.java	Thu Jul 11 12:31:10 2013 -0700
@@ -174,6 +174,8 @@
      * @param   threadFactory
      *          The factory to use when creating new threads
      *
+     * @return  A new asynchronous channel group
+     *
      * @throws  IllegalArgumentException
      *          If {@code nThreads <= 0}
      * @throws  IOException
@@ -193,6 +195,8 @@
      *          A value {@code >=0} or a negative value for implementation
      *          specific default
      *
+     * @return  A new asynchronous channel group
+     *
      * @throws  IOException
      *          If an I/O error occurs
      *
--- a/src/share/classes/java/nio/channels/spi/SelectorProvider.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/nio/channels/spi/SelectorProvider.java	Thu Jul 11 12:31:10 2013 -0700
@@ -183,6 +183,9 @@
      * Opens a datagram channel.
      *
      * @return  The new channel
+     *
+     * @throws  IOException
+     *          If an I/O error occurs
      */
     public abstract DatagramChannel openDatagramChannel()
         throws IOException;
@@ -209,6 +212,9 @@
      * Opens a pipe.
      *
      * @return  The new pipe
+     *
+     * @throws  IOException
+     *          If an I/O error occurs
      */
     public abstract Pipe openPipe()
         throws IOException;
@@ -217,6 +223,9 @@
      * Opens a selector.
      *
      * @return  The new selector
+     *
+     * @throws  IOException
+     *          If an I/O error occurs
      */
     public abstract AbstractSelector openSelector()
         throws IOException;
@@ -225,6 +234,9 @@
      * Opens a server-socket channel.
      *
      * @return  The new channel
+     *
+     * @throws  IOException
+     *          If an I/O error occurs
      */
     public abstract ServerSocketChannel openServerSocketChannel()
         throws IOException;
@@ -233,6 +245,9 @@
      * Opens a socket channel.
      *
      * @return  The new channel
+     *
+     * @throws  IOException
+     *          If an I/O error occurs
      */
     public abstract SocketChannel openSocketChannel()
         throws IOException;
--- a/src/share/classes/java/nio/charset/Charset-X-Coder.java.template	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/nio/charset/Charset-X-Coder.java.template	Thu Jul 11 12:31:10 2013 -0700
@@ -163,6 +163,9 @@
      * Initializes a new $coder$.  The new $coder$ will have the given
      * $otypes-per-itype$ and replacement values.
      *
+     * @param  cs
+     *         The charset that created this $coder$
+     *
      * @param  average$ItypesPerOtype$
      *         A positive float value indicating the expected number of
      *         $otype$s that will be produced for each input $itype$
@@ -209,6 +212,9 @@
      * $otypes-per-itype$ values and its replacement will be the
      * $replTypeName$ $defaultReplName$.
      *
+     * @param  cs
+     *         The charset that created this $coder$
+     *
      * @param  average$ItypesPerOtype$
      *         A positive float value indicating the expected number of
      *         $otype$s that will be produced for each input $itype$
@@ -386,6 +392,8 @@
      * <p> The default implementation of this method does nothing.  This method
      * should be overridden by $coder$s that require notification of changes to
      * the malformed-input action.  </p>
+     *
+     * @param  newAction  The new action
      */
     protected void implOnMalformedInput(CodingErrorAction newAction) { }
 
@@ -428,6 +436,8 @@
      * <p> The default implementation of this method does nothing.  This method
      * should be overridden by $coder$s that require notification of changes to
      * the unmappable-character action.  </p>
+     *
+     * @param  newAction  The new action
      */
     protected void implOnUnmappableCharacter(CodingErrorAction newAction) { }
 
@@ -925,6 +935,9 @@
      * <p> The default implementation of this method is not very efficient; it
      * should generally be overridden to improve performance.  </p>
      *
+     * @param   c
+     *          The given character
+     *
      * @return  <tt>true</tt> if, and only if, this encoder can encode
      *          the given character
      *
@@ -953,6 +966,9 @@
      * <p> The default implementation of this method is not very efficient; it
      * should generally be overridden to improve performance.  </p>
      *
+     * @param   cs
+     *          The given character sequence
+     *
      * @return  <tt>true</tt> if, and only if, this encoder can encode
      *          the given character without throwing any exceptions and without
      *          performing any replacements
--- a/src/share/classes/java/nio/charset/Charset.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/nio/charset/Charset.java	Thu Jul 11 12:31:10 2013 -0700
@@ -66,7 +66,7 @@
  *
  *
  * <a name="names"><a name="charenc">
- * <h4>Charset names</h4>
+ * <h2>Charset names</h2>
  *
  * <p> Charsets are named by strings composed of the following characters:
  *
@@ -140,7 +140,7 @@
  * previous canonical name be made into an alias.
  *
  *
- * <h4>Standard charsets</h4>
+ * <h2>Standard charsets</h2>
  *
  * <a name="standard">
  *
@@ -217,7 +217,7 @@
  * <p>The {@link StandardCharsets} class defines constants for each of the
  * standard charsets.
  *
- * <h4>Terminology</h4>
+ * <h2>Terminology</h2>
  *
  * <p> The name of this class is taken from the terms used in
  * <a href="http://www.ietf.org/rfc/rfc2278.txt"><i>RFC&nbsp;2278</i></a>.
@@ -737,6 +737,9 @@
      * it is not necessarily the case that the given charset is not contained
      * in this charset.
      *
+     * @param   cs
+     *          The given charset
+     *
      * @return  <tt>true</tt> if the given charset is contained in this charset
      */
     public abstract boolean contains(Charset cs);
--- a/src/share/classes/java/nio/charset/CoderResult.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/nio/charset/CoderResult.java	Thu Jul 11 12:31:10 2013 -0700
@@ -227,6 +227,9 @@
      * Static factory method that returns the unique object describing a
      * malformed-input error of the given length.
      *
+     * @param   length
+     *          The given length
+     *
      * @return  The requested coder-result object
      */
     public static CoderResult malformedForLength(int length) {
@@ -243,6 +246,9 @@
      * Static factory method that returns the unique result object describing
      * an unmappable-character error of the given length.
      *
+     * @param   length
+     *          The given length
+     *
      * @return  The requested coder-result object
      */
     public static CoderResult unmappableForLength(int length) {
--- a/src/share/classes/java/nio/charset/spi/CharsetProvider.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/nio/charset/spi/CharsetProvider.java	Thu Jul 11 12:31:10 2013 -0700
@@ -39,8 +39,8 @@
  * the usual extension directories.  Providers may also be made available by
  * adding them to the applet or application class path or by some other
  * platform-specific means.  Charset providers are looked up via the current
- * thread's {@link java.lang.Thread#getContextClassLoader() </code>context
- * class loader<code>}.
+ * thread's {@link java.lang.Thread#getContextClassLoader() context class
+ * loader}.
  *
  * <p> A charset provider identifies itself with a provider-configuration file
  * named <tt>java.nio.charset.spi.CharsetProvider</tt> in the resource
--- a/src/share/classes/java/nio/file/FileStore.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/nio/file/FileStore.java	Thu Jul 11 12:31:10 2013 -0700
@@ -173,6 +173,8 @@
      * The {@code type} parameter is the type of the attribute view required and
      * the method returns an instance of that type if supported.
      *
+     * @param   <V>
+     *          The {@code FileStoreAttributeView} type
      * @param   type
      *          the {@code Class} object corresponding to the attribute view
      *
--- a/src/share/classes/java/nio/file/FileSystem.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/nio/file/FileSystem.java	Thu Jul 11 12:31:10 2013 -0700
@@ -315,7 +315,7 @@
      * that resembles regular expressions but with a simpler syntax. For example:
      *
      * <blockquote>
-     * <table border="0">
+     * <table border="0" summary="Pattern Language">
      * <tr>
      *   <td>{@code *.java}</td>
      *   <td>Matches a path that represents a file name ending in {@code .java}</td>
--- a/src/share/classes/java/nio/file/FileSystems.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/nio/file/FileSystems.java	Thu Jul 11 12:31:10 2013 -0700
@@ -200,6 +200,10 @@
      * existing file system. In the case of the {@link FileSystems#getDefault
      * default} file system, no permission check is required.
      *
+     * @param   uri  the URI to locate the file system
+     *
+     * @return  the reference to the file system
+     *
      * @throws  IllegalArgumentException
      *          if the pre-conditions for the {@code uri} parameter are not met
      * @throws  FileSystemNotFoundException
--- a/src/share/classes/java/nio/file/Files.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/nio/file/Files.java	Thu Jul 11 12:31:10 2013 -0700
@@ -194,7 +194,7 @@
      * <p> In the addition to {@code READ} and {@code WRITE}, the following
      * options may be present:
      *
-     * <table border=1 cellpadding=5 summary="">
+     * <table border=1 cellpadding=5 summary="Options">
      * <tr> <th>Option</th> <th>Description</th> </tr>
      * <tr>
      *   <td> {@link StandardOpenOption#APPEND APPEND} </td>
@@ -1616,7 +1616,8 @@
      *     }
      * </pre>
      *
-     *
+     * @param   <V>
+     *          The {@code FileAttributeView} type
      * @param   path
      *          the path to the file
      * @param   type
@@ -1665,6 +1666,8 @@
      *    PosixFileAttributes attrs = Files.readAttributes(path, PosixFileAttributes.class, NOFOLLOW_LINKS);
      * </pre>
      *
+     * @param   <A>
+     *          The {@code BasicFileAttributes} type
      * @param   path
      *          the path to the file
      * @param   type
@@ -1863,7 +1866,7 @@
      * attributes} parameter:
      *
      * <blockquote>
-     * <table border="0">
+     * <table border="0" summary="Possible values">
      * <tr>
      *   <td> {@code "*"} </td>
      *   <td> Read all {@link BasicFileAttributes basic-file-attributes}. </td>
@@ -1971,10 +1974,12 @@
      * System Interface (POSIX) family of standards.
      *
      * @param   path
-     *          A file reference that locates the file
+     *          The path to the file
      * @param   perms
      *          The new set of permissions
      *
+     * @return  The path
+     *
      * @throws  UnsupportedOperationException
      *          if the associated file system does not support the {@code
      *          PosixFileAttributeView}
@@ -2009,7 +2014,7 @@
      * access to a file attribute that is the owner of the file.
      *
      * @param   path
-     *          A file reference that locates the file
+     *          The path to the file
      * @param   options
      *          options indicating how symbolic links are handled
      *
@@ -2052,10 +2057,12 @@
      * </pre>
      *
      * @param   path
-     *          A file reference that locates the file
+     *          The path to the file
      * @param   owner
      *          The new file owner
      *
+     * @return  The path
+     *
      * @throws  UnsupportedOperationException
      *          if the associated file system does not support the {@code
      *          FileOwnerAttributeView}
@@ -2090,6 +2097,8 @@
      * readAttributes} method and the file type tested with the {@link
      * BasicFileAttributes#isSymbolicLink} method.
      *
+     * @param   path  The path to the file
+     *
      * @return  {@code true} if the file is a symbolic link; {@code false} if
      *          the file does not exist, is not a symbolic link, or it cannot
      *          be determined if the file is a symbolic link or not.
@@ -2239,7 +2248,7 @@
      * @param   time
      *          the new last modified time
      *
-     * @return  the file
+     * @return  the path
      *
      * @throws  IOException
      *          if an I/O error occurs
--- a/src/share/classes/java/nio/file/Path.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/nio/file/Path.java	Thu Jul 11 12:31:10 2013 -0700
@@ -64,7 +64,7 @@
  * those developing custom file system implementations. Methods may be added to
  * this interface in future releases. </p>
  *
- * <h4>Accessing Files</h4>
+ * <h2>Accessing Files</h2>
  * <p> Paths may be used with the {@link Files} class to operate on files,
  * directories, and other types of files. For example, suppose we want a {@link
  * java.io.BufferedReader} to read text from a file "{@code access.log}". The
@@ -75,7 +75,7 @@
  *     BufferedReader reader = Files.newBufferedReader(path, StandardCharsets.UTF_8);
  * </pre>
  *
- * <a name="interop"><h4>Interoperability</h4></a>
+ * <a name="interop"></a><h2>Interoperability</h2>
  * <p> Paths associated with the default {@link
  * java.nio.file.spi.FileSystemProvider provider} are generally interoperable
  * with the {@link java.io.File java.io.File} class. Paths created by other
@@ -87,7 +87,7 @@
  * addition, the {@link #toFile toFile} method is useful to construct a {@code
  * File} from the {@code String} representation of a {@code Path}.
  *
- * <h4>Concurrency</h4>
+ * <h2>Concurrency</h2>
  * <p> Implementations of this interface are immutable and safe for use by
  * multiple concurrent threads.
  *
--- a/src/share/classes/java/nio/file/SecureDirectoryStream.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/nio/file/SecureDirectoryStream.java	Thu Jul 11 12:31:10 2013 -0700
@@ -122,6 +122,8 @@
      *          an optional list of attributes to set atomically when creating
      *          the file
      *
+     * @return  the seekable byte channel
+     *
      * @throws  ClosedDirectoryStreamException
      *          if the directory stream is closed
      * @throws  IllegalArgumentException
@@ -260,6 +262,8 @@
      * then all methods to read or update attributes will throw {@link
      * ClosedDirectoryStreamException ClosedDirectoryStreamException}.
      *
+     * @param   <V>
+     *          The {@code FileAttributeView} type
      * @param   type
      *          the {@code Class} object corresponding to the file attribute view
      *
@@ -288,6 +292,8 @@
      * is created but methods to read or update attributes of the file will
      * fail when invoked and the file does not exist.
      *
+     * @param   <V>
+     *          The {@code FileAttributeView} type
      * @param   path
      *          the path of the file
      * @param   type
--- a/src/share/classes/java/nio/file/WatchEvent.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/nio/file/WatchEvent.java	Thu Jul 11 12:31:10 2013 -0700
@@ -55,11 +55,16 @@
     public static interface Kind<T> {
         /**
          * Returns the name of the event kind.
+         *
+         * @return the name of the event kind
          */
         String name();
 
         /**
          * Returns the type of the {@link WatchEvent#context context} value.
+         *
+         *
+         * @return the type of the context value
          */
         Class<T> type();
     }
@@ -76,6 +81,8 @@
     public static interface Modifier {
         /**
          * Returns the name of the modifier.
+         *
+         * @return the name of the modifier
          */
         String name();
     }
--- a/src/share/classes/java/nio/file/WatchService.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/nio/file/WatchService.java	Thu Jul 11 12:31:10 2013 -0700
@@ -78,7 +78,7 @@
  * The {@link java.nio.channels.FileChannel FileChannel} class defines methods
  * to lock regions of a file against access by other programs.
  *
- * <h4>Platform dependencies</h4>
+ * <h2>Platform dependencies</h2>
  *
  * <p> The implementation that observes events from the file system is intended
  * to map directly on to the native file event notification facility where
--- a/src/share/classes/java/nio/file/attribute/AclEntry.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/nio/file/attribute/AclEntry.java	Thu Jul 11 12:31:10 2013 -0700
@@ -134,6 +134,7 @@
         /**
          * Sets the type component of this builder.
          *
+         * @param   type  the component type
          * @return  this builder
          */
         public Builder setType(AclEntryType type) {
@@ -146,6 +147,7 @@
         /**
          * Sets the principal component of this builder.
          *
+         * @param   who  the principal component
          * @return  this builder
          */
         public Builder setPrincipal(UserPrincipal who) {
@@ -168,6 +170,7 @@
          * Sets the permissions component of this builder. On return, the
          * permissions component of this builder is a copy of the given set.
          *
+         * @param   perms  the permissions component
          * @return  this builder
          *
          * @throws  ClassCastException
@@ -193,6 +196,7 @@
          * permissions component of this builder is a copy of the permissions in
          * the given array.
          *
+         * @param   perms  the permissions component
          * @return  this builder
          */
         public Builder setPermissions(AclEntryPermission... perms) {
@@ -211,6 +215,7 @@
          * Sets the flags component of this builder. On return, the flags
          * component of this builder is a copy of the given set.
          *
+         * @param   flags  the flags component
          * @return  this builder
          *
          * @throws  ClassCastException
@@ -236,6 +241,7 @@
          * component of this builder is a copy of the flags in the given
          * array.
          *
+         * @param   flags  the flags component
          * @return  this builder
          */
         public Builder setFlags(AclEntryFlag... flags) {
@@ -267,9 +273,7 @@
     /**
      * Constructs a new builder with the components of an existing ACL entry.
      *
-     * @param   entry
-     *          an ACL entry
-     *
+     * @param   entry  an ACL entry
      * @return  a new builder
      */
     public static Builder newBuilder(AclEntry entry) {
@@ -278,6 +282,8 @@
 
     /**
      * Returns the ACL entry type.
+     *
+     * @return the ACL entry type
      */
     public AclEntryType type() {
         return type;
@@ -285,6 +291,8 @@
 
     /**
      * Returns the principal component.
+     *
+     * @return the principal component
      */
     public UserPrincipal principal() {
         return who;
@@ -294,6 +302,8 @@
      * Returns a copy of the permissions component.
      *
      * <p> The returned set is a modifiable copy of the permissions.
+     *
+     * @return the permissions component
      */
     public Set<AclEntryPermission> permissions() {
         return new HashSet<AclEntryPermission>(perms);
@@ -303,6 +313,8 @@
      * Returns a copy of the flags component.
      *
      * <p> The returned set is a modifiable copy of the flags.
+     *
+     * @return the flags component
      */
     public Set<AclEntryFlag> flags() {
         return new HashSet<AclEntryFlag>(flags);
--- a/src/share/classes/java/nio/file/attribute/AclFileAttributeView.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/nio/file/attribute/AclFileAttributeView.java	Thu Jul 11 12:31:10 2013 -0700
@@ -54,7 +54,7 @@
  * supportsFileAttributeView} method can be used to test if a file system
  * supports ACLs.
  *
- * <a name="interop"><h4>Interoperability</h4></a>
+ * <h2>Interoperability</h2>
  *
  * RFC&nbsp;3530 allows for special user identities to be used on platforms that
  * support the POSIX defined access permissions. The special user identities
@@ -65,7 +65,7 @@
  * UserPrincipalLookupService} may be used to obtain a {@link UserPrincipal}
  * to represent these special identities by invoking the {@link
  * UserPrincipalLookupService#lookupPrincipalByName lookupPrincipalByName}
- * method. </p>
+ * method.
  *
  * <p> <b>Usage Example:</b>
  * Suppose we wish to add an entry to an existing ACL to grant "joe" access:
@@ -90,11 +90,11 @@
  *     view.setAcl(acl);
  * </pre>
  *
- * <h4> Dynamic Access </h4>
+ * <h2> Dynamic Access </h2>
  * <p> Where dynamic access to file attributes is required, the attributes
  * supported by this attribute view are as follows:
  * <blockquote>
- * <table border="1" cellpadding="8">
+ * <table border="1" cellpadding="8" summary="Supported attributes">
  *   <tr>
  *     <th> Name </th>
  *     <th> Type </th>
@@ -118,7 +118,7 @@
  * update the ACL or owner attributes as if by invoking the {@link #setAcl setAcl}
  * or {@link #setOwner setOwner} methods.
  *
- * <h4> Setting the ACL when creating a file </h4>
+ * <h2> Setting the ACL when creating a file </h2>
  *
  * <p> Implementations supporting this attribute view may also support setting
  * the initial ACL when creating a file or directory. The initial ACL
--- a/src/share/classes/java/nio/file/attribute/AttributeView.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/nio/file/attribute/AttributeView.java	Thu Jul 11 12:31:10 2013 -0700
@@ -38,6 +38,8 @@
 public interface AttributeView {
     /**
      * Returns the name of the attribute view.
+     *
+     * @return the name of the attribute view
      */
     String name();
 }
--- a/src/share/classes/java/nio/file/attribute/BasicFileAttributeView.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/nio/file/attribute/BasicFileAttributeView.java	Thu Jul 11 12:31:10 2013 -0700
@@ -41,7 +41,7 @@
  * <p> Where dynamic access to file attributes is required, the attributes
  * supported by this attribute view have the following names and types:
  * <blockquote>
- *  <table border="1" cellpadding="8">
+ *  <table border="1" cellpadding="8" summary="Supported attributes">
  *   <tr>
  *     <th> Name </th>
  *     <th> Type </th>
--- a/src/share/classes/java/nio/file/attribute/BasicFileAttributes.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/nio/file/attribute/BasicFileAttributes.java	Thu Jul 11 12:31:10 2013 -0700
@@ -87,22 +87,31 @@
 
     /**
      * Tells whether the file is a regular file with opaque content.
+     *
+     * @return {@code true} if the file is a regular file with opaque content
      */
     boolean isRegularFile();
 
     /**
      * Tells whether the file is a directory.
+     *
+     * @return {@code true} if the file is a directory
      */
     boolean isDirectory();
 
     /**
      * Tells whether the file is a symbolic link.
+     *
+     * @return {@code true} if the file is a symbolic link
      */
     boolean isSymbolicLink();
 
     /**
      * Tells whether the file is something other than a regular file, directory,
      * or symbolic link.
+     *
+     * @return {@code true} if the file something other than a regular file,
+     *         directory or symbolic link
      */
     boolean isOther();
 
@@ -138,6 +147,8 @@
      * and two files are the {@link java.nio.file.Files#isSameFile same} with
      * non-{@code null} file keys, then their file keys are equal.
      *
+     * @return an object that uniquely identifies the given file, or {@code null}
+     *
      * @see java.nio.file.Files#walkFileTree
      */
     Object fileKey();
--- a/src/share/classes/java/nio/file/attribute/DosFileAttributeView.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/nio/file/attribute/DosFileAttributeView.java	Thu Jul 11 12:31:10 2013 -0700
@@ -41,7 +41,7 @@
  * BasicFileAttributeView}, and in addition, the following attributes are
  * supported:
  * <blockquote>
- * <table border="1" cellpadding="8">
+ * <table border="1" cellpadding="8" summary="Supported attributes">
  *   <tr>
  *     <th> Name </th>
  *     <th> Type </th>
--- a/src/share/classes/java/nio/file/attribute/FileAttribute.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/nio/file/attribute/FileAttribute.java	Thu Jul 11 12:31:10 2013 -0700
@@ -40,11 +40,15 @@
 public interface FileAttribute<T> {
     /**
      * Returns the attribute name.
+     *
+     * @return The attribute name
      */
     String name();
 
     /**
      * Returns the attribute value.
+     *
+     * @return The attribute value
      */
     T value();
 }
--- a/src/share/classes/java/nio/file/attribute/PosixFileAttributeView.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/nio/file/attribute/PosixFileAttributeView.java	Thu Jul 11 12:31:10 2013 -0700
@@ -68,13 +68,13 @@
  *         PosixFilePermissions.toString(attrs.permissions()));
  * </pre>
  *
- * <h4> Dynamic Access </h4>
+ * <h2> Dynamic Access </h2>
  * <p> Where dynamic access to file attributes is required, the attributes
  * supported by this attribute view are as defined by {@link
  * BasicFileAttributeView} and {@link FileOwnerAttributeView}, and in addition,
  * the following attributes are supported:
  * <blockquote>
- * <table border="1" cellpadding="8">
+ * <table border="1" cellpadding="8" summary="Supported attributes">
  *   <tr>
  *     <th> Name </th>
  *     <th> Type </th>
@@ -102,7 +102,7 @@
  * #setPermissions setPermissions}, {@link #setOwner setOwner}, and {@link
  * #setGroup setGroup} methods respectively.
  *
- * <h4> Setting Initial Permissions </h4>
+ * <h2> Setting Initial Permissions </h2>
  * <p> Implementations supporting this attribute view may also support setting
  * the initial permissions when creating a file or directory. The
  * initial permissions are provided to the {@link Files#createFile createFile}
--- a/src/share/classes/java/nio/file/spi/FileSystemProvider.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/nio/file/spi/FileSystemProvider.java	Thu Jul 11 12:31:10 2013 -0700
@@ -287,6 +287,8 @@
      * @param   uri
      *          The URI to convert
      *
+     * @return  The resulting {@code Path}
+     *
      * @throws  IllegalArgumentException
      *          If the URI scheme does not identify this provider or other
      *          preconditions on the uri parameter do not hold
@@ -751,6 +753,8 @@
      * @param   link
      *          the path to the symbolic link
      *
+     * @return  The target of the symbolic link
+     *
      * @throws  UnsupportedOperationException
      *          if the implementation does not support symbolic links
      * @throws  NotLinkException
@@ -984,6 +988,8 @@
      * exactly the manner specified by the {@link Files#getFileAttributeView}
      * method.
      *
+     * @param   <V>
+     *          The {@code FileAttributeView} type
      * @param   path
      *          the path to the file
      * @param   type
@@ -1002,6 +1008,8 @@
      * exactly the manner specified by the {@link
      * Files#readAttributes(Path,Class,LinkOption[])} method.
      *
+     * @param   <A>
+     *          The {@code BasicFileAttributes} type
      * @param   path
      *          the path to the file
      * @param   type
--- a/src/share/classes/java/rmi/server/RMIClassLoader.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/rmi/server/RMIClassLoader.java	Thu Jul 11 12:31:10 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -424,7 +424,7 @@
      *
      * <ul>
      *
-     * <p><li>If the class loader is the system class loader (see
+     * <li><p>If the class loader is the system class loader (see
      * {@link ClassLoader#getSystemClassLoader}), a parent of the
      * system class loader such as the loader used for installed
      * extensions, or the bootstrap class loader (which may be
@@ -433,7 +433,7 @@
      * earlier cached value) is returned, or
      * <code>null</code> is returned if that property is not set.
      *
-     * <p><li>Otherwise, if the class loader is an instance of
+     * <li><p>Otherwise, if the class loader is an instance of
      * <code>URLClassLoader</code>, then the returned string is a
      * space-separated list of the external forms of the URLs returned
      * by invoking the <code>getURLs</code> methods of the loader.  If
@@ -452,7 +452,7 @@
      * property (or possibly an earlier cached value) is returned, or
      * <code>null</code> is returned if that property is not set.
      *
-     * <p><li>Finally, if the class loader is not an instance of
+     * <li><p>Finally, if the class loader is not an instance of
      * <code>URLClassLoader</code>, then the value of the
      * <code>java.rmi.server.codebase</code> property (or possibly an
      * earlier cached value) is returned, or
--- a/src/share/classes/java/security/AccessControlContext.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/security/AccessControlContext.java	Thu Jul 11 12:31:10 2013 -0700
@@ -36,10 +36,10 @@
  * based on the context it encapsulates.
  *
  * <p>More specifically, it encapsulates a context and
- * has a single method, <code>checkPermission</code>,
- * that is equivalent to the <code>checkPermission</code> method
+ * has a single method, {@code checkPermission},
+ * that is equivalent to the {@code checkPermission} method
  * in the AccessController class, with one difference: The AccessControlContext
- * <code>checkPermission</code> method makes access decisions based on the
+ * {@code checkPermission} method makes access decisions based on the
  * context it encapsulates,
  * rather than that of the current execution thread.
  *
@@ -49,8 +49,8 @@
  * <i>different</i> context (for example, from within a worker thread).
  *
  * <p> An AccessControlContext is created by calling the
- * <code>AccessController.getContext</code> method.
- * The <code>getContext</code> method takes a "snapshot"
+ * {@code AccessController.getContext} method.
+ * The {@code getContext} method takes a "snapshot"
  * of the current calling context, and places
  * it in an AccessControlContext object, which it returns. A sample call is
  * the following:
@@ -61,7 +61,7 @@
  *
  * <p>
  * Code within a different context can subsequently call the
- * <code>checkPermission</code> method on the
+ * {@code checkPermission} method on the
  * previously-saved AccessControlContext object. A sample call is the
  * following:
  *
@@ -121,7 +121,7 @@
      * @param context the ProtectionDomains associated with this context.
      * The non-duplicate domains are copied from the array. Subsequent
      * changes to the array will not affect this AccessControlContext.
-     * @throws NullPointerException if <code>context</code> is <code>null</code>
+     * @throws NullPointerException if {@code context} is {@code null}
      */
     public AccessControlContext(ProtectionDomain context[])
     {
@@ -147,22 +147,22 @@
     }
 
     /**
-     * Create a new <code>AccessControlContext</code> with the given
-     * <code>AccessControlContext</code> and <code>DomainCombiner</code>.
+     * Create a new {@code AccessControlContext} with the given
+     * {@code AccessControlContext} and {@code DomainCombiner}.
      * This constructor associates the provided
-     * <code>DomainCombiner</code> with the provided
-     * <code>AccessControlContext</code>.
+     * {@code DomainCombiner} with the provided
+     * {@code AccessControlContext}.
      *
      * <p>
      *
-     * @param acc the <code>AccessControlContext</code> associated
-     *          with the provided <code>DomainCombiner</code>.
+     * @param acc the {@code AccessControlContext} associated
+     *          with the provided {@code DomainCombiner}.
      *
-     * @param combiner the <code>DomainCombiner</code> to be associated
-     *          with the provided <code>AccessControlContext</code>.
+     * @param combiner the {@code DomainCombiner} to be associated
+     *          with the provided {@code AccessControlContext}.
      *
      * @exception NullPointerException if the provided
-     *          <code>context</code> is <code>null</code>.
+     *          {@code context} is {@code null}.
      *
      * @exception SecurityException if a security manager is installed and the
      *          caller does not have the "createAccessControlContext"
@@ -320,13 +320,13 @@
     }
 
     /**
-     * Get the <code>DomainCombiner</code> associated with this
-     * <code>AccessControlContext</code>.
+     * Get the {@code DomainCombiner} associated with this
+     * {@code AccessControlContext}.
      *
      * <p>
      *
-     * @return the <code>DomainCombiner</code> associated with this
-     *          <code>AccessControlContext</code>, or <code>null</code>
+     * @return the {@code DomainCombiner} associated with this
+     *          {@code AccessControlContext}, or {@code null}
      *          if there is none.
      *
      * @exception SecurityException if a security manager is installed and
--- a/src/share/classes/java/security/AccessControlException.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/security/AccessControlException.java	Thu Jul 11 12:31:10 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -48,7 +48,7 @@
     private Permission perm;
 
     /**
-     * Constructs an <code>AccessControlException</code> with the
+     * Constructs an {@code AccessControlException} with the
      * specified, detailed message.
      *
      * @param   s   the detail message.
@@ -58,7 +58,7 @@
     }
 
     /**
-     * Constructs an <code>AccessControlException</code> with the
+     * Constructs an {@code AccessControlException} with the
      * specified, detailed message, and the requested permission that caused
      * the exception.
      *
--- a/src/share/classes/java/security/AccessController.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/security/AccessController.java	Thu Jul 11 12:31:10 2013 -0700
@@ -49,7 +49,7 @@
  * <p> The {@link #checkPermission(Permission) checkPermission} method
  * determines whether the access request indicated by a specified
  * permission should be granted or denied. A sample call appears
- * below. In this example, <code>checkPermission</code> will determine
+ * below. In this example, {@code checkPermission} will determine
  * whether or not to grant "read" access to the file named "testFile" in
  * the "/temp" directory.
  *
@@ -61,7 +61,7 @@
  * </pre>
  *
  * <p> If a requested access is allowed,
- * <code>checkPermission</code> returns quietly. If denied, an
+ * {@code checkPermission} returns quietly. If denied, an
  * AccessControlException is
  * thrown. AccessControlException can also be thrown if the requested
  * permission is of an incorrect type or contains an invalid value.
@@ -69,8 +69,8 @@
  *
  * Suppose the current thread traversed m callers, in the order of caller 1
  * to caller 2 to caller m. Then caller m invoked the
- * <code>checkPermission</code> method.
- * The <code>checkPermission </code>method determines whether access
+ * {@code checkPermission} method.
+ * The {@code checkPermission} method determines whether access
  * is granted or denied based on the following algorithm:
  *
  *  <pre> {@code
@@ -102,20 +102,20 @@
  *
  * <p> A caller can be marked as being "privileged"
  * (see {@link #doPrivileged(PrivilegedAction) doPrivileged} and below).
- * When making access control decisions, the <code>checkPermission</code>
+ * When making access control decisions, the {@code checkPermission}
  * method stops checking if it reaches a caller that
- * was marked as "privileged" via a <code>doPrivileged</code>
+ * was marked as "privileged" via a {@code doPrivileged}
  * call without a context argument (see below for information about a
  * context argument). If that caller's domain has the
  * specified permission and at least one limiting permission argument (if any)
  * implies the requested permission, no further checking is done and
- * <code>checkPermission</code>
+ * {@code checkPermission}
  * returns quietly, indicating that the requested access is allowed.
  * If that domain does not have the specified permission, an exception
  * is thrown, as usual. If the caller's domain had the specified permission
  * but it was not implied by any limiting permission arguments given in the call
- * to <code>doPrivileged</code> then the permission checking continues
- * until there are no more callers or another <code>doPrivileged</code>
+ * to {@code doPrivileged} then the permission checking continues
+ * until there are no more callers or another {@code doPrivileged}
  * call matches the requested permission and returns normally.
  *
  * <p> The normal use of the "privileged" feature is as follows. If you
@@ -137,17 +137,17 @@
  *
  * <p>
  * PrivilegedAction is an interface with a single method, named
- * <code>run</code>.
+ * {@code run}.
  * The above example shows creation of an implementation
  * of that interface; a concrete implementation of the
- * <code>run</code> method is supplied.
- * When the call to <code>doPrivileged</code> is made, an
+ * {@code run} method is supplied.
+ * When the call to {@code doPrivileged} is made, an
  * instance of the PrivilegedAction implementation is passed
- * to it. The <code>doPrivileged</code> method calls the
- * <code>run</code> method from the PrivilegedAction
+ * to it. The {@code doPrivileged} method calls the
+ * {@code run} method from the PrivilegedAction
  * implementation after enabling privileges, and returns the
- * <code>run</code> method's return value as the
- * <code>doPrivileged</code> return value (which is
+ * {@code run} method's return value as the
+ * {@code doPrivileged} return value (which is
  * ignored in this example).
  *
  * <p> If you need to return a value, you can do something like the following:
@@ -164,11 +164,11 @@
  *     ...normal code here...
  * }}</pre>
  *
- * <p>If the action performed in your <code>run</code> method could
- * throw a "checked" exception (those listed in the <code>throws</code> clause
+ * <p>If the action performed in your {@code run} method could
+ * throw a "checked" exception (those listed in the {@code throws} clause
  * of a method), then you need to use the
- * <code>PrivilegedExceptionAction</code> interface instead of the
- * <code>PrivilegedAction</code> interface:
+ * {@code PrivilegedExceptionAction} interface instead of the
+ * {@code PrivilegedAction} interface:
  *
  *  <pre> {@code
  * somemethod() throws FileNotFoundException {
@@ -191,18 +191,18 @@
  *
  * <p> Be *very* careful in your use of the "privileged" construct, and
  * always remember to make the privileged code section as small as possible.
- * You can pass <code>Permission</code> arguments to further limit the
+ * You can pass {@code Permission} arguments to further limit the
  * scope of the "privilege" (see below).
  *
  *
- * <p> Note that <code>checkPermission</code> always performs security checks
+ * <p> Note that {@code checkPermission} always performs security checks
  * within the context of the currently executing thread.
  * Sometimes a security check that should be made within a given context
  * will actually need to be done from within a
  * <i>different</i> context (for example, from within a worker thread).
  * The {@link #getContext() getContext} method and
  * AccessControlContext class are provided
- * for this situation. The <code>getContext</code> method takes a "snapshot"
+ * for this situation. The {@code getContext} method takes a "snapshot"
  * of the current calling context, and places
  * it in an AccessControlContext object, which it returns. A sample call is
  * the following:
@@ -214,7 +214,7 @@
  * </pre>
  *
  * <p>
- * AccessControlContext itself has a <code>checkPermission</code> method
+ * AccessControlContext itself has a {@code checkPermission} method
  * that makes access decisions based on the context <i>it</i> encapsulates,
  * rather than that of the current execution thread.
  * Code within a different context can thus call that method on the
@@ -230,7 +230,7 @@
  * <p> There are also times where you don't know a priori which permissions
  * to check the context against. In these cases you can use the
  * doPrivileged method that takes a context. You can also limit the scope
- * of the privileged code by passing additional <code>Permission</code>
+ * of the privileged code by passing additional {@code Permission}
  * parameters.
  *
  *  <pre> {@code
@@ -248,12 +248,12 @@
  *     }, acc, new FilePermission("/temp/*", read));
  *     ...normal code here...
  * }}</pre>
- * <p> Passing a limiting <code>Permission</code> argument of an instance of
- * <code>AllPermission</code> is equivalent to calling the equivalent
- * <code>doPrivileged</code> method without limiting <code>Permission</code>
- * arguments. Passing a zero length array of <code>Permission</code> disables
+ * <p> Passing a limiting {@code Permission} argument of an instance of
+ * {@code AllPermission} is equivalent to calling the equivalent
+ * {@code doPrivileged} method without limiting {@code Permission}
+ * arguments. Passing a zero length array of {@code Permission} disables
  * the code privileges so that checking always continues beyond the caller of
- * that <code>doPrivileged</code> method.
+ * that {@code doPrivileged} method.
  *
  * @see AccessControlContext
  *
@@ -269,11 +269,11 @@
     private AccessController() { }
 
     /**
-     * Performs the specified <code>PrivilegedAction</code> with privileges
+     * Performs the specified {@code PrivilegedAction} with privileges
      * enabled. The action is performed with <i>all</i> of the permissions
      * possessed by the caller's protection domain.
      *
-     * <p> If the action's <code>run</code> method throws an (unchecked)
+     * <p> If the action's {@code run} method throws an (unchecked)
      * exception, it will propagate through this method.
      *
      * <p> Note that any DomainCombiner associated with the current
@@ -281,9 +281,9 @@
      *
      * @param action the action to be performed.
      *
-     * @return the value returned by the action's <code>run</code> method.
+     * @return the value returned by the action's {@code run} method.
      *
-     * @exception NullPointerException if the action is <code>null</code>
+     * @exception NullPointerException if the action is {@code null}
      *
      * @see #doPrivileged(PrivilegedAction,AccessControlContext)
      * @see #doPrivileged(PrivilegedExceptionAction)
@@ -295,11 +295,11 @@
     public static native <T> T doPrivileged(PrivilegedAction<T> action);
 
     /**
-     * Performs the specified <code>PrivilegedAction</code> with privileges
+     * Performs the specified {@code PrivilegedAction} with privileges
      * enabled. The action is performed with <i>all</i> of the permissions
      * possessed by the caller's protection domain.
      *
-     * <p> If the action's <code>run</code> method throws an (unchecked)
+     * <p> If the action's {@code run} method throws an (unchecked)
      * exception, it will propagate through this method.
      *
      * <p> This method preserves the current AccessControlContext's
@@ -307,9 +307,9 @@
      *
      * @param action the action to be performed.
      *
-     * @return the value returned by the action's <code>run</code> method.
+     * @return the value returned by the action's {@code run} method.
      *
-     * @exception NullPointerException if the action is <code>null</code>
+     * @exception NullPointerException if the action is {@code null}
      *
      * @see #doPrivileged(PrivilegedAction)
      * @see java.security.DomainCombiner
@@ -364,17 +364,17 @@
 
 
     /**
-     * Performs the specified <code>PrivilegedAction</code> with privileges
+     * Performs the specified {@code PrivilegedAction} with privileges
      * enabled and restricted by the specified
-     * <code>AccessControlContext</code> and with a privilege scope limited
-     * by specified <code>Permission</code> arguments.
+     * {@code AccessControlContext} and with a privilege scope limited
+     * by specified {@code Permission} arguments.
      *
      * The action is performed with the intersection of the permissions
      * possessed by the caller's protection domain, and those possessed
      * by the domains represented by the specified
-     * <code>AccessControlContext</code>.
+     * {@code AccessControlContext}.
      * <p>
-     * If the action's <code>run</code> method throws an (unchecked) exception,
+     * If the action's {@code run} method throws an (unchecked) exception,
      * it will propagate through this method.
      *
      * @param action the action to be performed.
@@ -382,16 +382,16 @@
      *                representing the restriction to be applied to the
      *                caller's domain's privileges before performing
      *                the specified action.  If the context is
-     *                <code>null</code>,
+     *                {@code null},
      *                then no additional restriction is applied.
-     * @param perms the <code>Permission</code> arguments which limit the
+     * @param perms the {@code Permission} arguments which limit the
      *              scope of the caller's privileges. The number of arguments
      *              is variable.
      *
-     * @return the value returned by the action's <code>run</code> method.
+     * @return the value returned by the action's {@code run} method.
      *
      * @throws NullPointerException if action or perms or any element of
-     *         perms is <code>null</code>
+     *         perms is {@code null}
      *
      * @see #doPrivileged(PrivilegedAction)
      * @see #doPrivileged(PrivilegedExceptionAction,AccessControlContext)
@@ -413,17 +413,17 @@
 
 
     /**
-     * Performs the specified <code>PrivilegedAction</code> with privileges
+     * Performs the specified {@code PrivilegedAction} with privileges
      * enabled and restricted by the specified
-     * <code>AccessControlContext</code> and with a privilege scope limited
-     * by specified <code>Permission</code> arguments.
+     * {@code AccessControlContext} and with a privilege scope limited
+     * by specified {@code Permission} arguments.
      *
      * The action is performed with the intersection of the permissions
      * possessed by the caller's protection domain, and those possessed
      * by the domains represented by the specified
-     * <code>AccessControlContext</code>.
+     * {@code AccessControlContext}.
      * <p>
-     * If the action's <code>run</code> method throws an (unchecked) exception,
+     * If the action's {@code run} method throws an (unchecked) exception,
      * it will propagate through this method.
      *
      * <p> This method preserves the current AccessControlContext's
@@ -434,16 +434,16 @@
      *                representing the restriction to be applied to the
      *                caller's domain's privileges before performing
      *                the specified action.  If the context is
-     *                <code>null</code>,
+     *                {@code null},
      *                then no additional restriction is applied.
-     * @param perms the <code>Permission</code> arguments which limit the
+     * @param perms the {@code Permission} arguments which limit the
      *              scope of the caller's privileges. The number of arguments
      *              is variable.
      *
-     * @return the value returned by the action's <code>run</code> method.
+     * @return the value returned by the action's {@code run} method.
      *
      * @throws NullPointerException if action or perms or any element of
-     *         perms is <code>null</code>
+     *         perms is {@code null}
      *
      * @see #doPrivileged(PrivilegedAction)
      * @see #doPrivileged(PrivilegedExceptionAction,AccessControlContext)
@@ -469,11 +469,11 @@
     }
 
     /**
-     * Performs the specified <code>PrivilegedExceptionAction</code> with
+     * Performs the specified {@code PrivilegedExceptionAction} with
      * privileges enabled.  The action is performed with <i>all</i> of the
      * permissions possessed by the caller's protection domain.
      *
-     * <p> If the action's <code>run</code> method throws an <i>unchecked</i>
+     * <p> If the action's {@code run} method throws an <i>unchecked</i>
      * exception, it will propagate through this method.
      *
      * <p> Note that any DomainCombiner associated with the current
@@ -481,11 +481,11 @@
      *
      * @param action the action to be performed
      *
-     * @return the value returned by the action's <code>run</code> method
+     * @return the value returned by the action's {@code run} method
      *
      * @exception PrivilegedActionException if the specified action's
-     *         <code>run</code> method threw a <i>checked</i> exception
-     * @exception NullPointerException if the action is <code>null</code>
+     *         {@code run} method threw a <i>checked</i> exception
+     * @exception NullPointerException if the action is {@code null}
      *
      * @see #doPrivileged(PrivilegedAction)
      * @see #doPrivileged(PrivilegedExceptionAction,AccessControlContext)
@@ -499,11 +499,11 @@
 
 
     /**
-     * Performs the specified <code>PrivilegedExceptionAction</code> with
+     * Performs the specified {@code PrivilegedExceptionAction} with
      * privileges enabled.  The action is performed with <i>all</i> of the
      * permissions possessed by the caller's protection domain.
      *
-     * <p> If the action's <code>run</code> method throws an <i>unchecked</i>
+     * <p> If the action's {@code run} method throws an <i>unchecked</i>
      * exception, it will propagate through this method.
      *
      * <p> This method preserves the current AccessControlContext's
@@ -511,11 +511,11 @@
      *
      * @param action the action to be performed.
      *
-     * @return the value returned by the action's <code>run</code> method
+     * @return the value returned by the action's {@code run} method
      *
      * @exception PrivilegedActionException if the specified action's
-     *         <code>run</code> method threw a <i>checked</i> exception
-     * @exception NullPointerException if the action is <code>null</code>
+     *         {@code run} method threw a <i>checked</i> exception
+     * @exception NullPointerException if the action is {@code null}
      *
      * @see #doPrivileged(PrivilegedAction)
      * @see #doPrivileged(PrivilegedExceptionAction,AccessControlContext)
@@ -609,17 +609,17 @@
 
 
     /**
-     * Performs the specified <code>PrivilegedExceptionAction</code> with
+     * Performs the specified {@code PrivilegedExceptionAction} with
      * privileges enabled and restricted by the specified
-     * <code>AccessControlContext</code> and with a privilege scope limited by
-     * specified <code>Permission</code> arguments.
+     * {@code AccessControlContext} and with a privilege scope limited by
+     * specified {@code Permission} arguments.
      *
      * The action is performed with the intersection of the permissions
      * possessed by the caller's protection domain, and those possessed
      * by the domains represented by the specified
-     * <code>AccessControlContext</code>.
+     * {@code AccessControlContext}.
      * <p>
-     * If the action's <code>run</code> method throws an (unchecked) exception,
+     * If the action's {@code run} method throws an (unchecked) exception,
      * it will propagate through this method.
      *
      * @param action the action to be performed.
@@ -627,18 +627,18 @@
      *                representing the restriction to be applied to the
      *                caller's domain's privileges before performing
      *                the specified action.  If the context is
-     *                <code>null</code>,
+     *                {@code null},
      *                then no additional restriction is applied.
-     * @param perms the <code>Permission</code> arguments which limit the
+     * @param perms the {@code Permission} arguments which limit the
      *              scope of the caller's privileges. The number of arguments
      *              is variable.
      *
-     * @return the value returned by the action's <code>run</code> method.
+     * @return the value returned by the action's {@code run} method.
      *
      * @throws PrivilegedActionException if the specified action's
-     *         <code>run</code> method threw a <i>checked</i> exception
+     *         {@code run} method threw a <i>checked</i> exception
      * @throws NullPointerException if action or perms or any element of
-     *         perms is <code>null</code>
+     *         perms is {@code null}
      *
      * @see #doPrivileged(PrivilegedAction)
      * @see #doPrivileged(PrivilegedAction,AccessControlContext)
@@ -660,17 +660,17 @@
 
 
     /**
-     * Performs the specified <code>PrivilegedExceptionAction</code> with
+     * Performs the specified {@code PrivilegedExceptionAction} with
      * privileges enabled and restricted by the specified
-     * <code>AccessControlContext</code> and with a privilege scope limited by
-     * specified <code>Permission</code> arguments.
+     * {@code AccessControlContext} and with a privilege scope limited by
+     * specified {@code Permission} arguments.
      *
      * The action is performed with the intersection of the permissions
      * possessed by the caller's protection domain, and those possessed
      * by the domains represented by the specified
-     * <code>AccessControlContext</code>.
+     * {@code AccessControlContext}.
      * <p>
-     * If the action's <code>run</code> method throws an (unchecked) exception,
+     * If the action's {@code run} method throws an (unchecked) exception,
      * it will propagate through this method.
      *
      * <p> This method preserves the current AccessControlContext's
@@ -681,18 +681,18 @@
      *                representing the restriction to be applied to the
      *                caller's domain's privileges before performing
      *                the specified action.  If the context is
-     *                <code>null</code>,
+     *                {@code null},
      *                then no additional restriction is applied.
-     * @param perms the <code>Permission</code> arguments which limit the
+     * @param perms the {@code Permission} arguments which limit the
      *              scope of the caller's privileges. The number of arguments
      *              is variable.
      *
-     * @return the value returned by the action's <code>run</code> method.
+     * @return the value returned by the action's {@code run} method.
      *
      * @throws PrivilegedActionException if the specified action's
-     *         <code>run</code> method threw a <i>checked</i> exception
+     *         {@code run} method threw a <i>checked</i> exception
      * @throws NullPointerException if action or perms or any element of
-     *         perms is <code>null</code>
+     *         perms is {@code null}
      *
      * @see #doPrivileged(PrivilegedAction)
      * @see #doPrivileged(PrivilegedAction,AccessControlContext)
@@ -770,14 +770,14 @@
      * This method quietly returns if the access request
      * is permitted, or throws an AccessControlException otherwise. The
      * getPermission method of the AccessControlException returns the
-     * <code>perm</code> Permission object instance.
+     * {@code perm} Permission object instance.
      *
      * @param perm the requested permission.
      *
      * @exception AccessControlException if the specified permission
      *            is not permitted, based on the current security policy.
      * @exception NullPointerException if the specified permission
-     *            is <code>null</code> and is checked based on the
+     *            is {@code null} and is checked based on the
      *            security policy currently in effect.
      */
 
--- a/src/share/classes/java/security/AlgorithmParameterGenerator.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/security/AlgorithmParameterGenerator.java	Thu Jul 11 12:31:10 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -28,10 +28,10 @@
 import java.security.spec.AlgorithmParameterSpec;
 
 /**
- * The <code>AlgorithmParameterGenerator</code> class is used to generate a
+ * The {@code AlgorithmParameterGenerator} class is used to generate a
  * set of
  * parameters to be used with a certain algorithm. Parameter generators
- * are constructed using the <code>getInstance</code> factory methods
+ * are constructed using the {@code getInstance} factory methods
  * (static methods that return instances of a given class).
  *
  * <P>The object that will generate the parameters can be initialized
@@ -61,17 +61,17 @@
  *
  * <P>In case the client does not explicitly initialize the
  * AlgorithmParameterGenerator
- * (via a call to an <code>init</code> method), each provider must supply (and
+ * (via a call to an {@code init} method), each provider must supply (and
  * document) a default initialization. For example, the Sun provider uses a
  * default modulus prime size of 1024 bits for the generation of DSA
  * parameters.
  *
  * <p> Every implementation of the Java platform is required to support the
- * following standard <code>AlgorithmParameterGenerator</code> algorithms and
+ * following standard {@code AlgorithmParameterGenerator} algorithms and
  * keysizes in parentheses:
  * <ul>
- * <li><tt>DiffieHellman</tt> (1024)</li>
- * <li><tt>DSA</tt> (1024)</li>
+ * <li>{@code DiffieHellman} (1024)</li>
+ * <li>{@code DSA} (1024)</li>
  * </ul>
  * These algorithms are described in the <a href=
  * "{@docRoot}/../technotes/guides/security/StandardNames.html#AlgorithmParameterGenerator">
@@ -272,11 +272,11 @@
 
     /**
      * Initializes this parameter generator for a certain size.
-     * To create the parameters, the <code>SecureRandom</code>
+     * To create the parameters, the {@code SecureRandom}
      * implementation of the highest-priority installed provider is used as
      * the source of randomness.
      * (If none of the installed providers supply an implementation of
-     * <code>SecureRandom</code>, a system-provided source of randomness is
+     * {@code SecureRandom}, a system-provided source of randomness is
      * used.)
      *
      * @param size the size (number of bits).
@@ -299,11 +299,11 @@
     /**
      * Initializes this parameter generator with a set of algorithm-specific
      * parameter generation values.
-     * To generate the parameters, the <code>SecureRandom</code>
+     * To generate the parameters, the {@code SecureRandom}
      * implementation of the highest-priority installed provider is used as
      * the source of randomness.
      * (If none of the installed providers supply an implementation of
-     * <code>SecureRandom</code>, a system-provided source of randomness is
+     * {@code SecureRandom}, a system-provided source of randomness is
      * used.)
      *
      * @param genParamSpec the set of algorithm-specific parameter generation values.
--- a/src/share/classes/java/security/AlgorithmParameterGeneratorSpi.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/security/AlgorithmParameterGeneratorSpi.java	Thu Jul 11 12:31:10 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 1999, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -29,7 +29,7 @@
 
 /**
  * This class defines the <i>Service Provider Interface</i> (<b>SPI</b>)
- * for the <code>AlgorithmParameterGenerator</code> class, which
+ * for the {@code AlgorithmParameterGenerator} class, which
  * is used to generate a set of parameters to be used with a certain algorithm.
  *
  * <p> All the abstract methods in this class must be implemented by each
@@ -37,7 +37,7 @@
  * of a parameter generator for a particular algorithm.
  *
  * <p> In case the client does not explicitly initialize the
- * AlgorithmParameterGenerator (via a call to an <code>engineInit</code>
+ * AlgorithmParameterGenerator (via a call to an {@code engineInit}
  * method), each provider must supply (and document) a default initialization.
  * For example, the Sun provider uses a default modulus prime size of 1024
  * bits for the generation of DSA parameters.
--- a/src/share/classes/java/security/AlgorithmParameters.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/security/AlgorithmParameters.java	Thu Jul 11 12:31:10 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -32,28 +32,28 @@
 /**
  * This class is used as an opaque representation of cryptographic parameters.
  *
- * <p>An <code>AlgorithmParameters</code> object for managing the parameters
+ * <p>An {@code AlgorithmParameters} object for managing the parameters
  * for a particular algorithm can be obtained by
- * calling one of the <code>getInstance</code> factory methods
+ * calling one of the {@code getInstance} factory methods
  * (static methods that return instances of a given class).
  *
- * <p>Once an <code>AlgorithmParameters</code> object is obtained, it must be
- * initialized via a call to <code>init</code>, using an appropriate parameter
+ * <p>Once an {@code AlgorithmParameters} object is obtained, it must be
+ * initialized via a call to {@code init}, using an appropriate parameter
  * specification or parameter encoding.
  *
  * <p>A transparent parameter specification is obtained from an
- * <code>AlgorithmParameters</code> object via a call to
- * <code>getParameterSpec</code>, and a byte encoding of the parameters is
- * obtained via a call to <code>getEncoded</code>.
+ * {@code AlgorithmParameters} object via a call to
+ * {@code getParameterSpec}, and a byte encoding of the parameters is
+ * obtained via a call to {@code getEncoded}.
  *
  * <p> Every implementation of the Java platform is required to support the
- * following standard <code>AlgorithmParameters</code> algorithms:
+ * following standard {@code AlgorithmParameters} algorithms:
  * <ul>
- * <li><tt>AES</tt></li>
- * <li><tt>DES</tt></li>
- * <li><tt>DESede</tt></li>
- * <li><tt>DiffieHellman</tt></li>
- * <li><tt>DSA</tt></li>
+ * <li>{@code AES}</li>
+ * <li>{@code DES}</li>
+ * <li>{@code DESede}</li>
+ * <li>{@code DiffieHellman}</li>
+ * <li>{@code DSA}</li>
  * </ul>
  * These algorithms are described in the <a href=
  * "{@docRoot}/../technotes/guides/security/StandardNames.html#AlgorithmParameters">
@@ -123,7 +123,7 @@
      * the {@link Security#getProviders() Security.getProviders()} method.
      *
      * <p> The returned parameter object must be initialized via a call to
-     * <code>init</code>, using an appropriate parameter specification or
+     * {@code init}, using an appropriate parameter specification or
      * parameter encoding.
      *
      * @param algorithm the name of the algorithm requested.
@@ -165,7 +165,7 @@
      * the {@link Security#getProviders() Security.getProviders()} method.
      *
      * <p>The returned parameter object must be initialized via a call to
-     * <code>init</code>, using an appropriate parameter specification or
+     * {@code init}, using an appropriate parameter specification or
      * parameter encoding.
      *
      * @param algorithm the name of the algorithm requested.
@@ -212,7 +212,7 @@
      * does not have to be registered in the provider list.
      *
      * <p>The returned parameter object must be initialized via a call to
-     * <code>init</code>, using an appropriate parameter specification or
+     * {@code init}, using an appropriate parameter specification or
      * parameter encoding.
      *
      * @param algorithm the name of the algorithm requested.
@@ -259,7 +259,7 @@
 
     /**
      * Initializes this parameter object using the parameters
-     * specified in <code>paramSpec</code>.
+     * specified in {@code paramSpec}.
      *
      * @param paramSpec the parameter specification.
      *
@@ -295,9 +295,9 @@
     }
 
     /**
-     * Imports the parameters from <code>params</code> and decodes them
+     * Imports the parameters from {@code params} and decodes them
      * according to the specified decoding scheme.
-     * If <code>format</code> is null, the
+     * If {@code format} is null, the
      * primary decoding format for parameters is used. The primary decoding
      * format is ASN.1, if an ASN.1 specification for these parameters
      * exists.
@@ -318,11 +318,11 @@
 
     /**
      * Returns a (transparent) specification of this parameter object.
-     * <code>paramSpec</code> identifies the specification class in which
+     * {@code paramSpec} identifies the specification class in which
      * the parameters should be returned. It could, for example, be
-     * <code>DSAParameterSpec.class</code>, to indicate that the
+     * {@code DSAParameterSpec.class}, to indicate that the
      * parameters should be returned in an instance of the
-     * <code>DSAParameterSpec</code> class.
+     * {@code DSAParameterSpec} class.
      *
      * @param paramSpec the specification class in which
      * the parameters should be returned.
@@ -363,7 +363,7 @@
 
     /**
      * Returns the parameters encoded in the specified scheme.
-     * If <code>format</code> is null, the
+     * If {@code format} is null, the
      * primary encoding format for parameters is used. The primary encoding
      * format is ASN.1, if an ASN.1 specification for these parameters
      * exists.
--- a/src/share/classes/java/security/AlgorithmParametersSpi.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/security/AlgorithmParametersSpi.java	Thu Jul 11 12:31:10 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -31,7 +31,7 @@
 
 /**
  * This class defines the <i>Service Provider Interface</i> (<b>SPI</b>)
- * for the <code>AlgorithmParameters</code> class, which is used to manage
+ * for the {@code AlgorithmParameters} class, which is used to manage
  * algorithm parameters.
  *
  * <p> All the abstract methods in this class must be implemented by each
@@ -52,7 +52,7 @@
 
     /**
      * Initializes this parameters object using the parameters
-     * specified in <code>paramSpec</code>.
+     * specified in {@code paramSpec}.
      *
      * @param paramSpec the parameter specification.
      *
@@ -77,9 +77,9 @@
         throws IOException;
 
     /**
-     * Imports the parameters from <code>params</code> and
+     * Imports the parameters from {@code params} and
      * decodes them according to the specified decoding format.
-     * If <code>format</code> is null, the
+     * If {@code format} is null, the
      * primary decoding format for parameters is used. The primary decoding
      * format is ASN.1, if an ASN.1 specification for these parameters
      * exists.
@@ -96,11 +96,11 @@
     /**
      * Returns a (transparent) specification of this parameters
      * object.
-     * <code>paramSpec</code> identifies the specification class in which
+     * {@code paramSpec} identifies the specification class in which
      * the parameters should be returned. It could, for example, be
-     * <code>DSAParameterSpec.class</code>, to indicate that the
+     * {@code DSAParameterSpec.class}, to indicate that the
      * parameters should be returned in an instance of the
-     * <code>DSAParameterSpec</code> class.
+     * {@code DSAParameterSpec} class.
      *
      * @param paramSpec the specification class in which
      * the parameters should be returned.
@@ -128,7 +128,7 @@
 
     /**
      * Returns the parameters encoded in the specified format.
-     * If <code>format</code> is null, the
+     * If {@code format} is null, the
      * primary encoding format for parameters is used. The primary encoding
      * format is ASN.1, if an ASN.1 specification for these parameters
      * exists.
--- a/src/share/classes/java/security/AllPermission.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/security/AllPermission.java	Thu Jul 11 12:31:10 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -69,7 +69,7 @@
 
     /**
      * Creates a new AllPermission object. This
-     * constructor exists for use by the <code>Policy</code> object
+     * constructor exists for use by the {@code Policy} object
      * to instantiate new Permission objects.
      *
      * @param name ignored
--- a/src/share/classes/java/security/AuthProvider.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/security/AuthProvider.java	Thu Jul 11 12:31:10 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -32,8 +32,8 @@
 /**
  * This class defines login and logout methods for a provider.
  *
- * <p> While callers may invoke <code>login</code> directly,
- * the provider may also invoke <code>login</code> on behalf of callers
+ * <p> While callers may invoke {@code login} directly,
+ * the provider may also invoke {@code login} on behalf of callers
  * if it determines that a login must be performed
  * prior to certain operations.
  *
@@ -56,11 +56,11 @@
     /**
      * Log in to this provider.
      *
-     * <p> The provider relies on a <code>CallbackHandler</code>
+     * <p> The provider relies on a {@code CallbackHandler}
      * to obtain authentication information from the caller
-     * (a PIN, for example).  If the caller passes a <code>null</code>
+     * (a PIN, for example).  If the caller passes a {@code null}
      * handler to this method, the provider uses the handler set in the
-     * <code>setCallbackHandler</code> method.
+     * {@code setCallbackHandler} method.
      * If no handler was set in that method, the provider queries the
      * <i>auth.login.defaultCallbackHandler</i> security property
      * for the fully qualified class name of a default handler implementation.
@@ -68,21 +68,21 @@
      * the provider is assumed to have alternative means
      * for obtaining authentication information.
      *
-     * @param subject the <code>Subject</code> which may contain
+     * @param subject the {@code Subject} which may contain
      *          principals/credentials used for authentication,
      *          or may be populated with additional principals/credentials
      *          after successful authentication has completed.
-     *          This parameter may be <code>null</code>.
-     * @param handler the <code>CallbackHandler</code> used by
+     *          This parameter may be {@code null}.
+     * @param handler the {@code CallbackHandler} used by
      *          this provider to obtain authentication information
-     *          from the caller, which may be <code>null</code>
+     *          from the caller, which may be {@code null}
      *
      * @exception LoginException if the login operation fails
      * @exception SecurityException if the caller does not pass a
      *  security check for
-     *  <code>SecurityPermission("authProvider.<i>name</i>")</code>,
-     *  where <i>name</i> is the value returned by
-     *  this provider's <code>getName</code> method
+     *  {@code SecurityPermission("authProvider.name")},
+     *  where {@code name} is the value returned by
+     *  this provider's {@code getName} method
      */
     public abstract void login(Subject subject, CallbackHandler handler)
         throws LoginException;
@@ -93,18 +93,18 @@
      * @exception LoginException if the logout operation fails
      * @exception SecurityException if the caller does not pass a
      *  security check for
-     *  <code>SecurityPermission("authProvider.<i>name</i>")</code>,
-     *  where <i>name</i> is the value returned by
-     *  this provider's <code>getName</code> method
+     *  {@code SecurityPermission("authProvider.name")},
+     *  where {@code name} is the value returned by
+     *  this provider's {@code getName} method
      */
     public abstract void logout() throws LoginException;
 
     /**
-     * Set a <code>CallbackHandler</code>.
+     * Set a {@code CallbackHandler}.
      *
      * <p> The provider uses this handler if one is not passed to the
-     * <code>login</code> method.  The provider also uses this handler
-     * if it invokes <code>login</code> on behalf of callers.
+     * {@code login} method.  The provider also uses this handler
+     * if it invokes {@code login} on behalf of callers.
      * In either case if a handler is not set via this method,
      * the provider queries the
      * <i>auth.login.defaultCallbackHandler</i> security property
@@ -113,14 +113,14 @@
      * the provider is assumed to have alternative means
      * for obtaining authentication information.
      *
-     * @param handler a <code>CallbackHandler</code> for obtaining
-     *          authentication information, which may be <code>null</code>
+     * @param handler a {@code CallbackHandler} for obtaining
+     *          authentication information, which may be {@code null}
      *
      * @exception SecurityException if the caller does not pass a
      *  security check for
-     *  <code>SecurityPermission("authProvider.<i>name</i>")</code>,
-     *  where <i>name</i> is the value returned by
-     *  this provider's <code>getName</code> method
+     *  {@code SecurityPermission("authProvider.name")},
+     *  where {@code name} is the value returned by
+     *  this provider's {@code getName} method
      */
     public abstract void setCallbackHandler(CallbackHandler handler);
 }
--- a/src/share/classes/java/security/BasicPermission.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/security/BasicPermission.java	Thu Jul 11 12:31:10 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -124,8 +124,8 @@
      *
      * @param name the name of the BasicPermission.
      *
-     * @throws NullPointerException if <code>name</code> is <code>null</code>.
-     * @throws IllegalArgumentException if <code>name</code> is empty.
+     * @throws NullPointerException if {@code name} is {@code null}.
+     * @throws IllegalArgumentException if {@code name} is empty.
      */
     public BasicPermission(String name) {
         super(name);
@@ -141,8 +141,8 @@
      * @param name the name of the BasicPermission.
      * @param actions ignored.
      *
-     * @throws NullPointerException if <code>name</code> is <code>null</code>.
-     * @throws IllegalArgumentException if <code>name</code> is empty.
+     * @throws NullPointerException if {@code name} is {@code null}.
+     * @throws IllegalArgumentException if {@code name} is empty.
      */
     public BasicPermission(String name, String actions) {
         super(name);
@@ -217,7 +217,7 @@
     /**
      * Returns the hash code value for this object.
      * The hash code used is the hash code of the name, that is,
-     * <code>getName().hashCode()</code>, where <code>getName</code> is
+     * {@code getName().hashCode()}, where {@code getName} is
      * from the Permission superclass.
      *
      * @return a hash code value for this object.
@@ -243,7 +243,7 @@
      *
      * <p>BasicPermission objects must be stored in a manner that allows them
      * to be inserted in any order, but that also enables the
-     * PermissionCollection <code>implies</code> method
+     * PermissionCollection {@code implies} method
      * to be implemented in an efficient (and consistent) manner.
      *
      * @return a new PermissionCollection object suitable for
@@ -312,7 +312,7 @@
     private transient Map<String, Permission> perms;
 
     /**
-     * This is set to <code>true</code> if this BasicPermissionCollection
+     * This is set to {@code true} if this BasicPermissionCollection
      * contains a BasicPermission with '*' as its permission name.
      *
      * @see #serialPersistentFields
@@ -477,7 +477,7 @@
      *    The Hashtable is indexed by the BasicPermission name; the value
      *    of the Hashtable entry is the permission.
      * @serialField all_allowed boolean
-     *   This is set to <code>true</code> if this BasicPermissionCollection
+     *   This is set to {@code true} if this BasicPermissionCollection
      *   contains a BasicPermission with '*' as its permission name.
      * @serialField permClass java.lang.Class
      *   The class to which all BasicPermissions in this
--- a/src/share/classes/java/security/Certificate.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/security/Certificate.java	Thu Jul 11 12:31:10 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -96,7 +96,7 @@
 
     /**
      * Encodes the certificate to an output stream in a format that can
-     * be decoded by the <code>decode</code> method.
+     * be decoded by the {@code decode} method.
      *
      * @param stream the output stream to which to encode the
      * certificate.
@@ -115,8 +115,8 @@
 
     /**
      * Decodes a certificate from an input stream. The format should be
-     * that returned by <code>getFormat</code> and produced by
-     * <code>encode</code>.
+     * that returned by {@code getFormat} and produced by
+     * {@code encode}.
      *
      * @param stream the input stream from which to fetch the data
      * being decoded.
@@ -137,8 +137,8 @@
     /**
      * Returns the name of the coding format. This is used as a hint to find
      * an appropriate parser. It could be "X.509", "PGP", etc. This is
-     * the format produced and understood by the <code>encode</code>
-     * and <code>decode</code> methods.
+     * the format produced and understood by the {@code encode}
+     * and {@code decode} methods.
      *
      * @return the name of the coding format.
      */
--- a/src/share/classes/java/security/CodeSigner.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/security/CodeSigner.java	Thu Jul 11 12:31:10 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -63,12 +63,12 @@
      * Constructs a CodeSigner object.
      *
      * @param signerCertPath The signer's certificate path.
-     *                       It must not be <code>null</code>.
+     *                       It must not be {@code null}.
      * @param timestamp A signature timestamp.
-     *                  If <code>null</code> then no timestamp was generated
+     *                  If {@code null} then no timestamp was generated
      *                  for the signature.
-     * @throws NullPointerException if <code>signerCertPath</code> is
-     *                              <code>null</code>.
+     * @throws NullPointerException if {@code signerCertPath} is
+     *                              {@code null}.
      */
     public CodeSigner(CertPath signerCertPath, Timestamp timestamp) {
         if (signerCertPath == null) {
@@ -90,7 +90,7 @@
     /**
      * Returns the signature timestamp.
      *
-     * @return The timestamp or <code>null</code> if none is present.
+     * @return The timestamp or {@code null} if none is present.
      */
     public Timestamp getTimestamp() {
         return timestamp;
--- a/src/share/classes/java/security/CodeSource.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/security/CodeSource.java	Thu Jul 11 12:31:10 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -485,13 +485,13 @@
     /**
      * Writes this object out to a stream (i.e., serializes it).
      *
-     * @serialData An initial <code>URL</code> is followed by an
-     * <code>int</code> indicating the number of certificates to follow
+     * @serialData An initial {@code URL} is followed by an
+     * {@code int} indicating the number of certificates to follow
      * (a value of "zero" denotes that there are no certificates associated
      * with this object).
-     * Each certificate is written out starting with a <code>String</code>
+     * Each certificate is written out starting with a {@code String}
      * denoting the certificate type, followed by an
-     * <code>int</code> specifying the length of the certificate encoding,
+     * {@code int} specifying the length of the certificate encoding,
      * followed by the certificate encoding itself which is written out as an
      * array of bytes. Finally, if any code signers are present then the array
      * of code signers is serialized and written out too.
--- a/src/share/classes/java/security/DigestException.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/security/DigestException.java	Thu Jul 11 12:31:10 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -55,13 +55,13 @@
     }
 
     /**
-     * Creates a <code>DigestException</code> with the specified
+     * Creates a {@code DigestException} with the specified
      * detail message and cause.
      *
      * @param message the detail message (which is saved for later retrieval
      *        by the {@link #getMessage()} method).
      * @param cause the cause (which is saved for later retrieval by the
-     *        {@link #getCause()} method).  (A <tt>null</tt> value is permitted,
+     *        {@link #getCause()} method).  (A {@code null} value is permitted,
      *        and indicates that the cause is nonexistent or unknown.)
      * @since 1.5
      */
@@ -70,13 +70,13 @@
     }
 
     /**
-     * Creates a <code>DigestException</code> with the specified cause
-     * and a detail message of <tt>(cause==null ? null : cause.toString())</tt>
+     * Creates a {@code DigestException} with the specified cause
+     * and a detail message of {@code (cause==null ? null : cause.toString())}
      * (which typically contains the class and detail message of
-     * <tt>cause</tt>).
+     * {@code cause}).
      *
      * @param cause the cause (which is saved for later retrieval by the
-     *        {@link #getCause()} method).  (A <tt>null</tt> value is permitted,
+     *        {@link #getCause()} method).  (A {@code null} value is permitted,
      *        and indicates that the cause is nonexistent or unknown.)
      * @since 1.5
      */
--- a/src/share/classes/java/security/DigestInputStream.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/security/DigestInputStream.java	Thu Jul 11 12:31:10 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 1999, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -37,13 +37,13 @@
  * the bits going through the stream.
  *
  * <p>To complete the message digest computation, call one of the
- * <code>digest</code> methods on the associated message
+ * {@code digest} methods on the associated message
  * digest after your calls to one of this digest input stream's
  * {@link #read() read} methods.
  *
  * <p>It is possible to turn this stream on or off (see
  * {@link #on(boolean) on}). When it is on, a call to one of the
- * <code>read</code> methods
+ * {@code read} methods
  * results in an update on the message digest.  But when it is off,
  * the message digest is not updated. The default is for the stream
  * to be on.
@@ -111,7 +111,7 @@
      * function is on).  That is, this method reads a byte from the
      * input stream, blocking until the byte is actually read. If the
      * digest function is on (see {@link #on(boolean) on}), this method
-     * will then call <code>update</code> on the message digest associated
+     * will then call {@code update} on the message digest associated
      * with this stream, passing it the byte read.
      *
      * @return the byte read.
@@ -131,25 +131,25 @@
     /**
      * Reads into a byte array, and updates the message digest (if the
      * digest function is on).  That is, this method reads up to
-     * <code>len</code> bytes from the input stream into the array
-     * <code>b</code>, starting at offset <code>off</code>. This method
+     * {@code len} bytes from the input stream into the array
+     * {@code b}, starting at offset {@code off}. This method
      * blocks until the data is actually
      * read. If the digest function is on (see
-     * {@link #on(boolean) on}), this method will then call <code>update</code>
+     * {@link #on(boolean) on}), this method will then call {@code update}
      * on the message digest associated with this stream, passing it
      * the data.
      *
      * @param b the array into which the data is read.
      *
-     * @param off the starting offset into <code>b</code> of where the
+     * @param off the starting offset into {@code b} of where the
      * data should be placed.
      *
      * @param len the maximum number of bytes to be read from the input
-     * stream into b, starting at offset <code>off</code>.
+     * stream into b, starting at offset {@code off}.
      *
      * @return  the actual number of bytes read. This is less than
-     * <code>len</code> if the end of the stream is reached prior to
-     * reading <code>len</code> bytes. -1 is returned if no bytes were
+     * {@code len} if the end of the stream is reached prior to
+     * reading {@code len} bytes. -1 is returned if no bytes were
      * read because the end of the stream had already been reached when
      * the call was made.
      *
@@ -167,7 +167,7 @@
 
     /**
      * Turns the digest function on or off. The default is on.  When
-     * it is on, a call to one of the <code>read</code> methods results in an
+     * it is on, a call to one of the {@code read} methods results in an
      * update on the message digest.  But when it is off, the message
      * digest is not updated.
      *
--- a/src/share/classes/java/security/DigestOutputStream.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/security/DigestOutputStream.java	Thu Jul 11 12:31:10 2013 -0700
@@ -37,13 +37,13 @@
  * the bits going through the stream.
  *
  * <p>To complete the message digest computation, call one of the
- * <code>digest</code> methods on the associated message
+ * {@code digest} methods on the associated message
  * digest after your calls to one of this digest ouput stream's
  * {@link #write(int) write} methods.
  *
  * <p>It is possible to turn this stream on or off (see
  * {@link #on(boolean) on}). When it is on, a call to one of the
- * <code>write</code> methods results in
+ * {@code write} methods results in
  * an update on the message digest.  But when it is off, the message
  * digest is not updated. The default is for the stream to be on.
  *
@@ -99,8 +99,8 @@
      * the specified byte, and in any case writes the byte
      * to the output stream. That is, if the digest function is on
      * (see {@link #on(boolean) on}), this method calls
-     * <code>update</code> on the message digest associated with this
-     * stream, passing it the byte <code>b</code>. This method then
+     * {@code update} on the message digest associated with this
+     * stream, passing it the byte {@code b}. This method then
      * writes the byte to the output stream, blocking until the byte
      * is actually written.
      *
@@ -122,7 +122,7 @@
      * Updates the message digest (if the digest function is on) using
      * the specified subarray, and in any case writes the subarray to
      * the output stream. That is, if the digest function is on (see
-     * {@link #on(boolean) on}), this method calls <code>update</code>
+     * {@link #on(boolean) on}), this method calls {@code update}
      * on the message digest associated with this stream, passing it
      * the subarray specifications. This method then writes the subarray
      * bytes to the output stream, blocking until the bytes are actually
@@ -131,11 +131,11 @@
      * @param b the array containing the subarray to be used for updating
      * and writing to the output stream.
      *
-     * @param off the offset into <code>b</code> of the first byte to
+     * @param off the offset into {@code b} of the first byte to
      * be updated and written.
      *
      * @param len the number of bytes of data to be updated and written
-     * from <code>b</code>, starting at offset <code>off</code>.
+     * from {@code b}, starting at offset {@code off}.
      *
      * @exception IOException if an I/O error occurs.
      *
@@ -150,7 +150,7 @@
 
     /**
      * Turns the digest function on or off. The default is on.  When
-     * it is on, a call to one of the <code>write</code> methods results in an
+     * it is on, a call to one of the {@code write} methods results in an
      * update on the message digest.  But when it is off, the message
      * digest is not updated.
      *
--- a/src/share/classes/java/security/DomainCombiner.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/security/DomainCombiner.java	Thu Jul 11 12:31:10 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,27 +26,27 @@
 package java.security;
 
 /**
- * A <code>DomainCombiner</code> provides a means to dynamically
+ * A {@code DomainCombiner} provides a means to dynamically
  * update the ProtectionDomains associated with the current
- * <code>AccessControlContext</code>.
+ * {@code AccessControlContext}.
  *
- * <p> A <code>DomainCombiner</code> is passed as a parameter to the
- * appropriate constructor for <code>AccessControlContext</code>.
+ * <p> A {@code DomainCombiner} is passed as a parameter to the
+ * appropriate constructor for {@code AccessControlContext}.
  * The newly constructed context is then passed to the
- * <code>AccessController.doPrivileged(..., context)</code> method
- * to bind the provided context (and associated <code>DomainCombiner</code>)
+ * {@code AccessController.doPrivileged(..., context)} method
+ * to bind the provided context (and associated {@code DomainCombiner})
  * with the current execution Thread.  Subsequent calls to
- * <code>AccessController.getContext</code> or
- * <code>AccessController.checkPermission</code>
- * cause the <code>DomainCombiner.combine</code> to get invoked.
+ * {@code AccessController.getContext} or
+ * {@code AccessController.checkPermission}
+ * cause the {@code DomainCombiner.combine} to get invoked.
  *
  * <p> The combine method takes two arguments.  The first argument represents
  * an array of ProtectionDomains from the current execution Thread,
- * since the most recent call to <code>AccessController.doPrivileged</code>.
+ * since the most recent call to {@code AccessController.doPrivileged}.
  * If no call to doPrivileged was made, then the first argument will contain
  * all the ProtectionDomains from the current execution Thread.
  * The second argument represents an array of inherited ProtectionDomains,
- * which may be <code>null</code>.  ProtectionDomains may be inherited
+ * which may be {@code null}.  ProtectionDomains may be inherited
  * from a parent Thread, or from a privileged context.  If no call to
  * doPrivileged was made, then the second argument will contain the
  * ProtectionDomains inherited from the parent Thread.  If one or more calls
@@ -54,25 +54,25 @@
  * doPrivileged(action, context), then the second argument will contain the
  * ProtectionDomains from the privileged context.  If the most recent call
  * was to doPrivileged(action), then there is no privileged context,
- * and the second argument will be <code>null</code>.
+ * and the second argument will be {@code null}.
  *
- * <p> The <code>combine</code> method investigates the two input arrays
+ * <p> The {@code combine} method investigates the two input arrays
  * of ProtectionDomains and returns a single array containing the updated
- * ProtectionDomains.  In the simplest case, the <code>combine</code>
+ * ProtectionDomains.  In the simplest case, the {@code combine}
  * method merges the two stacks into one.  In more complex cases,
- * the <code>combine</code> method returns a modified
+ * the {@code combine} method returns a modified
  * stack of ProtectionDomains.  The modification may have added new
  * ProtectionDomains, removed certain ProtectionDomains, or simply
  * updated existing ProtectionDomains.  Re-ordering and other optimizations
  * to the ProtectionDomains are also permitted.  Typically the
- * <code>combine</code> method bases its updates on the information
- * encapsulated in the <code>DomainCombiner</code>.
+ * {@code combine} method bases its updates on the information
+ * encapsulated in the {@code DomainCombiner}.
  *
- * <p> After the <code>AccessController.getContext</code> method
+ * <p> After the {@code AccessController.getContext} method
  * receives the combined stack of ProtectionDomains back from
- * the <code>DomainCombiner</code>, it returns a new
+ * the {@code DomainCombiner}, it returns a new
  * AccessControlContext that has both the combined ProtectionDomains
- * as well as the <code>DomainCombiner</code>.
+ * as well as the {@code DomainCombiner}.
  *
  * @see AccessController
  * @see AccessControlContext
@@ -91,21 +91,21 @@
      *
      * @param currentDomains the ProtectionDomains associated with the
      *          current execution Thread, up to the most recent
-     *          privileged <code>ProtectionDomain</code>.
+     *          privileged {@code ProtectionDomain}.
      *          The ProtectionDomains are are listed in order of execution,
-     *          with the most recently executing <code>ProtectionDomain</code>
+     *          with the most recently executing {@code ProtectionDomain}
      *          residing at the beginning of the array. This parameter may
-     *          be <code>null</code> if the current execution Thread
+     *          be {@code null} if the current execution Thread
      *          has no associated ProtectionDomains.<p>
      *
      * @param assignedDomains an array of inherited ProtectionDomains.
      *          ProtectionDomains may be inherited from a parent Thread,
-     *          or from a privileged <code>AccessControlContext</code>.
-     *          This parameter may be <code>null</code>
+     *          or from a privileged {@code AccessControlContext}.
+     *          This parameter may be {@code null}
      *          if there are no inherited ProtectionDomains.
      *
      * @return a new array consisting of the updated ProtectionDomains,
-     *          or <code>null</code>.
+     *          or {@code null}.
      */
     ProtectionDomain[] combine(ProtectionDomain[] currentDomains,
                                 ProtectionDomain[] assignedDomains);
--- a/src/share/classes/java/security/GeneralSecurityException.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/security/GeneralSecurityException.java	Thu Jul 11 12:31:10 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,7 +26,7 @@
 package java.security;
 
 /**
- * The <code>GeneralSecurityException</code> class is a generic
+ * The {@code GeneralSecurityException} class is a generic
  * security exception class that provides type safety for all the
  * security-related exception classes that extend from it.
  *
@@ -57,13 +57,13 @@
     }
 
     /**
-     * Creates a <code>GeneralSecurityException</code> with the specified
+     * Creates a {@code GeneralSecurityException} with the specified
      * detail message and cause.
      *
      * @param message the detail message (which is saved for later retrieval
      *        by the {@link #getMessage()} method).
      * @param cause the cause (which is saved for later retrieval by the
-     *        {@link #getCause()} method).  (A <tt>null</tt> value is permitted,
+     *        {@link #getCause()} method).  (A {@code null} value is permitted,
      *        and indicates that the cause is nonexistent or unknown.)
      * @since 1.5
      */
@@ -72,13 +72,13 @@
     }
 
     /**
-     * Creates a <code>GeneralSecurityException</code> with the specified cause
-     * and a detail message of <tt>(cause==null ? null : cause.toString())</tt>
+     * Creates a {@code GeneralSecurityException} with the specified cause
+     * and a detail message of {@code (cause==null ? null : cause.toString())}
      * (which typically contains the class and detail message of
-     * <tt>cause</tt>).
+     * {@code cause}).
      *
      * @param cause the cause (which is saved for later retrieval by the
-     *        {@link #getCause()} method).  (A <tt>null</tt> value is permitted,
+     *        {@link #getCause()} method).  (A {@code null} value is permitted,
      *        and indicates that the cause is nonexistent or unknown.)
      * @since 1.5
      */
--- a/src/share/classes/java/security/Guard.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/security/Guard.java	Thu Jul 11 12:31:10 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 1998, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -29,9 +29,9 @@
  * <p> This interface represents a guard, which is an object that is used
  * to protect access to another object.
  *
- * <p>This interface contains a single method, <code>checkGuard</code>,
- * with a single <code>object</code> argument. <code>checkGuard</code> is
- * invoked (by the GuardedObject <code>getObject</code> method)
+ * <p>This interface contains a single method, {@code checkGuard},
+ * with a single {@code object} argument. {@code checkGuard} is
+ * invoked (by the GuardedObject {@code getObject} method)
  * to determine whether or not to allow access to the object.
  *
  * @see GuardedObject
@@ -44,7 +44,7 @@
 
     /**
      * Determines whether or not to allow access to the guarded object
-     * <code>object</code>. Returns silently if access is allowed.
+     * {@code object}. Returns silently if access is allowed.
      * Otherwise, throws a SecurityException.
      *
      * @param object the object being protected by the guard.
--- a/src/share/classes/java/security/GuardedObject.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/security/GuardedObject.java	Thu Jul 11 12:31:10 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -33,9 +33,9 @@
  * such that access to the target object is possible
  * only if the Guard object allows it.
  * Once an object is encapsulated by a GuardedObject,
- * access to that object is controlled by the <code>getObject</code>
+ * access to that object is controlled by the {@code getObject}
  * method, which invokes the
- * <code>checkGuard</code> method on the Guard object that is
+ * {@code checkGuard} method on the Guard object that is
  * guarding access. If access is not allowed,
  * an exception is thrown.
  *
--- a/src/share/classes/java/security/Identity.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/security/Identity.java	Thu Jul 11 12:31:10 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -52,9 +52,9 @@
  *
  * @author Benjamin Renaud
  * @deprecated This class is no longer used. Its functionality has been
- * replaced by <code>java.security.KeyStore</code>, the
- * <code>java.security.cert</code> package, and
- * <code>java.security.Principal</code>.
+ * replaced by {@code java.security.KeyStore}, the
+ * {@code java.security.cert} package, and
+ * {@code java.security.Principal}.
  */
 @Deprecated
 public abstract class Identity implements Principal, Serializable {
@@ -164,8 +164,8 @@
      * Sets this identity's public key. The old key and all of this
      * identity's certificates are removed by this operation.
      *
-     * <p>First, if there is a security manager, its <code>checkSecurityAccess</code>
-     * method is called with <code>"setIdentityPublicKey"</code>
+     * <p>First, if there is a security manager, its {@code checkSecurityAccess}
+     * method is called with {@code "setIdentityPublicKey"}
      * as its argument to see if it's ok to set the public key.
      *
      * @param key the public key for this identity.
@@ -174,7 +174,7 @@
      * identity's scope has the same public key, or if another exception occurs.
      *
      * @exception  SecurityException  if a security manager exists and its
-     * <code>checkSecurityAccess</code> method doesn't allow
+     * {@code checkSecurityAccess} method doesn't allow
      * setting the public key.
      *
      * @see #getPublicKey
@@ -191,14 +191,14 @@
     /**
      * Specifies a general information string for this identity.
      *
-     * <p>First, if there is a security manager, its <code>checkSecurityAccess</code>
-     * method is called with <code>"setIdentityInfo"</code>
+     * <p>First, if there is a security manager, its {@code checkSecurityAccess}
+     * method is called with {@code "setIdentityInfo"}
      * as its argument to see if it's ok to specify the information string.
      *
      * @param info the information string.
      *
      * @exception  SecurityException  if a security manager exists and its
-     * <code>checkSecurityAccess</code> method doesn't allow
+     * {@code checkSecurityAccess} method doesn't allow
      * setting the information string.
      *
      * @see #getInfo
@@ -226,8 +226,8 @@
      * the identity does not have a public key, the identity's
      * public key is set to be that specified in the certificate.
      *
-     * <p>First, if there is a security manager, its <code>checkSecurityAccess</code>
-     * method is called with <code>"addIdentityCertificate"</code>
+     * <p>First, if there is a security manager, its {@code checkSecurityAccess}
+     * method is called with {@code "addIdentityCertificate"}
      * as its argument to see if it's ok to add a certificate.
      *
      * @param certificate the certificate to be added.
@@ -237,7 +237,7 @@
      * this identity's public key, or if another exception occurs.
      *
      * @exception  SecurityException  if a security manager exists and its
-     * <code>checkSecurityAccess</code> method doesn't allow
+     * {@code checkSecurityAccess} method doesn't allow
      * adding a certificate.
      *
      * @see SecurityManager#checkSecurityAccess
@@ -277,8 +277,8 @@
     /**
      * Removes a certificate from this identity.
      *
-     * <p>First, if there is a security manager, its <code>checkSecurityAccess</code>
-     * method is called with <code>"removeIdentityCertificate"</code>
+     * <p>First, if there is a security manager, its {@code checkSecurityAccess}
+     * method is called with {@code "removeIdentityCertificate"}
      * as its argument to see if it's ok to remove a certificate.
      *
      * @param certificate the certificate to be removed.
@@ -287,7 +287,7 @@
      * missing, or if another exception occurs.
      *
      * @exception  SecurityException  if a security manager exists and its
-     * <code>checkSecurityAccess</code> method doesn't allow
+     * {@code checkSecurityAccess} method doesn't allow
      * removing a certificate.
      *
      * @see SecurityManager#checkSecurityAccess
@@ -390,15 +390,15 @@
      * Returns a short string describing this identity, telling its
      * name and its scope (if any).
      *
-     * <p>First, if there is a security manager, its <code>checkSecurityAccess</code>
-     * method is called with <code>"printIdentity"</code>
+     * <p>First, if there is a security manager, its {@code checkSecurityAccess}
+     * method is called with {@code "printIdentity"}
      * as its argument to see if it's ok to return the string.
      *
      * @return information about this identity, such as its name and the
      * name of its scope (if any).
      *
      * @exception  SecurityException  if a security manager exists and its
-     * <code>checkSecurityAccess</code> method doesn't allow
+     * {@code checkSecurityAccess} method doesn't allow
      * returning a string describing this identity.
      *
      * @see SecurityManager#checkSecurityAccess
@@ -415,20 +415,20 @@
     /**
      * Returns a string representation of this identity, with
      * optionally more details than that provided by the
-     * <code>toString</code> method without any arguments.
+     * {@code toString} method without any arguments.
      *
-     * <p>First, if there is a security manager, its <code>checkSecurityAccess</code>
-     * method is called with <code>"printIdentity"</code>
+     * <p>First, if there is a security manager, its {@code checkSecurityAccess}
+     * method is called with {@code "printIdentity"}
      * as its argument to see if it's ok to return the string.
      *
      * @param detailed whether or not to provide detailed information.
      *
-     * @return information about this identity. If <code>detailed</code>
+     * @return information about this identity. If {@code detailed}
      * is true, then this method returns more information than that
-     * provided by the <code>toString</code> method without any arguments.
+     * provided by the {@code toString} method without any arguments.
      *
      * @exception  SecurityException  if a security manager exists and its
-     * <code>checkSecurityAccess</code> method doesn't allow
+     * {@code checkSecurityAccess} method doesn't allow
      * returning a string describing this identity.
      *
      * @see #toString
--- a/src/share/classes/java/security/IdentityScope.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/security/IdentityScope.java	Thu Jul 11 12:31:10 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -57,9 +57,9 @@
  * @author Benjamin Renaud
  *
  * @deprecated This class is no longer used. Its functionality has been
- * replaced by <code>java.security.KeyStore</code>, the
- * <code>java.security.cert</code> package, and
- * <code>java.security.Principal</code>.
+ * replaced by {@code java.security.KeyStore}, the
+ * {@code java.security.cert} package, and
+ * {@code java.security.Principal}.
  */
 @Deprecated
 public abstract
@@ -146,14 +146,14 @@
      * Sets the system's identity scope.
      *
      * <p>First, if there is a security manager, its
-     * <code>checkSecurityAccess</code>
-     * method is called with <code>"setSystemScope"</code>
+     * {@code checkSecurityAccess}
+     * method is called with {@code "setSystemScope"}
      * as its argument to see if it's ok to set the identity scope.
      *
      * @param scope the scope to set.
      *
      * @exception  SecurityException  if a security manager exists and its
-     * <code>checkSecurityAccess</code> method doesn't allow
+     * {@code checkSecurityAccess} method doesn't allow
      * setting the identity scope.
      *
      * @see #getSystemScope
@@ -176,8 +176,8 @@
      *
      * @param name the name of the identity to be retrieved.
      *
-     * @return the identity named <code>name</code>, or null if there are
-     * no identities named <code>name</code> in this scope.
+     * @return the identity named {@code name}, or null if there are
+     * no identities named {@code name} in this scope.
      */
     public abstract Identity getIdentity(String name);
 
--- a/src/share/classes/java/security/InvalidAlgorithmParameterException.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/security/InvalidAlgorithmParameterException.java	Thu Jul 11 12:31:10 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -65,13 +65,13 @@
     }
 
     /**
-     * Creates a <code>InvalidAlgorithmParameterException</code> with the
+     * Creates a {@code InvalidAlgorithmParameterException} with the
      * specified detail message and cause.
      *
      * @param message the detail message (which is saved for later retrieval
      *        by the {@link #getMessage()} method).
      * @param cause the cause (which is saved for later retrieval by the
-     *        {@link #getCause()} method).  (A <tt>null</tt> value is permitted,
+     *        {@link #getCause()} method).  (A {@code null} value is permitted,
      *        and indicates that the cause is nonexistent or unknown.)
      * @since 1.5
      */
@@ -80,14 +80,14 @@
     }
 
     /**
-     * Creates a <code>InvalidAlgorithmParameterException</code> with the
+     * Creates a {@code InvalidAlgorithmParameterException} with the
      * specified cause and a detail message of
-     * <tt>(cause==null ? null : cause.toString())</tt>
+     * {@code (cause==null ? null : cause.toString())}
      * (which typically contains the class and detail message of
-     * <tt>cause</tt>).
+     * {@code cause}).
      *
      * @param cause the cause (which is saved for later retrieval by the
-     *        {@link #getCause()} method).  (A <tt>null</tt> value is permitted,
+     *        {@link #getCause()} method).  (A {@code null} value is permitted,
      *        and indicates that the cause is nonexistent or unknown.)
      * @since 1.5
      */
--- a/src/share/classes/java/security/InvalidKeyException.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/security/InvalidKeyException.java	Thu Jul 11 12:31:10 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -58,13 +58,13 @@
     }
 
     /**
-     * Creates a <code>InvalidKeyException</code> with the specified
+     * Creates a {@code InvalidKeyException} with the specified
      * detail message and cause.
      *
      * @param message the detail message (which is saved for later retrieval
      *        by the {@link #getMessage()} method).
      * @param cause the cause (which is saved for later retrieval by the
-     *        {@link #getCause()} method).  (A <tt>null</tt> value is permitted,
+     *        {@link #getCause()} method).  (A {@code null} value is permitted,
      *        and indicates that the cause is nonexistent or unknown.)
      * @since 1.5
      */
@@ -73,13 +73,13 @@
     }
 
     /**
-     * Creates a <code>InvalidKeyException</code> with the specified cause
-     * and a detail message of <tt>(cause==null ? null : cause.toString())</tt>
+     * Creates a {@code InvalidKeyException} with the specified cause
+     * and a detail message of {@code (cause==null ? null : cause.toString())}
      * (which typically contains the class and detail message of
-     * <tt>cause</tt>).
+     * {@code cause}).
      *
      * @param cause the cause (which is saved for later retrieval by the
-     *        {@link #getCause()} method).  (A <tt>null</tt> value is permitted,
+     *        {@link #getCause()} method).  (A {@code null} value is permitted,
      *        and indicates that the cause is nonexistent or unknown.)
      * @since 1.5
      */
--- a/src/share/classes/java/security/Key.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/security/Key.java	Thu Jul 11 12:31:10 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -47,9 +47,9 @@
  * representation of the key is needed outside the Java Virtual Machine,
  * as when transmitting the key to some other party. The key
  * is encoded according to a standard format (such as
- * X.509 <code>SubjectPublicKeyInfo</code> or PKCS#8), and
+ * X.509 {@code SubjectPublicKeyInfo} or PKCS#8), and
  * is returned using the {@link #getEncoded() getEncoded} method.
- * Note: The syntax of the ASN.1 type <code>SubjectPublicKeyInfo</code>
+ * Note: The syntax of the ASN.1 type {@code SubjectPublicKeyInfo}
  * is defined as follows:
  *
  * <pre>
@@ -132,11 +132,11 @@
      * For example, the name of the ASN.1 data format for public
      * keys is <I>SubjectPublicKeyInfo</I>, as
      * defined by the X.509 standard; in this case, the returned format is
-     * <code>"X.509"</code>. Similarly,
+     * {@code "X.509"}. Similarly,
      * the name of the ASN.1 data format for private keys is
      * <I>PrivateKeyInfo</I>,
      * as defined by the PKCS #8 standard; in this case, the returned format is
-     * <code>"PKCS#8"</code>.
+     * {@code "PKCS#8"}.
      *
      * @return the primary encoding format of the key.
      */
--- a/src/share/classes/java/security/KeyException.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/security/KeyException.java	Thu Jul 11 12:31:10 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -59,13 +59,13 @@
     }
 
     /**
-     * Creates a <code>KeyException</code> with the specified
+     * Creates a {@code KeyException} with the specified
      * detail message and cause.
      *
      * @param message the detail message (which is saved for later retrieval
      *        by the {@link #getMessage()} method).
      * @param cause the cause (which is saved for later retrieval by the
-     *        {@link #getCause()} method).  (A <tt>null</tt> value is permitted,
+     *        {@link #getCause()} method).  (A {@code null} value is permitted,
      *        and indicates that the cause is nonexistent or unknown.)
      * @since 1.5
      */
@@ -74,13 +74,13 @@
     }
 
     /**
-     * Creates a <code>KeyException</code> with the specified cause
-     * and a detail message of <tt>(cause==null ? null : cause.toString())</tt>
+     * Creates a {@code KeyException} with the specified cause
+     * and a detail message of {@code (cause==null ? null : cause.toString())}
      * (which typically contains the class and detail message of
-     * <tt>cause</tt>).
+     * {@code cause}).
      *
      * @param cause the cause (which is saved for later retrieval by the
-     *        {@link #getCause()} method).  (A <tt>null</tt> value is permitted,
+     *        {@link #getCause()} method).  (A {@code null} value is permitted,
      *        and indicates that the cause is nonexistent or unknown.)
      * @since 1.5
      */
--- a/src/share/classes/java/security/KeyFactory.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/security/KeyFactory.java	Thu Jul 11 12:31:10 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -37,7 +37,7 @@
 
 /**
  * Key factories are used to convert <I>keys</I> (opaque
- * cryptographic keys of type <code>Key</code>) into <I>key specifications</I>
+ * cryptographic keys of type {@code Key}) into <I>key specifications</I>
  * (transparent representations of the underlying key material), and vice
  * versa.
  *
@@ -47,8 +47,8 @@
  *
  * <P> Multiple compatible key specifications may exist for the same key.
  * For example, a DSA public key may be specified using
- * <code>DSAPublicKeySpec</code> or
- * <code>X509EncodedKeySpec</code>. A key factory can be used to translate
+ * {@code DSAPublicKeySpec} or
+ * {@code X509EncodedKeySpec}. A key factory can be used to translate
  * between compatible key specifications.
  *
  * <P> The following is an example of how to use a key factory in order to
@@ -68,11 +68,11 @@
  * </pre>
  *
  * <p> Every implementation of the Java platform is required to support the
- * following standard <code>KeyFactory</code> algorithms:
+ * following standard {@code KeyFactory} algorithms:
  * <ul>
- * <li><tt>DiffieHellman</tt></li>
- * <li><tt>DSA</tt></li>
- * <li><tt>RSA</tt></li>
+ * <li>{@code DiffieHellman}</li>
+ * <li>{@code DSA}</li>
+ * <li>{@code RSA}</li>
  * </ul>
  * These algorithms are described in the <a href=
  * "{@docRoot}/../technotes/guides/security/StandardNames.html#KeyFactory">
@@ -120,7 +120,7 @@
      * @param keyFacSpi the delegate
      * @param provider the provider
      * @param algorithm the name of the algorithm
-     * to associate with this <tt>KeyFactory</tt>
+     * to associate with this {@code KeyFactory}
      */
     protected KeyFactory(KeyFactorySpi keyFacSpi, Provider provider,
                          String algorithm) {
@@ -266,10 +266,10 @@
 
     /**
      * Gets the name of the algorithm
-     * associated with this <tt>KeyFactory</tt>.
+     * associated with this {@code KeyFactory}.
      *
      * @return the name of the algorithm associated with this
-     * <tt>KeyFactory</tt>
+     * {@code KeyFactory}
      */
     public final String getAlgorithm() {
         return this.algorithm;
@@ -389,11 +389,11 @@
 
     /**
      * Returns a specification (key material) of the given key object.
-     * <code>keySpec</code> identifies the specification class in which
+     * {@code keySpec} identifies the specification class in which
      * the key material should be returned. It could, for example, be
-     * <code>DSAPublicKeySpec.class</code>, to indicate that the
+     * {@code DSAPublicKeySpec.class}, to indicate that the
      * key material should be returned in an instance of the
-     * <code>DSAPublicKeySpec</code> class.
+     * {@code DSAPublicKeySpec} class.
      *
      * @param key the key.
      *
--- a/src/share/classes/java/security/KeyFactorySpi.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/security/KeyFactorySpi.java	Thu Jul 11 12:31:10 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -30,13 +30,13 @@
 
 /**
  * This class defines the <i>Service Provider Interface</i> (<b>SPI</b>)
- * for the <code>KeyFactory</code> class.
+ * for the {@code KeyFactory} class.
  * All the abstract methods in this class must be implemented by each
  * cryptographic service provider who wishes to supply the implementation
  * of a key factory for a particular algorithm.
  *
  * <P> Key factories are used to convert <I>keys</I> (opaque
- * cryptographic keys of type <code>Key</code>) into <I>key specifications</I>
+ * cryptographic keys of type {@code Key}) into <I>key specifications</I>
  * (transparent representations of the underlying key material), and vice
  * versa.
  *
@@ -46,8 +46,8 @@
  *
  * <P> Multiple compatible key specifications may exist for the same key.
  * For example, a DSA public key may be specified using
- * <code>DSAPublicKeySpec</code> or
- * <code>X509EncodedKeySpec</code>. A key factory can be used to translate
+ * {@code DSAPublicKeySpec} or
+ * {@code X509EncodedKeySpec}. A key factory can be used to translate
  * between compatible key specifications.
  *
  * <P> A provider should document all the key specifications supported by its
@@ -100,11 +100,11 @@
     /**
      * Returns a specification (key material) of the given key
      * object.
-     * <code>keySpec</code> identifies the specification class in which
+     * {@code keySpec} identifies the specification class in which
      * the key material should be returned. It could, for example, be
-     * <code>DSAPublicKeySpec.class</code>, to indicate that the
+     * {@code DSAPublicKeySpec.class}, to indicate that the
      * key material should be returned in an instance of the
-     * <code>DSAPublicKeySpec</code> class.
+     * {@code DSAPublicKeySpec} class.
      *
      * @param key the key.
      *
--- a/src/share/classes/java/security/KeyManagementException.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/security/KeyManagementException.java	Thu Jul 11 12:31:10 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -68,13 +68,13 @@
     }
 
     /**
-     * Creates a <code>KeyManagementException</code> with the specified
+     * Creates a {@code KeyManagementException} with the specified
      * detail message and cause.
      *
      * @param message the detail message (which is saved for later retrieval
      *        by the {@link #getMessage()} method).
      * @param cause the cause (which is saved for later retrieval by the
-     *        {@link #getCause()} method).  (A <tt>null</tt> value is permitted,
+     *        {@link #getCause()} method).  (A {@code null} value is permitted,
      *        and indicates that the cause is nonexistent or unknown.)
      * @since 1.5
      */
@@ -83,13 +83,13 @@
     }
 
     /**
-     * Creates a <code>KeyManagementException</code> with the specified cause
-     * and a detail message of <tt>(cause==null ? null : cause.toString())</tt>
+     * Creates a {@code KeyManagementException} with the specified cause
+     * and a detail message of {@code (cause==null ? null : cause.toString())}
      * (which typically contains the class and detail message of
-     * <tt>cause</tt>).
+     * {@code cause}).
      *
      * @param cause the cause (which is saved for later retrieval by the
-     *        {@link #getCause()} method).  (A <tt>null</tt> value is permitted,
+     *        {@link #getCause()} method).  (A {@code null} value is permitted,
      *        and indicates that the cause is nonexistent or unknown.)
      * @since 1.5
      */
--- a/src/share/classes/java/security/KeyPair.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/security/KeyPair.java	Thu Jul 11 12:31:10 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -50,7 +50,7 @@
      *
      * <p>Note that this constructor only stores references to the public
      * and private key components in the generated key pair. This is safe,
-     * because <code>Key</code> objects are immutable.
+     * because {@code Key} objects are immutable.
      *
      * @param publicKey the public key.
      *
--- a/src/share/classes/java/security/KeyPairGenerator.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/security/KeyPairGenerator.java	Thu Jul 11 12:31:10 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -37,7 +37,7 @@
 /**
  * The KeyPairGenerator class is used to generate pairs of
  * public and private keys. Key pair generators are constructed using the
- * <code>getInstance</code> factory methods (static methods that
+ * {@code getInstance} factory methods (static methods that
  * return instances of a given class).
  *
  * <p>A Key pair generator for a particular algorithm creates a public/private
@@ -58,21 +58,21 @@
  * {@link #initialize(int, java.security.SecureRandom) initialize}
  * method in this KeyPairGenerator class that takes these two universally
  * shared types of arguments. There is also one that takes just a
- * <code>keysize</code> argument, and uses the <code>SecureRandom</code>
+ * {@code keysize} argument, and uses the {@code SecureRandom}
  * implementation of the highest-priority installed provider as the source
  * of randomness. (If none of the installed providers supply an implementation
- * of <code>SecureRandom</code>, a system-provided source of randomness is
+ * of {@code SecureRandom}, a system-provided source of randomness is
  * used.)
  *
  * <p>Since no other parameters are specified when you call the above
- * algorithm-independent <code>initialize</code> methods, it is up to the
+ * algorithm-independent {@code initialize} methods, it is up to the
  * provider what to do about the algorithm-specific parameters (if any) to be
  * associated with each of the keys.
  *
  * <p>If the algorithm is the <i>DSA</i> algorithm, and the keysize (modulus
  * size) is 512, 768, or 1024, then the <i>Sun</i> provider uses a set of
- * precomputed values for the <code>p</code>, <code>q</code>, and
- * <code>g</code> parameters. If the modulus size is not one of the above
+ * precomputed values for the {@code p}, {@code q}, and
+ * {@code g} parameters. If the modulus size is not one of the above
  * values, the <i>Sun</i> provider creates a new set of parameters. Other
  * providers might have precomputed parameter sets for more than just the
  * three modulus sizes mentioned above. Still others might not have a list of
@@ -83,35 +83,35 @@
  * <p>For situations where a set of algorithm-specific parameters already
  * exists (e.g., so-called <i>community parameters</i> in DSA), there are two
  * {@link #initialize(java.security.spec.AlgorithmParameterSpec)
- * initialize} methods that have an <code>AlgorithmParameterSpec</code>
- * argument. One also has a <code>SecureRandom</code> argument, while the
- * the other uses the <code>SecureRandom</code>
+ * initialize} methods that have an {@code AlgorithmParameterSpec}
+ * argument. One also has a {@code SecureRandom} argument, while the
+ * the other uses the {@code SecureRandom}
  * implementation of the highest-priority installed provider as the source
  * of randomness. (If none of the installed providers supply an implementation
- * of <code>SecureRandom</code>, a system-provided source of randomness is
+ * of {@code SecureRandom}, a system-provided source of randomness is
  * used.)
  * </ul>
  *
  * <p>In case the client does not explicitly initialize the KeyPairGenerator
- * (via a call to an <code>initialize</code> method), each provider must
+ * (via a call to an {@code initialize} method), each provider must
  * supply (and document) a default initialization.
  * For example, the <i>Sun</i> provider uses a default modulus size (keysize)
  * of 1024 bits.
  *
  * <p>Note that this class is abstract and extends from
- * <code>KeyPairGeneratorSpi</code> for historical reasons.
+ * {@code KeyPairGeneratorSpi} for historical reasons.
  * Application developers should only take notice of the methods defined in
- * this <code>KeyPairGenerator</code> class; all the methods in
+ * this {@code KeyPairGenerator} class; all the methods in
  * the superclass are intended for cryptographic service providers who wish to
  * supply their own implementations of key pair generators.
  *
  * <p> Every implementation of the Java platform is required to support the
- * following standard <code>KeyPairGenerator</code> algorithms and keysizes in
+ * following standard {@code KeyPairGenerator} algorithms and keysizes in
  * parentheses:
  * <ul>
- * <li><tt>DiffieHellman</tt> (1024)</li>
- * <li><tt>DSA</tt> (1024)</li>
- * <li><tt>RSA</tt> (1024, 2048)</li>
+ * <li>{@code DiffieHellman} (1024)</li>
+ * <li>{@code DSA} (1024)</li>
+ * <li>{@code RSA} (1024, 2048)</li>
  * </ul>
  * These algorithms are described in the <a href=
  * "{@docRoot}/../technotes/guides/security/StandardNames.html#KeyPairGenerator">
@@ -322,18 +322,18 @@
 
     /**
      * Initializes the key pair generator for a certain keysize using
-     * a default parameter set and the <code>SecureRandom</code>
+     * a default parameter set and the {@code SecureRandom}
      * implementation of the highest-priority installed provider as the source
      * of randomness.
      * (If none of the installed providers supply an implementation of
-     * <code>SecureRandom</code>, a system-provided source of randomness is
+     * {@code SecureRandom}, a system-provided source of randomness is
      * used.)
      *
      * @param keysize the keysize. This is an
      * algorithm-specific metric, such as modulus length, specified in
      * number of bits.
      *
-     * @exception InvalidParameterException if the <code>keysize</code> is not
+     * @exception InvalidParameterException if the {@code keysize} is not
      * supported by this KeyPairGenerator object.
      */
     public void initialize(int keysize) {
@@ -349,7 +349,7 @@
      * number of bits.
      * @param random the source of randomness.
      *
-     * @exception InvalidParameterException if the <code>keysize</code> is not
+     * @exception InvalidParameterException if the {@code keysize} is not
      * supported by this KeyPairGenerator object.
      *
      * @since 1.2
@@ -369,11 +369,11 @@
 
     /**
      * Initializes the key pair generator using the specified parameter
-     * set and the <code>SecureRandom</code>
+     * set and the {@code SecureRandom}
      * implementation of the highest-priority installed provider as the source
      * of randomness.
      * (If none of the installed providers supply an implementation of
-     * <code>SecureRandom</code>, a system-provided source of randomness is
+     * {@code SecureRandom}, a system-provided source of randomness is
      * used.).
      *
      * <p>This concrete method has been added to this previously-defined
@@ -382,10 +382,10 @@
      * {@link KeyPairGeneratorSpi#initialize(
      * java.security.spec.AlgorithmParameterSpec,
      * java.security.SecureRandom) initialize} method,
-     * passing it <code>params</code> and a source of randomness (obtained
+     * passing it {@code params} and a source of randomness (obtained
      * from the highest-priority installed provider or system-provided if none
      * of the installed providers supply one).
-     * That <code>initialize</code> method always throws an
+     * That {@code initialize} method always throws an
      * UnsupportedOperationException if it is not overridden by the provider.
      *
      * @param params the parameter set used to generate the keys.
@@ -410,8 +410,8 @@
      * KeyPairGeneratorSpi#initialize(
      * java.security.spec.AlgorithmParameterSpec,
      * java.security.SecureRandom) initialize} method,
-     * passing it <code>params</code> and <code>random</code>.
-     * That <code>initialize</code>
+     * passing it {@code params} and {@code random}.
+     * That {@code initialize}
      * method always throws an
      * UnsupportedOperationException if it is not overridden by the provider.
      *
--- a/src/share/classes/java/security/KeyPairGeneratorSpi.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/security/KeyPairGeneratorSpi.java	Thu Jul 11 12:31:10 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 1999, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -29,7 +29,7 @@
 
 /**
  * <p> This class defines the <i>Service Provider Interface</i> (<b>SPI</b>)
- * for the <code>KeyPairGenerator</code> class, which is used to generate
+ * for the {@code KeyPairGenerator} class, which is used to generate
  * pairs of public and private keys.
  *
  * <p> All the abstract methods in this class must be implemented by each
@@ -37,7 +37,7 @@
  * of a key pair generator for a particular algorithm.
  *
  * <p> In case the client does not explicitly initialize the KeyPairGenerator
- * (via a call to an <code>initialize</code> method), each provider must
+ * (via a call to an {@code initialize} method), each provider must
  * supply (and document) a default initialization.
  * For example, the <i>Sun</i> provider uses a default modulus size (keysize)
  * of 1024 bits.
@@ -61,7 +61,7 @@
      *
      * @param random the source of randomness for this generator.
      *
-     * @exception InvalidParameterException if the <code>keysize</code> is not
+     * @exception InvalidParameterException if the {@code keysize} is not
      * supported by this KeyPairGeneratorSpi object.
      */
     public abstract void initialize(int keysize, SecureRandom random);
@@ -100,7 +100,7 @@
      * will be used. This will generate a new key pair every time it
      * is called.
      *
-     * @return the newly generated <tt>KeyPair</tt>
+     * @return the newly generated {@code KeyPair}
      */
     public abstract KeyPair generateKeyPair();
 }
--- a/src/share/classes/java/security/KeyRep.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/security/KeyRep.java	Thu Jul 11 12:31:10 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -116,17 +116,17 @@
      *
      * @param type either one of Type.SECRET, Type.PUBLIC, or Type.PRIVATE
      * @param algorithm the algorithm returned from
-     *          <code>Key.getAlgorithm()</code>
+     *          {@code Key.getAlgorithm()}
      * @param format the encoding format returned from
-     *          <code>Key.getFormat()</code>
+     *          {@code Key.getFormat()}
      * @param encoded the encoded bytes returned from
-     *          <code>Key.getEncoded()</code>
+     *          {@code Key.getEncoded()}
      *
      * @exception NullPointerException
-     *          if type is <code>null</code>,
-     *          if algorithm is <code>null</code>,
-     *          if format is <code>null</code>,
-     *          or if encoded is <code>null</code>
+     *          if type is {@code null},
+     *          if algorithm is {@code null},
+     *          if format is {@code null},
+     *          or if encoded is {@code null}
      */
     public KeyRep(Type type, String algorithm,
                 String format, byte[] encoded) {
--- a/src/share/classes/java/security/KeyStore.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/security/KeyStore.java	Thu Jul 11 12:31:10 2013 -0700
@@ -41,13 +41,13 @@
  * This class represents a storage facility for cryptographic
  * keys and certificates.
  *
- * <p> A <code>KeyStore</code> manages different types of entries.
- * Each type of entry implements the <code>KeyStore.Entry</code> interface.
- * Three basic <code>KeyStore.Entry</code> implementations are provided:
+ * <p> A {@code KeyStore} manages different types of entries.
+ * Each type of entry implements the {@code KeyStore.Entry} interface.
+ * Three basic {@code KeyStore.Entry} implementations are provided:
  *
  * <ul>
  * <li><b>KeyStore.PrivateKeyEntry</b>
- * <p> This type of entry holds a cryptographic <code>PrivateKey</code>,
+ * <p> This type of entry holds a cryptographic {@code PrivateKey},
  * which is optionally stored in a protected format to prevent
  * unauthorized access.  It is also accompanied by a certificate chain
  * for the corresponding public key.
@@ -58,12 +58,12 @@
  * and/or licensing software.
  *
  * <li><b>KeyStore.SecretKeyEntry</b>
- * <p> This type of entry holds a cryptographic <code>SecretKey</code>,
+ * <p> This type of entry holds a cryptographic {@code SecretKey},
  * which is optionally stored in a protected format to prevent
  * unauthorized access.
  *
  * <li><b>KeyStore.TrustedCertificateEntry</b>
- * <p> This type of entry contains a single public key <code>Certificate</code>
+ * <p> This type of entry contains a single public key {@code Certificate}
  * belonging to another party. It is called a <i>trusted certificate</i>
  * because the keystore owner trusts that the public key in the certificate
  * indeed belongs to the identity identified by the <i>subject</i> (owner)
@@ -121,8 +121,8 @@
  *    }
  * </pre>
  *
- * To create an empty keystore using the above <code>load</code> method,
- * pass <code>null</code> as the <code>InputStream</code> argument.
+ * To create an empty keystore using the above {@code load} method,
+ * pass {@code null} as the {@code InputStream} argument.
  *
  * <p> Once the keystore has been loaded, it is possible
  * to read existing entries from the keystore, or to write new entries
@@ -156,9 +156,9 @@
  * may also be used.
  *
  * <p> Every implementation of the Java platform is required to support
- * the following standard <code>KeyStore</code> type:
+ * the following standard {@code KeyStore} type:
  * <ul>
- * <li><tt>PKCS12</tt></li>
+ * <li>{@code PKCS12}</li>
  * </ul>
  * This type is described in the <a href=
  * "{@docRoot}/../technotes/guides/security/StandardNames.html#KeyStore">
@@ -201,7 +201,7 @@
     private boolean initialized = false;
 
     /**
-     * A marker interface for <code>KeyStore</code>
+     * A marker interface for {@code KeyStore}
      * {@link #load(KeyStore.LoadStoreParameter) load}
      * and
      * {@link #store(KeyStore.LoadStoreParameter) store}
@@ -227,15 +227,13 @@
      * {@link #store(KeyStore.LoadStoreParameter) store} operations.
      * <p>
      * The following syntax is supported for configuration data:
-     * <pre>
-     *
+     * <pre>{@code
      *     domain <domainName> [<property> ...] {
      *         keystore <keystoreName> [<property> ...] ;
      *         ...
      *     };
      *     ...
-     *
-     * </pre>
+     * }</pre>
      * where {@code domainName} and {@code keystoreName} are identifiers
      * and {@code property} is a key/value pairing. The key and value are
      * separated by an 'equals' symbol and the value is enclosed in double
@@ -365,19 +363,19 @@
     /**
      * A marker interface for keystore protection parameters.
      *
-     * <p> The information stored in a <code>ProtectionParameter</code>
+     * <p> The information stored in a {@code ProtectionParameter}
      * object protects the contents of a keystore.
      * For example, protection parameters may be used to check
      * the integrity of keystore data, or to protect the
      * confidentiality of sensitive keystore data
-     * (such as a <code>PrivateKey</code>).
+     * (such as a {@code PrivateKey}).
      *
      * @since 1.5
      */
     public static interface ProtectionParameter { }
 
     /**
-     * A password-based implementation of <code>ProtectionParameter</code>.
+     * A password-based implementation of {@code ProtectionParameter}.
      *
      * @since 1.5
      */
@@ -392,10 +390,10 @@
         /**
          * Creates a password parameter.
          *
-         * <p> The specified <code>password</code> is cloned before it is stored
-         * in the new <code>PasswordProtection</code> object.
+         * <p> The specified {@code password} is cloned before it is stored
+         * in the new {@code PasswordProtection} object.
          *
-         * @param password the password, which may be <code>null</code>
+         * @param password the password, which may be {@code null}
          */
         public PasswordProtection(char[] password) {
             this.password = (password == null) ? null : password.clone();
@@ -476,7 +474,7 @@
          * after it is no longer needed.
          *
          * @see #destroy()
-         * @return the password, which may be <code>null</code>
+         * @return the password, which may be {@code null}
          * @exception IllegalStateException if the password has
          *              been cleared (destroyed)
          */
@@ -546,7 +544,7 @@
     }
 
     /**
-     * A marker interface for <code>KeyStore</code> entry types.
+     * A marker interface for {@code KeyStore} entry types.
      *
      * @since 1.5
      */
@@ -590,7 +588,7 @@
     }
 
     /**
-     * A <code>KeyStore</code> entry that holds a <code>PrivateKey</code>
+     * A {@code KeyStore} entry that holds a {@code PrivateKey}
      * and corresponding certificate chain.
      *
      * @since 1.5
@@ -602,28 +600,28 @@
         private final Set<Attribute> attributes;
 
         /**
-         * Constructs a <code>PrivateKeyEntry</code> with a
-         * <code>PrivateKey</code> and corresponding certificate chain.
+         * Constructs a {@code PrivateKeyEntry} with a
+         * {@code PrivateKey} and corresponding certificate chain.
          *
-         * <p> The specified <code>chain</code> is cloned before it is stored
-         * in the new <code>PrivateKeyEntry</code> object.
+         * <p> The specified {@code chain} is cloned before it is stored
+         * in the new {@code PrivateKeyEntry} object.
          *
-         * @param privateKey the <code>PrivateKey</code>
-         * @param chain an array of <code>Certificate</code>s
+         * @param privateKey the {@code PrivateKey}
+         * @param chain an array of {@code Certificate}s
          *      representing the certificate chain.
          *      The chain must be ordered and contain a
-         *      <code>Certificate</code> at index 0
+         *      {@code Certificate} at index 0
          *      corresponding to the private key.
          *
          * @exception NullPointerException if
-         *      <code>privateKey</code> or <code>chain</code>
-         *      is <code>null</code>
+         *      {@code privateKey} or {@code chain}
+         *      is {@code null}
          * @exception IllegalArgumentException if the specified chain has a
          *      length of 0, if the specified chain does not contain
-         *      <code>Certificate</code>s of the same type,
-         *      or if the <code>PrivateKey</code> algorithm
-         *      does not match the algorithm of the <code>PublicKey</code>
-         *      in the end entity <code>Certificate</code> (at index 0)
+         *      {@code Certificate}s of the same type,
+         *      or if the {@code PrivateKey} algorithm
+         *      does not match the algorithm of the {@code PublicKey}
+         *      in the end entity {@code Certificate} (at index 0)
          */
         public PrivateKeyEntry(PrivateKey privateKey, Certificate[] chain) {
             this(privateKey, chain, Collections.<Attribute>emptySet());
@@ -699,38 +697,38 @@
         }
 
         /**
-         * Gets the <code>PrivateKey</code> from this entry.
+         * Gets the {@code PrivateKey} from this entry.
          *
-         * @return the <code>PrivateKey</code> from this entry
+         * @return the {@code PrivateKey} from this entry
          */
         public PrivateKey getPrivateKey() {
             return privKey;
         }
 
         /**
-         * Gets the <code>Certificate</code> chain from this entry.
+         * Gets the {@code Certificate} chain from this entry.
          *
          * <p> The stored chain is cloned before being returned.
          *
-         * @return an array of <code>Certificate</code>s corresponding
+         * @return an array of {@code Certificate}s corresponding
          *      to the certificate chain for the public key.
          *      If the certificates are of type X.509,
          *      the runtime type of the returned array is
-         *      <code>X509Certificate[]</code>.
+         *      {@code X509Certificate[]}.
          */
         public Certificate[] getCertificateChain() {
             return chain.clone();
         }
 
         /**
-         * Gets the end entity <code>Certificate</code>
+         * Gets the end entity {@code Certificate}
          * from the certificate chain in this entry.
          *
-         * @return the end entity <code>Certificate</code> (at index 0)
+         * @return the end entity {@code Certificate} (at index 0)
          *      from the certificate chain in this entry.
          *      If the certificate is of type X.509,
          *      the runtime type of the returned certificate is
-         *      <code>X509Certificate</code>.
+         *      {@code X509Certificate}.
          */
         public Certificate getCertificate() {
             return chain[0];
@@ -767,7 +765,7 @@
     }
 
     /**
-     * A <code>KeyStore</code> entry that holds a <code>SecretKey</code>.
+     * A {@code KeyStore} entry that holds a {@code SecretKey}.
      *
      * @since 1.5
      */
@@ -777,13 +775,13 @@
         private final Set<Attribute> attributes;
 
         /**
-         * Constructs a <code>SecretKeyEntry</code> with a
-         * <code>SecretKey</code>.
+         * Constructs a {@code SecretKeyEntry} with a
+         * {@code SecretKey}.
          *
-         * @param secretKey the <code>SecretKey</code>
+         * @param secretKey the {@code SecretKey}
          *
-         * @exception NullPointerException if <code>secretKey</code>
-         *      is <code>null</code>
+         * @exception NullPointerException if {@code secretKey}
+         *      is {@code null}
          */
         public SecretKeyEntry(SecretKey secretKey) {
             if (secretKey == null) {
@@ -819,9 +817,9 @@
         }
 
         /**
-         * Gets the <code>SecretKey</code> from this entry.
+         * Gets the {@code SecretKey} from this entry.
          *
-         * @return the <code>SecretKey</code> from this entry
+         * @return the {@code SecretKey} from this entry
          */
         public SecretKey getSecretKey() {
             return sKey;
@@ -850,8 +848,8 @@
     }
 
     /**
-     * A <code>KeyStore</code> entry that holds a trusted
-     * <code>Certificate</code>.
+     * A {@code KeyStore} entry that holds a trusted
+     * {@code Certificate}.
      *
      * @since 1.5
      */
@@ -861,13 +859,13 @@
         private final Set<Attribute> attributes;
 
         /**
-         * Constructs a <code>TrustedCertificateEntry</code> with a
-         * trusted <code>Certificate</code>.
+         * Constructs a {@code TrustedCertificateEntry} with a
+         * trusted {@code Certificate}.
          *
-         * @param trustedCert the trusted <code>Certificate</code>
+         * @param trustedCert the trusted {@code Certificate}
          *
          * @exception NullPointerException if
-         *      <code>trustedCert</code> is <code>null</code>
+         *      {@code trustedCert} is {@code null}
          */
         public TrustedCertificateEntry(Certificate trustedCert) {
             if (trustedCert == null) {
@@ -903,9 +901,9 @@
         }
 
         /**
-         * Gets the trusted <code>Certficate</code> from this entry.
+         * Gets the trusted {@code Certficate} from this entry.
          *
-         * @return the trusted <code>Certificate</code> from this entry
+         * @return the trusted {@code Certificate} from this entry
          */
         public Certificate getTrustedCertificate() {
             return cert;
@@ -1129,9 +1127,9 @@
     /**
      * Returns the key associated with the given alias, using the given
      * password to recover it.  The key must have been associated with
-     * the alias by a call to <code>setKeyEntry</code>,
-     * or by a call to <code>setEntry</code> with a
-     * <code>PrivateKeyEntry</code> or <code>SecretKeyEntry</code>.
+     * the alias by a call to {@code setKeyEntry},
+     * or by a call to {@code setEntry} with a
+     * {@code PrivateKeyEntry} or {@code SecretKeyEntry}.
      *
      * @param alias the alias name
      * @param password the password for recovering the key
@@ -1159,9 +1157,9 @@
     /**
      * Returns the certificate chain associated with the given alias.
      * The certificate chain must have been associated with the alias
-     * by a call to <code>setKeyEntry</code>,
-     * or by a call to <code>setEntry</code> with a
-     * <code>PrivateKeyEntry</code>.
+     * by a call to {@code setKeyEntry},
+     * or by a call to {@code setEntry} with a
+     * {@code PrivateKeyEntry}.
      *
      * @param alias the alias name
      *
@@ -1185,15 +1183,15 @@
      * Returns the certificate associated with the given alias.
      *
      * <p> If the given alias name identifies an entry
-     * created by a call to <code>setCertificateEntry</code>,
-     * or created by a call to <code>setEntry</code> with a
-     * <code>TrustedCertificateEntry</code>,
+     * created by a call to {@code setCertificateEntry},
+     * or created by a call to {@code setEntry} with a
+     * {@code TrustedCertificateEntry},
      * then the trusted certificate contained in that entry is returned.
      *
      * <p> If the given alias name identifies an entry
-     * created by a call to <code>setKeyEntry</code>,
-     * or created by a call to <code>setEntry</code> with a
-     * <code>PrivateKeyEntry</code>,
+     * created by a call to {@code setKeyEntry},
+     * or created by a call to {@code setEntry} with a
+     * {@code PrivateKeyEntry},
      * then the first element of the certificate chain in that entry
      * is returned.
      *
@@ -1238,7 +1236,7 @@
      * Assigns the given key to the given alias, protecting it with the given
      * password.
      *
-     * <p>If the given key is of type <code>java.security.PrivateKey</code>,
+     * <p>If the given key is of type {@code java.security.PrivateKey},
      * it must be accompanied by a certificate chain certifying the
      * corresponding public key.
      *
@@ -1251,7 +1249,7 @@
      * @param password the password to protect the key
      * @param chain the certificate chain for the corresponding public
      * key (only required if the given key is of type
-     * <code>java.security.PrivateKey</code>).
+     * {@code java.security.PrivateKey}).
      *
      * @exception KeyStoreException if the keystore has not been initialized
      * (loaded), the given key cannot be protected, or this operation fails
@@ -1278,11 +1276,11 @@
      * alias.
      *
      * <p>If the protected key is of type
-     * <code>java.security.PrivateKey</code>, it must be accompanied by a
+     * {@code java.security.PrivateKey}, it must be accompanied by a
      * certificate chain certifying the corresponding public key. If the
-     * underlying keystore implementation is of type <code>jks</code>,
-     * <code>key</code> must be encoded as an
-     * <code>EncryptedPrivateKeyInfo</code> as defined in the PKCS #8 standard.
+     * underlying keystore implementation is of type {@code jks},
+     * {@code key} must be encoded as an
+     * {@code EncryptedPrivateKeyInfo} as defined in the PKCS #8 standard.
      *
      * <p>If the given alias already exists, the keystore information
      * associated with it is overridden by the given key (and possibly
@@ -1292,7 +1290,7 @@
      * @param key the key (in protected format) to be associated with the alias
      * @param chain the certificate chain for the corresponding public
      *          key (only useful if the protected key is of type
-     *          <code>java.security.PrivateKey</code>).
+     *          {@code java.security.PrivateKey}).
      *
      * @exception KeyStoreException if the keystore has not been initialized
      * (loaded), or if this operation fails for some other reason.
@@ -1311,9 +1309,9 @@
      * Assigns the given trusted certificate to the given alias.
      *
      * <p> If the given alias identifies an existing entry
-     * created by a call to <code>setCertificateEntry</code>,
-     * or created by a call to <code>setEntry</code> with a
-     * <code>TrustedCertificateEntry</code>,
+     * created by a call to {@code setCertificateEntry},
+     * or created by a call to {@code setEntry} with a
+     * {@code TrustedCertificateEntry},
      * the trusted certificate in the existing entry
      * is overridden by the given certificate.
      *
@@ -1406,9 +1404,9 @@
 
     /**
      * Returns true if the entry identified by the given alias
-     * was created by a call to <code>setKeyEntry</code>,
-     * or created by a call to <code>setEntry</code> with a
-     * <code>PrivateKeyEntry</code> or a <code>SecretKeyEntry</code>.
+     * was created by a call to {@code setKeyEntry},
+     * or created by a call to {@code setEntry} with a
+     * {@code PrivateKeyEntry} or a {@code SecretKeyEntry}.
      *
      * @param alias the alias for the keystore entry to be checked
      *
@@ -1429,9 +1427,9 @@
 
     /**
      * Returns true if the entry identified by the given alias
-     * was created by a call to <code>setCertificateEntry</code>,
-     * or created by a call to <code>setEntry</code> with a
-     * <code>TrustedCertificateEntry</code>.
+     * was created by a call to {@code setCertificateEntry},
+     * or created by a call to {@code setEntry} with a
+     * {@code TrustedCertificateEntry}.
      *
      * @param alias the alias for the keystore entry to be checked
      *
@@ -1456,15 +1454,15 @@
      *
      * <p> This method attempts to match the given certificate with each
      * keystore entry. If the entry being considered was
-     * created by a call to <code>setCertificateEntry</code>,
-     * or created by a call to <code>setEntry</code> with a
-     * <code>TrustedCertificateEntry</code>,
+     * created by a call to {@code setCertificateEntry},
+     * or created by a call to {@code setEntry} with a
+     * {@code TrustedCertificateEntry},
      * then the given certificate is compared to that entry's certificate.
      *
      * <p> If the entry being considered was
-     * created by a call to <code>setKeyEntry</code>,
-     * or created by a call to <code>setEntry</code> with a
-     * <code>PrivateKeyEntry</code>,
+     * created by a call to {@code setKeyEntry},
+     * or created by a call to {@code setEntry} with a
+     * {@code PrivateKeyEntry},
      * then the given certificate is compared to the first
      * element of that entry's certificate chain.
      *
@@ -1511,14 +1509,14 @@
     }
 
     /**
-     * Stores this keystore using the given <code>LoadStoreParameter</code>.
+     * Stores this keystore using the given {@code LoadStoreParameter}.
      *
-     * @param param the <code>LoadStoreParameter</code>
+     * @param param the {@code LoadStoreParameter}
      *          that specifies how to store the keystore,
-     *          which may be <code>null</code>
+     *          which may be {@code null}
      *
      * @exception IllegalArgumentException if the given
-     *          <code>LoadStoreParameter</code>
+     *          {@code LoadStoreParameter}
      *          input is not recognized
      * @exception KeyStoreException if the keystore has not been initialized
      *          (loaded)
@@ -1549,24 +1547,24 @@
      * then integrity checking is not performed.
      *
      * <p>In order to create an empty keystore, or if the keystore cannot
-     * be initialized from a stream, pass <code>null</code>
-     * as the <code>stream</code> argument.
+     * be initialized from a stream, pass {@code null}
+     * as the {@code stream} argument.
      *
      * <p> Note that if this keystore has already been loaded, it is
      * reinitialized and loaded again from the given input stream.
      *
      * @param stream the input stream from which the keystore is loaded,
-     * or <code>null</code>
+     * or {@code null}
      * @param password the password used to check the integrity of
      * the keystore, the password used to unlock the keystore,
-     * or <code>null</code>
+     * or {@code null}
      *
      * @exception IOException if there is an I/O or format problem with the
      * keystore data, if a password is required but not given,
      * or if the given password was incorrect. If the error is due to a
      * wrong password, the {@link Throwable#getCause cause} of the
-     * <code>IOException</code> should be an
-     * <code>UnrecoverableKeyException</code>
+     * {@code IOException} should be an
+     * {@code UnrecoverableKeyException}
      * @exception NoSuchAlgorithmException if the algorithm used to check
      * the integrity of the keystore cannot be found
      * @exception CertificateException if any of the certificates in the
@@ -1580,24 +1578,24 @@
     }
 
     /**
-     * Loads this keystore using the given <code>LoadStoreParameter</code>.
+     * Loads this keystore using the given {@code LoadStoreParameter}.
      *
      * <p> Note that if this KeyStore has already been loaded, it is
      * reinitialized and loaded again from the given parameter.
      *
-     * @param param the <code>LoadStoreParameter</code>
+     * @param param the {@code LoadStoreParameter}
      *          that specifies how to load the keystore,
-     *          which may be <code>null</code>
+     *          which may be {@code null}
      *
      * @exception IllegalArgumentException if the given
-     *          <code>LoadStoreParameter</code>
+     *          {@code LoadStoreParameter}
      *          input is not recognized
      * @exception IOException if there is an I/O or format problem with the
      *          keystore data. If the error is due to an incorrect
-     *         <code>ProtectionParameter</code> (e.g. wrong password)
+     *         {@code ProtectionParameter} (e.g. wrong password)
      *         the {@link Throwable#getCause cause} of the
-     *         <code>IOException</code> should be an
-     *         <code>UnrecoverableKeyException</code>
+     *         {@code IOException} should be an
+     *         {@code UnrecoverableKeyException}
      * @exception NoSuchAlgorithmException if the algorithm used to check
      *          the integrity of the keystore cannot be found
      * @exception CertificateException if any of the certificates in the
@@ -1614,26 +1612,26 @@
     }
 
     /**
-     * Gets a keystore <code>Entry</code> for the specified alias
+     * Gets a keystore {@code Entry} for the specified alias
      * with the specified protection parameter.
      *
-     * @param alias get the keystore <code>Entry</code> for this alias
-     * @param protParam the <code>ProtectionParameter</code>
-     *          used to protect the <code>Entry</code>,
-     *          which may be <code>null</code>
+     * @param alias get the keystore {@code Entry} for this alias
+     * @param protParam the {@code ProtectionParameter}
+     *          used to protect the {@code Entry},
+     *          which may be {@code null}
      *
-     * @return the keystore <code>Entry</code> for the specified alias,
-     *          or <code>null</code> if there is no such entry
+     * @return the keystore {@code Entry} for the specified alias,
+     *          or {@code null} if there is no such entry
      *
      * @exception NullPointerException if
-     *          <code>alias</code> is <code>null</code>
+     *          {@code alias} is {@code null}
      * @exception NoSuchAlgorithmException if the algorithm for recovering the
      *          entry cannot be found
      * @exception UnrecoverableEntryException if the specified
-     *          <code>protParam</code> were insufficient or invalid
+     *          {@code protParam} were insufficient or invalid
      * @exception UnrecoverableKeyException if the entry is a
-     *          <code>PrivateKeyEntry</code> or <code>SecretKeyEntry</code>
-     *          and the specified <code>protParam</code> does not contain
+     *          {@code PrivateKeyEntry} or {@code SecretKeyEntry}
+     *          and the specified {@code protParam} does not contain
      *          the information needed to recover the key (e.g. wrong password)
      * @exception KeyStoreException if the keystore has not been initialized
      *          (loaded).
@@ -1655,22 +1653,22 @@
     }
 
     /**
-     * Saves a keystore <code>Entry</code> under the specified alias.
+     * Saves a keystore {@code Entry} under the specified alias.
      * The protection parameter is used to protect the
-     * <code>Entry</code>.
+     * {@code Entry}.
      *
      * <p> If an entry already exists for the specified alias,
      * it is overridden.
      *
-     * @param alias save the keystore <code>Entry</code> under this alias
-     * @param entry the <code>Entry</code> to save
-     * @param protParam the <code>ProtectionParameter</code>
-     *          used to protect the <code>Entry</code>,
-     *          which may be <code>null</code>
+     * @param alias save the keystore {@code Entry} under this alias
+     * @param entry the {@code Entry} to save
+     * @param protParam the {@code ProtectionParameter}
+     *          used to protect the {@code Entry},
+     *          which may be {@code null}
      *
      * @exception NullPointerException if
-     *          <code>alias</code> or <code>entry</code>
-     *          is <code>null</code>
+     *          {@code alias} or {@code entry}
+     *          is {@code null}
      * @exception KeyStoreException if the keystore has not been initialized
      *          (loaded), or if this operation fails for some other reason
      *
@@ -1691,20 +1689,20 @@
     }
 
     /**
-     * Determines if the keystore <code>Entry</code> for the specified
-     * <code>alias</code> is an instance or subclass of the specified
-     * <code>entryClass</code>.
+     * Determines if the keystore {@code Entry} for the specified
+     * {@code alias} is an instance or subclass of the specified
+     * {@code entryClass}.
      *
      * @param alias the alias name
      * @param entryClass the entry class
      *
-     * @return true if the keystore <code>Entry</code> for the specified
-     *          <code>alias</code> is an instance or subclass of the
-     *          specified <code>entryClass</code>, false otherwise
+     * @return true if the keystore {@code Entry} for the specified
+     *          {@code alias} is an instance or subclass of the
+     *          specified {@code entryClass}, false otherwise
      *
      * @exception NullPointerException if
-     *          <code>alias</code> or <code>entryClass</code>
-     *          is <code>null</code>
+     *          {@code alias} or {@code entryClass}
+     *          is {@code null}
      * @exception KeyStoreException if the keystore has not been
      *          initialized (loaded)
      *
@@ -1764,7 +1762,7 @@
         /**
          * Returns the ProtectionParameters that should be used to obtain
          * the {@link KeyStore.Entry Entry} with the given alias.
-         * The <code>getKeyStore</code> method must be invoked before this
+         * The {@code getKeyStore} method must be invoked before this
          * method may be called.
          *
          * @return the ProtectionParameters that should be used to obtain
@@ -1782,9 +1780,9 @@
         /**
          * Returns a new Builder that encapsulates the given KeyStore.
          * The {@linkplain #getKeyStore} method of the returned object
-         * will return <code>keyStore</code>, the {@linkplain
+         * will return {@code keyStore}, the {@linkplain
          * #getProtectionParameter getProtectionParameter()} method will
-         * return <code>protectionParameters</code>.
+         * return {@code protectionParameters}.
          *
          * <p> This is useful if an existing KeyStore object needs to be
          * used with Builder-based APIs.
@@ -1832,15 +1830,15 @@
          * Returns a new Builder object.
          *
          * <p>The first call to the {@link #getKeyStore} method on the returned
-         * builder will create a KeyStore of type <code>type</code> and call
+         * builder will create a KeyStore of type {@code type} and call
          * its {@link KeyStore#load load()} method.
-         * The <code>inputStream</code> argument is constructed from
-         * <code>file</code>.
-         * If <code>protection</code> is a
-         * <code>PasswordProtection</code>, the password is obtained by
-         * calling the <code>getPassword</code> method.
-         * Otherwise, if <code>protection</code> is a
-         * <code>CallbackHandlerProtection</code>, the password is obtained
+         * The {@code inputStream} argument is constructed from
+         * {@code file}.
+         * If {@code protection} is a
+         * {@code PasswordProtection}, the password is obtained by
+         * calling the {@code getPassword} method.
+         * Otherwise, if {@code protection} is a
+         * {@code CallbackHandlerProtection}, the password is obtained
          * by invoking the CallbackHandler.
          *
          * <p>Subsequent calls to {@link #getKeyStore} return the same object
@@ -1848,13 +1846,13 @@
          * KeyStoreException, subsequent calls also throw a
          * KeyStoreException.
          *
-         * <p>The KeyStore is instantiated from <code>provider</code> if
+         * <p>The KeyStore is instantiated from {@code provider} if
          * non-null. Otherwise, all installed providers are searched.
          *
          * <p>Calls to {@link #getProtectionParameter getProtectionParameter()}
          * will return a {@link KeyStore.PasswordProtection PasswordProtection}
          * object encapsulating the password that was used to invoke the
-         * <code>load</code> method.
+         * {@code load} method.
          *
          * <p><em>Note</em> that the {@link #getKeyStore} method is executed
          * within the {@link AccessControlContext} of the code invoking this
@@ -2013,17 +2011,17 @@
          * Returns a new Builder object.
          *
          * <p>Each call to the {@link #getKeyStore} method on the returned
-         * builder will return a new KeyStore object of type <code>type</code>.
+         * builder will return a new KeyStore object of type {@code type}.
          * Its {@link KeyStore#load(KeyStore.LoadStoreParameter) load()}
          * method is invoked using a
-         * <code>LoadStoreParameter</code> that encapsulates
-         * <code>protection</code>.
+         * {@code LoadStoreParameter} that encapsulates
+         * {@code protection}.
          *
-         * <p>The KeyStore is instantiated from <code>provider</code> if
+         * <p>The KeyStore is instantiated from {@code provider} if
          * non-null. Otherwise, all installed providers are searched.
          *
          * <p>Calls to {@link #getProtectionParameter getProtectionParameter()}
-         * will return <code>protection</code>.
+         * will return {@code protection}.
          *
          * <p><em>Note</em> that the {@link #getKeyStore} method is executed
          * within the {@link AccessControlContext} of the code invoking this
--- a/src/share/classes/java/security/KeyStoreException.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/security/KeyStoreException.java	Thu Jul 11 12:31:10 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -59,13 +59,13 @@
     }
 
     /**
-     * Creates a <code>KeyStoreException</code> with the specified
+     * Creates a {@code KeyStoreException} with the specified
      * detail message and cause.
      *
      * @param message the detail message (which is saved for later retrieval
      *        by the {@link #getMessage()} method).
      * @param cause the cause (which is saved for later retrieval by the
-     *        {@link #getCause()} method).  (A <tt>null</tt> value is permitted,
+     *        {@link #getCause()} method).  (A {@code null} value is permitted,
      *        and indicates that the cause is nonexistent or unknown.)
      * @since 1.5
      */
@@ -74,13 +74,13 @@
     }
 
     /**
-     * Creates a <code>KeyStoreException</code> with the specified cause
-     * and a detail message of <tt>(cause==null ? null : cause.toString())</tt>
+     * Creates a {@code KeyStoreException} with the specified cause
+     * and a detail message of {@code (cause==null ? null : cause.toString())}
      * (which typically contains the class and detail message of
-     * <tt>cause</tt>).
+     * {@code cause}).
      *
      * @param cause the cause (which is saved for later retrieval by the
-     *        {@link #getCause()} method).  (A <tt>null</tt> value is permitted,
+     *        {@link #getCause()} method).  (A {@code null} value is permitted,
      *        and indicates that the cause is nonexistent or unknown.)
      * @since 1.5
      */
--- a/src/share/classes/java/security/KeyStoreSpi.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/security/KeyStoreSpi.java	Thu Jul 11 12:31:10 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -38,7 +38,7 @@
 
 /**
  * This class defines the <i>Service Provider Interface</i> (<b>SPI</b>)
- * for the <code>KeyStore</code> class.
+ * for the {@code KeyStore} class.
  * All the abstract methods in this class must be implemented by each
  * cryptographic service provider who wishes to supply the implementation
  * of a keystore for a particular keystore type.
@@ -56,9 +56,9 @@
     /**
      * Returns the key associated with the given alias, using the given
      * password to recover it.  The key must have been associated with
-     * the alias by a call to <code>setKeyEntry</code>,
-     * or by a call to <code>setEntry</code> with a
-     * <code>PrivateKeyEntry</code> or <code>SecretKeyEntry</code>.
+     * the alias by a call to {@code setKeyEntry},
+     * or by a call to {@code setEntry} with a
+     * {@code PrivateKeyEntry} or {@code SecretKeyEntry}.
      *
      * @param alias the alias name
      * @param password the password for recovering the key
@@ -77,9 +77,9 @@
     /**
      * Returns the certificate chain associated with the given alias.
      * The certificate chain must have been associated with the alias
-     * by a call to <code>setKeyEntry</code>,
-     * or by a call to <code>setEntry</code> with a
-     * <code>PrivateKeyEntry</code>.
+     * by a call to {@code setKeyEntry},
+     * or by a call to {@code setEntry} with a
+     * {@code PrivateKeyEntry}.
      *
      * @param alias the alias name
      *
@@ -93,15 +93,15 @@
      * Returns the certificate associated with the given alias.
      *
      * <p> If the given alias name identifies an entry
-     * created by a call to <code>setCertificateEntry</code>,
-     * or created by a call to <code>setEntry</code> with a
-     * <code>TrustedCertificateEntry</code>,
+     * created by a call to {@code setCertificateEntry},
+     * or created by a call to {@code setEntry} with a
+     * {@code TrustedCertificateEntry},
      * then the trusted certificate contained in that entry is returned.
      *
      * <p> If the given alias name identifies an entry
-     * created by a call to <code>setKeyEntry</code>,
-     * or created by a call to <code>setEntry</code> with a
-     * <code>PrivateKeyEntry</code>,
+     * created by a call to {@code setKeyEntry},
+     * or created by a call to {@code setEntry} with a
+     * {@code PrivateKeyEntry},
      * then the first element of the certificate chain in that entry
      * (if a chain exists) is returned.
      *
@@ -126,7 +126,7 @@
      * Assigns the given key to the given alias, protecting it with the given
      * password.
      *
-     * <p>If the given key is of type <code>java.security.PrivateKey</code>,
+     * <p>If the given key is of type {@code java.security.PrivateKey},
      * it must be accompanied by a certificate chain certifying the
      * corresponding public key.
      *
@@ -139,7 +139,7 @@
      * @param password the password to protect the key
      * @param chain the certificate chain for the corresponding public
      * key (only required if the given key is of type
-     * <code>java.security.PrivateKey</code>).
+     * {@code java.security.PrivateKey}).
      *
      * @exception KeyStoreException if the given key cannot be protected, or
      * this operation fails for some other reason
@@ -154,7 +154,7 @@
      * alias.
      *
      * <p>If the protected key is of type
-     * <code>java.security.PrivateKey</code>,
+     * {@code java.security.PrivateKey},
      * it must be accompanied by a certificate chain certifying the
      * corresponding public key.
      *
@@ -166,7 +166,7 @@
      * @param key the key (in protected format) to be associated with the alias
      * @param chain the certificate chain for the corresponding public
      * key (only useful if the protected key is of type
-     * <code>java.security.PrivateKey</code>).
+     * {@code java.security.PrivateKey}).
      *
      * @exception KeyStoreException if this operation fails.
      */
@@ -178,9 +178,9 @@
      * Assigns the given certificate to the given alias.
      *
      * <p> If the given alias identifies an existing entry
-     * created by a call to <code>setCertificateEntry</code>,
-     * or created by a call to <code>setEntry</code> with a
-     * <code>TrustedCertificateEntry</code>,
+     * created by a call to {@code setCertificateEntry},
+     * or created by a call to {@code setEntry} with a
+     * {@code TrustedCertificateEntry},
      * the trusted certificate in the existing entry
      * is overridden by the given certificate.
      *
@@ -230,9 +230,9 @@
 
     /**
      * Returns true if the entry identified by the given alias
-     * was created by a call to <code>setKeyEntry</code>,
-     * or created by a call to <code>setEntry</code> with a
-     * <code>PrivateKeyEntry</code> or a <code>SecretKeyEntry</code>.
+     * was created by a call to {@code setKeyEntry},
+     * or created by a call to {@code setEntry} with a
+     * {@code PrivateKeyEntry} or a {@code SecretKeyEntry}.
      *
      * @param alias the alias for the keystore entry to be checked
      *
@@ -243,9 +243,9 @@
 
     /**
      * Returns true if the entry identified by the given alias
-     * was created by a call to <code>setCertificateEntry</code>,
-     * or created by a call to <code>setEntry</code> with a
-     * <code>TrustedCertificateEntry</code>.
+     * was created by a call to {@code setCertificateEntry},
+     * or created by a call to {@code setEntry} with a
+     * {@code TrustedCertificateEntry}.
      *
      * @param alias the alias for the keystore entry to be checked
      *
@@ -260,15 +260,15 @@
      *
      * <p>This method attempts to match the given certificate with each
      * keystore entry. If the entry being considered was
-     * created by a call to <code>setCertificateEntry</code>,
-     * or created by a call to <code>setEntry</code> with a
-     * <code>TrustedCertificateEntry</code>,
+     * created by a call to {@code setCertificateEntry},
+     * or created by a call to {@code setEntry} with a
+     * {@code TrustedCertificateEntry},
      * then the given certificate is compared to that entry's certificate.
      *
      * <p> If the entry being considered was
-     * created by a call to <code>setKeyEntry</code>,
-     * or created by a call to <code>setEntry</code> with a
-     * <code>PrivateKeyEntry</code>,
+     * created by a call to {@code setKeyEntry},
+     * or created by a call to {@code setEntry} with a
+     * {@code PrivateKeyEntry},
      * then the given certificate is compared to the first
      * element of that entry's certificate chain.
      *
@@ -297,14 +297,14 @@
 
     /**
      * Stores this keystore using the given
-     * <code>KeyStore.LoadStoreParmeter</code>.
+     * {@code KeyStore.LoadStoreParmeter}.
      *
-     * @param param the <code>KeyStore.LoadStoreParmeter</code>
+     * @param param the {@code KeyStore.LoadStoreParmeter}
      *          that specifies how to store the keystore,
-     *          which may be <code>null</code>
+     *          which may be {@code null}
      *
      * @exception IllegalArgumentException if the given
-     *          <code>KeyStore.LoadStoreParmeter</code>
+     *          {@code KeyStore.LoadStoreParmeter}
      *          input is not recognized
      * @exception IOException if there was an I/O problem with data
      * @exception NoSuchAlgorithmException if the appropriate data integrity
@@ -330,17 +330,17 @@
      * then integrity checking is not performed.
      *
      * @param stream the input stream from which the keystore is loaded,
-     * or <code>null</code>
+     * or {@code null}
      * @param password the password used to check the integrity of
      * the keystore, the password used to unlock the keystore,
-     * or <code>null</code>
+     * or {@code null}
      *
      * @exception IOException if there is an I/O or format problem with the
      * keystore data, if a password is required but not given,
      * or if the given password was incorrect. If the error is due to a
      * wrong password, the {@link Throwable#getCause cause} of the
-     * <code>IOException</code> should be an
-     * <code>UnrecoverableKeyException</code>
+     * {@code IOException} should be an
+     * {@code UnrecoverableKeyException}
      * @exception NoSuchAlgorithmException if the algorithm used to check
      * the integrity of the keystore cannot be found
      * @exception CertificateException if any of the certificates in the
@@ -351,24 +351,24 @@
 
     /**
      * Loads the keystore using the given
-     * <code>KeyStore.LoadStoreParameter</code>.
+     * {@code KeyStore.LoadStoreParameter}.
      *
      * <p> Note that if this KeyStore has already been loaded, it is
      * reinitialized and loaded again from the given parameter.
      *
-     * @param param the <code>KeyStore.LoadStoreParameter</code>
+     * @param param the {@code KeyStore.LoadStoreParameter}
      *          that specifies how to load the keystore,
-     *          which may be <code>null</code>
+     *          which may be {@code null}
      *
      * @exception IllegalArgumentException if the given
-     *          <code>KeyStore.LoadStoreParameter</code>
+     *          {@code KeyStore.LoadStoreParameter}
      *          input is not recognized
      * @exception IOException if there is an I/O or format problem with the
      *          keystore data. If the error is due to an incorrect
-     *         <code>ProtectionParameter</code> (e.g. wrong password)
+     *         {@code ProtectionParameter} (e.g. wrong password)
      *         the {@link Throwable#getCause cause} of the
-     *         <code>IOException</code> should be an
-     *         <code>UnrecoverableKeyException</code>
+     *         {@code IOException} should be an
+     *         {@code UnrecoverableKeyException}
      * @exception NoSuchAlgorithmException if the algorithm used to check
      *          the integrity of the keystore cannot be found
      * @exception CertificateException if any of the certificates in the
@@ -419,25 +419,25 @@
     }
 
     /**
-     * Gets a <code>KeyStore.Entry</code> for the specified alias
+     * Gets a {@code KeyStore.Entry} for the specified alias
      * with the specified protection parameter.
      *
-     * @param alias get the <code>KeyStore.Entry</code> for this alias
-     * @param protParam the <code>ProtectionParameter</code>
-     *          used to protect the <code>Entry</code>,
-     *          which may be <code>null</code>
+     * @param alias get the {@code KeyStore.Entry} for this alias
+     * @param protParam the {@code ProtectionParameter}
+     *          used to protect the {@code Entry},
+     *          which may be {@code null}
      *
-     * @return the <code>KeyStore.Entry</code> for the specified alias,
-     *          or <code>null</code> if there is no such entry
+     * @return the {@code KeyStore.Entry} for the specified alias,
+     *          or {@code null} if there is no such entry
      *
      * @exception KeyStoreException if the operation failed
      * @exception NoSuchAlgorithmException if the algorithm for recovering the
      *          entry cannot be found
      * @exception UnrecoverableEntryException if the specified
-     *          <code>protParam</code> were insufficient or invalid
+     *          {@code protParam} were insufficient or invalid
      * @exception UnrecoverableKeyException if the entry is a
-     *          <code>PrivateKeyEntry</code> or <code>SecretKeyEntry</code>
-     *          and the specified <code>protParam</code> does not contain
+     *          {@code PrivateKeyEntry} or {@code SecretKeyEntry}
+     *          and the specified {@code protParam} does not contain
      *          the information needed to recover the key (e.g. wrong password)
      *
      * @since 1.5
@@ -484,18 +484,18 @@
     }
 
     /**
-     * Saves a <code>KeyStore.Entry</code> under the specified alias.
+     * Saves a {@code KeyStore.Entry} under the specified alias.
      * The specified protection parameter is used to protect the
-     * <code>Entry</code>.
+     * {@code Entry}.
      *
      * <p> If an entry already exists for the specified alias,
      * it is overridden.
      *
-     * @param alias save the <code>KeyStore.Entry</code> under this alias
-     * @param entry the <code>Entry</code> to save
-     * @param protParam the <code>ProtectionParameter</code>
-     *          used to protect the <code>Entry</code>,
-     *          which may be <code>null</code>
+     * @param alias save the {@code KeyStore.Entry} under this alias
+     * @param entry the {@code Entry} to save
+     * @param protParam the {@code ProtectionParameter}
+     *          used to protect the {@code Entry},
+     *          which may be {@code null}
      *
      * @exception KeyStoreException if this operation fails
      *
@@ -560,16 +560,16 @@
     }
 
     /**
-     * Determines if the keystore <code>Entry</code> for the specified
-     * <code>alias</code> is an instance or subclass of the specified
-     * <code>entryClass</code>.
+     * Determines if the keystore {@code Entry} for the specified
+     * {@code alias} is an instance or subclass of the specified
+     * {@code entryClass}.
      *
      * @param alias the alias name
      * @param entryClass the entry class
      *
-     * @return true if the keystore <code>Entry</code> for the specified
-     *          <code>alias</code> is an instance or subclass of the
-     *          specified <code>entryClass</code>, false otherwise
+     * @return true if the keystore {@code Entry} for the specified
+     *          {@code alias} is an instance or subclass of the
+     *          specified {@code entryClass}, false otherwise
      *
      * @since 1.5
      */
--- a/src/share/classes/java/security/MessageDigest.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/security/MessageDigest.java	Thu Jul 11 12:31:10 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -48,8 +48,8 @@
  * updated, one of the {@link #digest() digest} methods should
  * be called to complete the hash computation.
  *
- * <p>The <code>digest</code> method can be called once for a given number
- * of updates. After <code>digest</code> has been called, the MessageDigest
+ * <p>The {@code digest} method can be called once for a given number
+ * of updates. After {@code digest} has been called, the MessageDigest
  * object is reset to its initialized state.
  *
  * <p>Implementations are free to implement the Cloneable interface.
@@ -75,18 +75,18 @@
  * several instances, if the number of digests is known in advance.
  *
  * <p>Note that this class is abstract and extends from
- * <code>MessageDigestSpi</code> for historical reasons.
+ * {@code MessageDigestSpi} for historical reasons.
  * Application developers should only take notice of the methods defined in
- * this <code>MessageDigest</code> class; all the methods in
+ * this {@code MessageDigest} class; all the methods in
  * the superclass are intended for cryptographic service providers who wish to
  * supply their own implementations of message digest algorithms.
  *
  * <p> Every implementation of the Java platform is required to support
- * the following standard <code>MessageDigest</code> algorithms:
+ * the following standard {@code MessageDigest} algorithms:
  * <ul>
- * <li><tt>MD5</tt></li>
- * <li><tt>SHA-1</tt></li>
- * <li><tt>SHA-256</tt></li>
+ * <li>{@code MD5}</li>
+ * <li>{@code SHA-1}</li>
+ * <li>{@code SHA-256}</li>
  * </ul>
  * These algorithms are described in the <a href=
  * "{@docRoot}/../technotes/guides/security/StandardNames.html#MessageDigest">
@@ -301,7 +301,7 @@
      * @param offset the offset to start from in the array of bytes.
      *
      * @param len the number of bytes to use, starting at
-     * <code>offset</code>.
+     * {@code offset}.
      */
     public void update(byte[] input, int offset, int len) {
         if (input == null) {
@@ -326,8 +326,8 @@
 
     /**
      * Update the digest using the specified ByteBuffer. The digest is
-     * updated using the <code>input.remaining()</code> bytes starting
-     * at <code>input.position()</code>.
+     * updated using the {@code input.remaining()} bytes starting
+     * at {@code input.position()}.
      * Upon return, the buffer's position will be equal to its limit;
      * its limit will not have changed.
      *
@@ -365,7 +365,7 @@
      *
      * @param len number of bytes within buf allotted for the digest
      *
-     * @return the number of bytes placed into <code>buf</code>
+     * @return the number of bytes placed into {@code buf}
      *
      * @exception DigestException if an error occurs.
      */
@@ -386,7 +386,7 @@
      * Performs a final update on the digest using the specified array
      * of bytes, then completes the digest computation. That is, this
      * method first calls {@link #update(byte[]) update(input)},
-     * passing the <i>input</i> array to the <code>update</code> method,
+     * passing the <i>input</i> array to the {@code update} method,
      * then calls {@link #digest() digest()}.
      *
      * @param input the input to be updated before the digest is
@@ -492,7 +492,7 @@
      * @return a clone if the implementation is cloneable.
      *
      * @exception CloneNotSupportedException if this is called on an
-     * implementation that does not support <code>Cloneable</code>.
+     * implementation that does not support {@code Cloneable}.
      */
     public Object clone() throws CloneNotSupportedException {
         if (this instanceof Cloneable) {
@@ -536,7 +536,7 @@
          * @return a clone if the delegate is cloneable.
          *
          * @exception CloneNotSupportedException if this is called on a
-         * delegate that does not support <code>Cloneable</code>.
+         * delegate that does not support {@code Cloneable}.
          */
         public Object clone() throws CloneNotSupportedException {
             if (digestSpi instanceof Cloneable) {
--- a/src/share/classes/java/security/MessageDigestSpi.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/security/MessageDigestSpi.java	Thu Jul 11 12:31:10 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -31,7 +31,7 @@
 
 /**
  * This class defines the <i>Service Provider Interface</i> (<b>SPI</b>)
- * for the <code>MessageDigest</code> class, which provides the functionality
+ * for the {@code MessageDigest} class, which provides the functionality
  * of a message digest algorithm, such as MD5 or SHA. Message digests are
  * secure one-way hash functions that take arbitrary-sized data and output a
  * fixed-length hash value.
@@ -88,14 +88,14 @@
      * @param offset the offset to start from in the array of bytes.
      *
      * @param len the number of bytes to use, starting at
-     * <code>offset</code>.
+     * {@code offset}.
      */
     protected abstract void engineUpdate(byte[] input, int offset, int len);
 
     /**
      * Update the digest using the specified ByteBuffer. The digest is
-     * updated using the <code>input.remaining()</code> bytes starting
-     * at <code>input.position()</code>.
+     * updated using the {@code input.remaining()} bytes starting
+     * at {@code input.position()}.
      * Upon return, the buffer's position will be equal to its limit;
      * its limit will not have changed.
      *
@@ -130,7 +130,7 @@
 
     /**
      * Completes the hash computation by performing final
-     * operations such as padding. Once <code>engineDigest</code> has
+     * operations such as padding. Once {@code engineDigest} has
      * been called, the engine should be reset (see
      * {@link #engineReset() engineReset}).
      * Resetting is the responsibility of the
@@ -142,7 +142,7 @@
 
     /**
      * Completes the hash computation by performing final
-     * operations such as padding. Once <code>engineDigest</code> has
+     * operations such as padding. Once {@code engineDigest} has
      * been called, the engine should be reset (see
      * {@link #engineReset() engineReset}).
      * Resetting is the responsibility of the
@@ -194,7 +194,7 @@
      * @return a clone if the implementation is cloneable.
      *
      * @exception CloneNotSupportedException if this is called on an
-     * implementation that does not support <code>Cloneable</code>.
+     * implementation that does not support {@code Cloneable}.
      */
     public Object clone() throws CloneNotSupportedException {
         if (this instanceof Cloneable) {
--- a/src/share/classes/java/security/NoSuchAlgorithmException.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/security/NoSuchAlgorithmException.java	Thu Jul 11 12:31:10 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -58,13 +58,13 @@
     }
 
     /**
-     * Creates a <code>NoSuchAlgorithmException</code> with the specified
+     * Creates a {@code NoSuchAlgorithmException} with the specified
      * detail message and cause.
      *
      * @param message the detail message (which is saved for later retrieval
      *        by the {@link #getMessage()} method).
      * @param cause the cause (which is saved for later retrieval by the
-     *        {@link #getCause()} method).  (A <tt>null</tt> value is permitted,
+     *        {@link #getCause()} method).  (A {@code null} value is permitted,
      *        and indicates that the cause is nonexistent or unknown.)
      * @since 1.5
      */
@@ -73,13 +73,13 @@
     }
 
     /**
-     * Creates a <code>NoSuchAlgorithmException</code> with the specified cause
-     * and a detail message of <tt>(cause==null ? null : cause.toString())</tt>
+     * Creates a {@code NoSuchAlgorithmException} with the specified cause
+     * and a detail message of {@code (cause==null ? null : cause.toString())}
      * (which typically contains the class and detail message of
-     * <tt>cause</tt>).
+     * {@code cause}).
      *
      * @param cause the cause (which is saved for later retrieval by the
-     *        {@link #getCause()} method).  (A <tt>null</tt> value is permitted,
+     *        {@link #getCause()} method).  (A {@code null} value is permitted,
      *        and indicates that the cause is nonexistent or unknown.)
      * @since 1.5
      */
--- a/src/share/classes/java/security/Permission.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/security/Permission.java	Thu Jul 11 12:31:10 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -33,17 +33,17 @@
  *
  * <p>Most Permission objects also include an "actions" list that tells the actions
  * that are permitted for the object.  For example,
- * for a <code>java.io.FilePermission</code> object, the permission name is
+ * for a {@code java.io.FilePermission} object, the permission name is
  * the pathname of a file (or directory), and the actions list
  * (such as "read, write") specifies which actions are granted for the
  * specified file (or for files in the specified directory).
  * The actions list is optional for Permission objects, such as
- * <code>java.lang.RuntimePermission</code>,
+ * {@code java.lang.RuntimePermission},
  * that don't need such a list; you either have the named permission (such
  * as "system.exit") or you don't.
  *
  * <p>An important method that must be implemented by each subclass is
- * the <code>implies</code> method to compare Permissions. Basically,
+ * the {@code implies} method to compare Permissions. Basically,
  * "permission p1 implies permission p2" means that
  * if one is granted permission p1, one is naturally granted permission p2.
  * Thus, this is not an equality test, but rather more of a
@@ -81,7 +81,7 @@
 
     /**
      * Implements the guard interface for a permission. The
-     * <code>SecurityManager.checkPermission</code> method is called,
+     * {@code SecurityManager.checkPermission} method is called,
      * passing this permission object as the permission to check.
      * Returns silently if access is granted. Otherwise, throws
      * a SecurityException.
@@ -90,7 +90,7 @@
      *
      * @throws SecurityException
      *        if a security manager exists and its
-     *        <code>checkPermission</code> method doesn't allow access.
+     *        {@code checkPermission} method doesn't allow access.
      *
      * @see Guard
      * @see GuardedObject
@@ -109,7 +109,7 @@
      * This must be implemented by subclasses of Permission, as they are the
      * only ones that can impose semantics on a Permission object.
      *
-     * <p>The <code>implies</code> method is used by the AccessController to determine
+     * <p>The {@code implies} method is used by the AccessController to determine
      * whether or not a requested permission is implied by another permission that
      * is known to be valid in the current execution context.
      *
@@ -124,8 +124,8 @@
     /**
      * Checks two Permission objects for equality.
      * <P>
-     * Do not use the <code>equals</code> method for making access control
-     * decisions; use the <code>implies</code> method.
+     * Do not use the {@code equals} method for making access control
+     * decisions; use the {@code implies} method.
      *
      * @param obj the object we are testing for equality with this object.
      *
@@ -137,18 +137,18 @@
     /**
      * Returns the hash code value for this Permission object.
      * <P>
-     * The required <code>hashCode</code> behavior for Permission Objects is
+     * The required {@code hashCode} behavior for Permission Objects is
      * the following: <p>
      * <ul>
      * <li>Whenever it is invoked on the same Permission object more than
      *     once during an execution of a Java application, the
-     *     <code>hashCode</code> method
+     *     {@code hashCode} method
      *     must consistently return the same integer. This integer need not
      *     remain consistent from one execution of an application to another
      *     execution of the same application. <p>
      * <li>If two Permission objects are equal according to the
-     *     <code>equals</code>
-     *     method, then calling the <code>hashCode</code> method on each of the
+     *     {@code equals}
+     *     method, then calling the {@code hashCode} method on each of the
      *     two Permission objects must produce the same integer result.
      * </ul>
      *
@@ -159,7 +159,7 @@
 
     /**
      * Returns the name of this Permission.
-     * For example, in the case of a <code>java.io.FilePermission</code>,
+     * For example, in the case of a {@code java.io.FilePermission},
      * the name will be a pathname.
      *
      * @return the name of this Permission.
@@ -184,7 +184,7 @@
      * </pre>
      *
      * both return
-     * "read,write" when the <code>getActions</code> method is invoked.
+     * "read,write" when the {@code getActions} method is invoked.
      *
      * @return the actions of this Permission.
      *
@@ -197,7 +197,7 @@
      * one is not defined. Subclasses of class Permission should
      * override this if they need to store their permissions in a particular
      * PermissionCollection object in order to provide the correct semantics
-     * when the <code>PermissionCollection.implies</code> method is called.
+     * when the {@code PermissionCollection.implies} method is called.
      * If null is returned,
      * then the caller of this method is free to store permissions of this
      * type in any PermissionCollection they choose (one that uses a Hashtable,
--- a/src/share/classes/java/security/PermissionCollection.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/security/PermissionCollection.java	Thu Jul 11 12:31:10 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -32,29 +32,29 @@
  *
  * <p>With a PermissionCollection, you can:
  * <UL>
- * <LI> add a permission to the collection using the <code>add</code> method.
+ * <LI> add a permission to the collection using the {@code add} method.
  * <LI> check to see if a particular permission is implied in the
- *      collection, using the <code>implies</code> method.
- * <LI> enumerate all the permissions, using the <code>elements</code> method.
+ *      collection, using the {@code implies} method.
+ * <LI> enumerate all the permissions, using the {@code elements} method.
  * </UL>
  * <P>
  *
  * <p>When it is desirable to group together a number of Permission objects
- * of the same type, the <code>newPermissionCollection</code> method on that
+ * of the same type, the {@code newPermissionCollection} method on that
  * particular type of Permission object should first be called. The default
  * behavior (from the Permission class) is to simply return null.
  * Subclasses of class Permission override the method if they need to store
  * their permissions in a particular PermissionCollection object in order
  * to provide the correct semantics when the
- * <code>PermissionCollection.implies</code> method is called.
+ * {@code PermissionCollection.implies} method is called.
  * If a non-null value is returned, that PermissionCollection must be used.
- * If null is returned, then the caller of <code>newPermissionCollection</code>
+ * If null is returned, then the caller of {@code newPermissionCollection}
  * is free to store permissions of the
  * given type in any PermissionCollection they choose
  * (one that uses a Hashtable, one that uses a Vector, etc).
  *
  * <p>The PermissionCollection returned by the
- * <code>Permission.newPermissionCollection</code>
+ * {@code Permission.newPermissionCollection}
  * method is a homogeneous collection, which stores only Permission objects
  * for a given Permission type.  A PermissionCollection may also be
  * heterogeneous.  For example, Permissions is a PermissionCollection
@@ -62,16 +62,16 @@
  * That is, its members are each a homogeneous PermissionCollection.
  * For example, a Permissions object might have a FilePermissionCollection
  * for all the FilePermission objects, a SocketPermissionCollection for all the
- * SocketPermission objects, and so on. Its <code>add</code> method adds a
+ * SocketPermission objects, and so on. Its {@code add} method adds a
  * permission to the appropriate collection.
  *
  * <p>Whenever a permission is added to a heterogeneous PermissionCollection
  * such as Permissions, and the PermissionCollection doesn't yet contain a
  * PermissionCollection of the specified permission's type, the
  * PermissionCollection should call
- * the <code>newPermissionCollection</code> method on the permission's class
+ * the {@code newPermissionCollection} method on the permission's class
  * to see if it requires a special PermissionCollection. If
- * <code>newPermissionCollection</code>
+ * {@code newPermissionCollection}
  * returns null, the PermissionCollection
  * is free to store the permission in any type of PermissionCollection it
  * desires (one using a Hashtable, one using a Vector, etc.). For example,
@@ -81,7 +81,7 @@
  * <p> Subclass implementations of PermissionCollection should assume
  * that they may be called simultaneously from multiple threads,
  * and therefore should be synchronized properly.  Furthermore,
- * Enumerations returned via the <code>elements</code> method are
+ * Enumerations returned via the {@code elements} method are
  * not <em>fail-fast</em>.  Modifications to a collection should not be
  * performed while enumerating over that collection.
  *
@@ -134,7 +134,7 @@
      * Marks this PermissionCollection object as "readonly". After
      * a PermissionCollection object
      * is marked as readonly, no new Permission objects can be added to it
-     * using <code>add</code>.
+     * using {@code add}.
      */
     public void setReadOnly() {
         readOnly = true;
@@ -143,10 +143,10 @@
     /**
      * Returns true if this PermissionCollection object is marked as readonly.
      * If it is readonly, no new Permission objects can be added to it
-     * using <code>add</code>.
+     * using {@code add}.
      *
      * <p>By default, the object is <i>not</i> readonly. It can be set to
-     * readonly by a call to <code>setReadOnly</code>.
+     * readonly by a call to {@code setReadOnly}.
      *
      * @return true if this PermissionCollection object is marked as readonly,
      * false otherwise.
@@ -166,7 +166,7 @@
      *   // one per line..
      * )</pre>
      *
-     * <code>super.toString</code> is a call to the <code>toString</code>
+     * {@code super.toString} is a call to the {@code toString}
      * method of this
      * object's superclass, which is Object. The result is
      * this PermissionCollection's type name followed by this object's
--- a/src/share/classes/java/security/Permissions.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/security/Permissions.java	Thu Jul 11 12:31:10 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -44,26 +44,26 @@
  * This class represents a heterogeneous collection of Permissions. That is,
  * it contains different types of Permission objects, organized into
  * PermissionCollections. For example, if any
- * <code>java.io.FilePermission</code> objects are added to an instance of
+ * {@code java.io.FilePermission} objects are added to an instance of
  * this class, they are all stored in a single
  * PermissionCollection. It is the PermissionCollection returned by a call to
- * the <code>newPermissionCollection</code> method in the FilePermission class.
- * Similarly, any <code>java.lang.RuntimePermission</code> objects are
+ * the {@code newPermissionCollection} method in the FilePermission class.
+ * Similarly, any {@code java.lang.RuntimePermission} objects are
  * stored in the PermissionCollection returned by a call to the
- * <code>newPermissionCollection</code> method in the
+ * {@code newPermissionCollection} method in the
  * RuntimePermission class. Thus, this class represents a collection of
  * PermissionCollections.
  *
- * <p>When the <code>add</code> method is called to add a Permission, the
+ * <p>When the {@code add} method is called to add a Permission, the
  * Permission is stored in the appropriate PermissionCollection. If no such
  * collection exists yet, the Permission object's class is determined and the
- * <code>newPermissionCollection</code> method is called on that class to create
+ * {@code newPermissionCollection} method is called on that class to create
  * the PermissionCollection and add it to the Permissions object. If
- * <code>newPermissionCollection</code> returns null, then a default
+ * {@code newPermissionCollection} returns null, then a default
  * PermissionCollection that uses a hashtable will be created and used. Each
  * hashtable entry stores a Permission object as both the key and the value.
  *
- * <p> Enumerations returned via the <code>elements</code> method are
+ * <p> Enumerations returned via the {@code elements} method are
  * not <em>fail-fast</em>.  Modifications to a collection should not be
  * performed while enumerating over that collection.
  *
@@ -155,9 +155,9 @@
      * "read" access for  all files in all subdirectories of the "/tmp"
      * directory, and another FilePermission that specifies "write" access
      * for all files in the "/tmp/scratch/foo" directory.
-     * Then if the <code>implies</code> method
+     * Then if the {@code implies} method
      * is called with a permission specifying both "read" and "write" access
-     * to files in the "/tmp/scratch/foo" directory, <code>true</code> is
+     * to files in the "/tmp/scratch/foo" directory, {@code true} is
      * returned.
      *
      * <p>Additionally, if this PermissionCollection contains the
@@ -214,11 +214,11 @@
      * If createEmpty is true,
      * this method creates a new PermissionCollection object for the specified
      * type of permission objects if one does not yet exist.
-     * To do so, it first calls the <code>newPermissionCollection</code> method
+     * To do so, it first calls the {@code newPermissionCollection} method
      * on <i>p</i>.  Subclasses of class Permission
      * override that method if they need to store their permissions in a
      * particular PermissionCollection object in order to provide the
-     * correct semantics when the <code>PermissionCollection.implies</code>
+     * correct semantics when the {@code PermissionCollection.implies}
      * method is called.
      * If the call returns a PermissionCollection, that collection is stored
      * in this Permissions object. If the call returns null and createEmpty
--- a/src/share/classes/java/security/Policy.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/security/Policy.java	Thu Jul 11 12:31:10 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -41,11 +41,11 @@
  *
  * <p> There is only one Policy object installed in the runtime at any
  * given time.  A Policy object can be installed by calling the
- * <code>setPolicy</code> method.  The installed Policy object can be
- * obtained by calling the <code>getPolicy</code> method.
+ * {@code setPolicy} method.  The installed Policy object can be
+ * obtained by calling the {@code getPolicy} method.
  *
  * <p> If no Policy object has been installed in the runtime, a call to
- * <code>getPolicy</code> installs an instance of the default Policy
+ * {@code getPolicy} installs an instance of the default Policy
  * implementation (a default subclass implementation of this abstract class).
  * The default Policy implementation can be changed by setting the value
  * of the {@code policy.provider} security property to the fully qualified
@@ -53,26 +53,26 @@
  *
  * <p> Application code can directly subclass Policy to provide a custom
  * implementation.  In addition, an instance of a Policy object can be
- * constructed by invoking one of the <code>getInstance</code> factory methods
+ * constructed by invoking one of the {@code getInstance} factory methods
  * with a standard type.  The default policy type is "JavaPolicy".
  *
  * <p> Once a Policy instance has been installed (either by default, or by
- * calling <code>setPolicy</code>), the Java runtime invokes its
- * <code>implies</code> method when it needs to
+ * calling {@code setPolicy}), the Java runtime invokes its
+ * {@code implies} method when it needs to
  * determine whether executing code (encapsulated in a ProtectionDomain)
  * can perform SecurityManager-protected operations.  How a Policy object
  * retrieves its policy data is up to the Policy implementation itself.
  * The policy data may be stored, for example, in a flat ASCII file,
  * in a serialized binary file of the Policy class, or in a database.
  *
- * <p> The <code>refresh</code> method causes the policy object to
+ * <p> The {@code refresh} method causes the policy object to
  * refresh/reload its data.  This operation is implementation-dependent.
  * For example, if the policy object stores its data in configuration files,
- * calling <code>refresh</code> will cause it to re-read the configuration
+ * calling {@code refresh} will cause it to re-read the configuration
  * policy files.  If a refresh operation is not supported, this method does
  * nothing.  Note that refreshed policy may not have an effect on classes
  * in a particular ProtectionDomain. This is dependent on the Policy
- * provider's implementation of the <code>implies</code>
+ * provider's implementation of the {@code implies}
  * method and its PermissionCollection caching strategy.
  *
  * @author Roland Schemers
@@ -130,17 +130,17 @@
 
     /**
      * Returns the installed Policy object. This value should not be cached,
-     * as it may be changed by a call to <code>setPolicy</code>.
+     * as it may be changed by a call to {@code setPolicy}.
      * This method first calls
-     * <code>SecurityManager.checkPermission</code> with a
-     * <code>SecurityPermission("getPolicy")</code> permission
+     * {@code SecurityManager.checkPermission} with a
+     * {@code SecurityPermission("getPolicy")} permission
      * to ensure it's ok to get the Policy object.
      *
      * @return the installed Policy.
      *
      * @throws SecurityException
      *        if a security manager exists and its
-     *        <code>checkPermission</code> method doesn't allow
+     *        {@code checkPermission} method doesn't allow
      *        getting the Policy object.
      *
      * @see SecurityManager#checkPermission(Permission)
@@ -246,15 +246,15 @@
 
     /**
      * Sets the system-wide Policy object. This method first calls
-     * <code>SecurityManager.checkPermission</code> with a
-     * <code>SecurityPermission("setPolicy")</code>
+     * {@code SecurityManager.checkPermission} with a
+     * {@code SecurityPermission("setPolicy")}
      * permission to ensure it's ok to set the Policy.
      *
      * @param p the new system Policy object.
      *
      * @throws SecurityException
      *        if a security manager exists and its
-     *        <code>checkPermission</code> method doesn't allow
+     *        {@code checkPermission} method doesn't allow
      *        setting the Policy.
      *
      * @see SecurityManager#checkPermission(Permission)
@@ -536,7 +536,7 @@
      * Return the Provider of this Policy.
      *
      * <p> This Policy instance will only have a Provider if it
-     * was obtained via a call to <code>Policy.getInstance</code>.
+     * was obtained via a call to {@code Policy.getInstance}.
      * Otherwise this method returns null.
      *
      * @return the Provider of this Policy, or null.
@@ -551,7 +551,7 @@
      * Return the type of this Policy.
      *
      * <p> This Policy instance will only have a type if it
-     * was obtained via a call to <code>Policy.getInstance</code>.
+     * was obtained via a call to {@code Policy.getInstance}.
      * Otherwise this method returns null.
      *
      * @return the type of this Policy, or null.
@@ -566,7 +566,7 @@
      * Return Policy parameters.
      *
      * <p> This Policy instance will only have parameters if it
-     * was obtained via a call to <code>Policy.getInstance</code>.
+     * was obtained via a call to {@code Policy.getInstance}.
      * Otherwise this method returns null.
      *
      * @return Policy parameters, or null.
@@ -583,10 +583,10 @@
      *
      * <p> Applications are discouraged from calling this method
      * since this operation may not be supported by all policy implementations.
-     * Applications should solely rely on the <code>implies</code> method
+     * Applications should solely rely on the {@code implies} method
      * to perform policy checks.  If an application absolutely must call
      * a getPermissions method, it should call
-     * <code>getPermissions(ProtectionDomain)</code>.
+     * {@code getPermissions(ProtectionDomain)}.
      *
      * <p> The default implementation of this method returns
      * Policy.UNSUPPORTED_EMPTY_COLLECTION.  This method can be
@@ -613,15 +613,15 @@
      *
      * <p> Applications are discouraged from calling this method
      * since this operation may not be supported by all policy implementations.
-     * Applications should rely on the <code>implies</code> method
+     * Applications should rely on the {@code implies} method
      * to perform policy checks.
      *
      * <p> The default implementation of this method first retrieves
-     * the permissions returned via <code>getPermissions(CodeSource)</code>
+     * the permissions returned via {@code getPermissions(CodeSource)}
      * (the CodeSource is taken from the specified ProtectionDomain),
      * as well as the permissions located inside the specified ProtectionDomain.
      * All of these permissions are then combined and returned in a new
-     * PermissionCollection object.  If <code>getPermissions(CodeSource)</code>
+     * PermissionCollection object.  If {@code getPermissions(CodeSource)}
      * returns Policy.UNSUPPORTED_EMPTY_COLLECTION, then this method
      * returns the permissions contained inside the specified ProtectionDomain
      * in a new PermissionCollection object.
@@ -733,7 +733,7 @@
 
     /**
      * Refreshes/reloads the policy configuration. The behavior of this method
-     * depends on the implementation. For example, calling <code>refresh</code>
+     * depends on the implementation. For example, calling {@code refresh}
      * on a file-based policy will cause the file to be re-read.
      *
      * <p> The default implementation of this method does nothing.
@@ -794,8 +794,8 @@
 
     /**
      * This class represents a read-only empty PermissionCollection object that
-     * is returned from the <code>getPermissions(CodeSource)</code> and
-     * <code>getPermissions(ProtectionDomain)</code>
+     * is returned from the {@code getPermissions(CodeSource)} and
+     * {@code getPermissions(ProtectionDomain)}
      * methods in the Policy class when those operations are not
      * supported by the Policy implementation.
      */
--- a/src/share/classes/java/security/PolicySpi.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/security/PolicySpi.java	Thu Jul 11 12:31:10 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -28,15 +28,15 @@
 
 /**
  * This class defines the <i>Service Provider Interface</i> (<b>SPI</b>)
- * for the <code>Policy</code> class.
+ * for the {@code Policy} class.
  * All the abstract methods in this class must be implemented by each
  * service provider who wishes to supply a Policy implementation.
  *
  * <p> Subclass implementations of this abstract class must provide
- * a public constructor that takes a <code>Policy.Parameters</code>
+ * a public constructor that takes a {@code Policy.Parameters}
  * object as an input parameter.  This constructor also must throw
  * an IllegalArgumentException if it does not understand the
- * <code>Policy.Parameters</code> input.
+ * {@code Policy.Parameters} input.
  *
  *
  * @since 1.6
@@ -59,7 +59,7 @@
 
     /**
      * Refreshes/reloads the policy configuration. The behavior of this method
-     * depends on the implementation. For example, calling <code>refresh</code>
+     * depends on the implementation. For example, calling {@code refresh}
      * on a file-based policy will cause the file to be re-read.
      *
      * <p> The default implementation of this method does nothing.
--- a/src/share/classes/java/security/PrivilegedAction.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/security/PrivilegedAction.java	Thu Jul 11 12:31:10 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -28,10 +28,10 @@
 
 /**
  * A computation to be performed with privileges enabled.  The computation is
- * performed by invoking <code>AccessController.doPrivileged</code> on the
- * <code>PrivilegedAction</code> object.  This interface is used only for
+ * performed by invoking {@code AccessController.doPrivileged} on the
+ * {@code PrivilegedAction} object.  This interface is used only for
  * computations that do not throw checked exceptions; computations that
- * throw checked exceptions must use <code>PrivilegedExceptionAction</code>
+ * throw checked exceptions must use {@code PrivilegedExceptionAction}
  * instead.
  *
  * @see AccessController
@@ -42,11 +42,11 @@
 public interface PrivilegedAction<T> {
     /**
      * Performs the computation.  This method will be called by
-     * <code>AccessController.doPrivileged</code> after enabling privileges.
+     * {@code AccessController.doPrivileged} after enabling privileges.
      *
      * @return a class-dependent value that may represent the results of the
      *         computation. Each class that implements
-     *         <code>PrivilegedAction</code>
+     *         {@code PrivilegedAction}
      *         should document what (if anything) this value represents.
      * @see AccessController#doPrivileged(PrivilegedAction)
      * @see AccessController#doPrivileged(PrivilegedAction,
--- a/src/share/classes/java/security/PrivilegedActionException.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/security/PrivilegedActionException.java	Thu Jul 11 12:31:10 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2001, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -27,13 +27,13 @@
 
 /**
  * This exception is thrown by
- * <code>doPrivileged(PrivilegedExceptionAction)</code> and
- * <code>doPrivileged(PrivilegedExceptionAction,
- * AccessControlContext context)</code> to indicate
+ * {@code doPrivileged(PrivilegedExceptionAction)} and
+ * {@code doPrivileged(PrivilegedExceptionAction,
+ * AccessControlContext context)} to indicate
  * that the action being performed threw a checked exception.  The exception
  * thrown by the action can be obtained by calling the
- * <code>getException</code> method.  In effect, an
- * <code>PrivilegedActionException</code> is a "wrapper"
+ * {@code getException} method.  In effect, an
+ * {@code PrivilegedActionException} is a "wrapper"
  * for an exception thrown by a privileged action.
  *
  * <p>As of release 1.4, this exception has been retrofitted to conform to
@@ -69,14 +69,14 @@
 
     /**
      * Returns the exception thrown by the privileged computation that
-     * resulted in this <code>PrivilegedActionException</code>.
+     * resulted in this {@code PrivilegedActionException}.
      *
      * <p>This method predates the general-purpose exception chaining facility.
      * The {@link Throwable#getCause()} method is now the preferred means of
      * obtaining this information.
      *
      * @return the exception thrown by the privileged computation that
-     *         resulted in this <code>PrivilegedActionException</code>.
+     *         resulted in this {@code PrivilegedActionException}.
      * @see PrivilegedExceptionAction
      * @see AccessController#doPrivileged(PrivilegedExceptionAction)
      * @see AccessController#doPrivileged(PrivilegedExceptionAction,
@@ -89,7 +89,7 @@
     /**
      * Returns the cause of this exception (the exception thrown by
      * the privileged computation that resulted in this
-     * <code>PrivilegedActionException</code>).
+     * {@code PrivilegedActionException}).
      *
      * @return  the cause of this exception.
      * @since   1.4
--- a/src/share/classes/java/security/PrivilegedExceptionAction.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/security/PrivilegedExceptionAction.java	Thu Jul 11 12:31:10 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -29,11 +29,11 @@
 /**
  * A computation to be performed with privileges enabled, that throws one or
  * more checked exceptions.  The computation is performed by invoking
- * <code>AccessController.doPrivileged</code> on the
- * <code>PrivilegedExceptionAction</code> object.  This interface is
+ * {@code AccessController.doPrivileged} on the
+ * {@code PrivilegedExceptionAction} object.  This interface is
  * used only for computations that throw checked exceptions;
  * computations that do not throw
- * checked exceptions should use <code>PrivilegedAction</code> instead.
+ * checked exceptions should use {@code PrivilegedAction} instead.
  *
  * @see AccessController
  * @see AccessController#doPrivileged(PrivilegedExceptionAction)
@@ -45,14 +45,14 @@
 public interface PrivilegedExceptionAction<T> {
     /**
      * Performs the computation.  This method will be called by
-     * <code>AccessController.doPrivileged</code> after enabling privileges.
+     * {@code AccessController.doPrivileged} after enabling privileges.
      *
      * @return a class-dependent value that may represent the results of the
      *         computation.  Each class that implements
-     *         <code>PrivilegedExceptionAction</code> should document what
+     *         {@code PrivilegedExceptionAction} should document what
      *         (if anything) this value represents.
      * @throws Exception an exceptional condition has occurred.  Each class
-     *         that implements <code>PrivilegedExceptionAction</code> should
+     *         that implements {@code PrivilegedExceptionAction} should
      *         document the exceptions that its run method can throw.
      * @see AccessController#doPrivileged(PrivilegedExceptionAction)
      * @see AccessController#doPrivileged(PrivilegedExceptionAction,AccessControlContext)
--- a/src/share/classes/java/security/ProtectionDomain.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/security/ProtectionDomain.java	Thu Jul 11 12:31:10 2013 -0700
@@ -119,7 +119,7 @@
     /**
      * Creates a new ProtectionDomain with the given CodeSource and
      * Permissions. If the permissions object is not null, then
-     *  <code>setReadOnly())</code> will be called on the passed in
+     *  {@code setReadOnly())} will be called on the passed in
      * Permissions object. The only permissions granted to this domain
      * are the ones specified; the current Policy will not be consulted.
      *
@@ -145,7 +145,7 @@
     /**
      * Creates a new ProtectionDomain qualified by the given CodeSource,
      * Permissions, ClassLoader and array of Principals. If the
-     * permissions object is not null, then <code>setReadOnly()</code>
+     * permissions object is not null, then {@code setReadOnly()}
      * will be called on the passed in Permissions object.
      * The permissions granted to this domain are dynamic; they include
      * both the static permissions passed to this constructor, and any
@@ -155,7 +155,7 @@
      * This constructor is typically used by
      * {@link SecureClassLoader ClassLoaders}
      * and {@link DomainCombiner DomainCombiners} which delegate to
-     * <code>Policy</code> to actively associate the permissions granted to
+     * {@code Policy} to actively associate the permissions granted to
      * this domain. This constructor affords the
      * Policy provider the opportunity to augment the supplied
      * PermissionCollection to reflect policy changes.
--- a/src/share/classes/java/security/Provider.java	Tue Jul 02 17:38:40 2013 -0700
+++ b/src/share/classes/java/security/Provider.java	Thu Jul 11 12:31:10 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -62,20 +62,21 @@
  * security token. A {@link ProviderException} should be used to indicate
  * such errors.
  *
- * <p>The service type <code>Provider</code> is reserved for use by the
+ * <p>The service type {@code Provider} is reserved for use by the
  * security framework. Services of this type cannot be added, removed,
  * or modified by applications.
  * The following attributes are automatically placed in each Provider object:
  * <table cellspacing=4>
+ * <caption><b>Attributes Automatically Placed in a Provider Object</b></caption>
  * <tr><th>Name</th><th>Value</th>
- * <tr><td><code>Provider.id name</code></td>
-  *    <td><code>String.valueOf(provider.getName())</code></td>