changeset 30460:39db0a1327bd

Merge
author ddehaven
date Tue, 14 Apr 2015 12:10:01 -0700
parents 8787f2313433 8869a2e28c89
children 57e36ed1a9ab
files hotspot/src/share/vm/memory/specialized_oop_closures.cpp langtools/make/Makefile langtools/src/java.base/share/classes/jdk/Exported.java langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/nio/JavacPathFileManager.java langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/nio/PathFileManager.java langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/nio/PathFileObject.java langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/BaseFileManager.java langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/util/PathDocFileFactory.java make/MakeHelpers.gmk nashorn/make/Makefile nashorn/test/src/jdk/internal/dynalink/beans/CallerSensitiveTest.java nashorn/test/src/jdk/nashorn/api/NashornSQLDriver.java nashorn/test/src/jdk/nashorn/api/javaaccess/ArrayConversionTest.java nashorn/test/src/jdk/nashorn/api/javaaccess/BooleanAccessTest.java nashorn/test/src/jdk/nashorn/api/javaaccess/ConsStringTest.java nashorn/test/src/jdk/nashorn/api/javaaccess/MethodAccessTest.java nashorn/test/src/jdk/nashorn/api/javaaccess/NumberAccessTest.java nashorn/test/src/jdk/nashorn/api/javaaccess/NumberBoxingTest.java nashorn/test/src/jdk/nashorn/api/javaaccess/ObjectAccessTest.java nashorn/test/src/jdk/nashorn/api/javaaccess/Person.java nashorn/test/src/jdk/nashorn/api/javaaccess/SharedObject.java nashorn/test/src/jdk/nashorn/api/javaaccess/StringAccessTest.java nashorn/test/src/jdk/nashorn/api/scripting/InvocableTest.java nashorn/test/src/jdk/nashorn/api/scripting/MultipleEngineTest.java nashorn/test/src/jdk/nashorn/api/scripting/PluggableJSObjectTest.java nashorn/test/src/jdk/nashorn/api/scripting/ScopeTest.java nashorn/test/src/jdk/nashorn/api/scripting/ScriptEngineSecurityTest.java nashorn/test/src/jdk/nashorn/api/scripting/ScriptEngineTest.java nashorn/test/src/jdk/nashorn/api/scripting/ScriptObjectMirrorTest.java nashorn/test/src/jdk/nashorn/api/scripting/VariableArityTestInterface.java nashorn/test/src/jdk/nashorn/api/scripting/Window.java nashorn/test/src/jdk/nashorn/api/scripting/WindowEventHandler.java nashorn/test/src/jdk/nashorn/api/scripting/resources/func.js nashorn/test/src/jdk/nashorn/api/scripting/resources/gettersetter.js nashorn/test/src/jdk/nashorn/api/scripting/resources/witheval.js nashorn/test/src/jdk/nashorn/api/tree/ParseAPITest.java nashorn/test/src/jdk/nashorn/internal/codegen/CompilerTest.java nashorn/test/src/jdk/nashorn/internal/parser/ParserTest.java nashorn/test/src/jdk/nashorn/internal/runtime/ClassFilterTest.java nashorn/test/src/jdk/nashorn/internal/runtime/CodeStoreAndPathTest.java nashorn/test/src/jdk/nashorn/internal/runtime/ConsStringTest.java nashorn/test/src/jdk/nashorn/internal/runtime/ContextTest.java nashorn/test/src/jdk/nashorn/internal/runtime/ExceptionsNotSerializable.java nashorn/test/src/jdk/nashorn/internal/runtime/JSTypeTest.java nashorn/test/src/jdk/nashorn/internal/runtime/LexicalBindingTest.java nashorn/test/src/jdk/nashorn/internal/runtime/NoPersistenceCachingTest.java nashorn/test/src/jdk/nashorn/internal/runtime/SourceTest.java nashorn/test/src/jdk/nashorn/internal/runtime/TrustedScriptEngineTest.java nashorn/test/src/jdk/nashorn/internal/runtime/regexp/JdkRegExpTest.java nashorn/test/src/jdk/nashorn/internal/runtime/regexp/joni/JoniTest.java nashorn/test/src/jdk/nashorn/internal/runtime/resources/load_test.js
diffstat 1121 files changed, 23759 insertions(+), 19605 deletions(-) [+]
line wrap: on
line diff
--- a/.hgtags	Tue Apr 14 14:47:40 2015 +0400
+++ b/.hgtags	Tue Apr 14 12:10:01 2015 -0700
@@ -300,3 +300,5 @@
 c97e2d1bad9708d379793ba2a4c848eda14c741e jdk9-b55
 47544495db2d3d2edf0f85862d8715592fdb919f jdk9-b56
 ddb95d8f169b09544cc17e72a6baaff2400092f5 jdk9-b57
+f40752db7773ca0c737f2ad88371e35c57fdfed7 jdk9-b58
+da950f343762a856d69751570a4c07cfa68a415b jdk9-b59
--- a/.hgtags-top-repo	Tue Apr 14 14:47:40 2015 +0400
+++ b/.hgtags-top-repo	Tue Apr 14 12:10:01 2015 -0700
@@ -300,3 +300,5 @@
 0c37a832458f0e0b7d2a3f1a6f69aeae311aeb18 jdk9-b55
 eb7febe45865ba6b81f2ea68082262d0708a0b22 jdk9-b56
 f25ee9f62427a9ba27418e5531a89754791a305b jdk9-b57
+6e78dd9b121037719a065fe8fb25b936babdfecb jdk9-b58
+39e8a131289e8386aa4c3e4b184faa812a7c0421 jdk9-b59
--- a/Makefile	Tue Apr 14 14:47:40 2015 +0400
+++ b/Makefile	Tue Apr 14 12:10:01 2015 -0700
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2012, 2015, 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
@@ -23,200 +23,42 @@
 # questions.
 #
 
-# This must be the first rule
-default:
+###
+### This file is just a very small wrapper needed to run the real make/Init.gmk.
+### It also performs some sanity checks on make.
+###
 
-# Inclusion of this pseudo-target will cause make to execute this file
-# serially, regardless of -j. Recursively called makefiles will not be
-# affected, however. This is required for correct dependency management.
-.NOTPARALLEL:
+# The shell code below will be executed on /usr/ccs/bin/make on Solaris, but not in GNU Make.
+# /usr/ccs/bin/make lacks basically every other flow control mechanism.
+.TEST_FOR_NON_GNUMAKE:sh=echo You are not using GNU Make/gmake, this is a requirement. Check your path. 1>&2 && exit 1
 
-# The shell code below will be executed on /usr/ccs/bin/make on Solaris, but not in GNU make.
-# /usr/ccs/bin/make lacks basically every other flow control mechanism.
-.TEST_FOR_NON_GNUMAKE:sh=echo You are not using GNU make/gmake, this is a requirement. Check your path. 1>&2 && exit 1
+# The .FEATURES variable is likely to be unique for GNU Make.
+ifeq ($(.FEATURES), )
+  $(info Error: '$(MAKE)' does not seem to be GNU Make, which is a requirement.)
+  $(info Check your path, or upgrade to GNU Make 3.81 or newer.)
+  $(error Cannot continue)
+endif
 
-# Assume we have GNU make, but check version.
+# Assume we have GNU Make, but check version.
 ifeq ($(strip $(foreach v, 3.81% 3.82% 4.%, $(filter $v, $(MAKE_VERSION)))), )
-  $(error This version of GNU Make is too low ($(MAKE_VERSION)). Check your path, or upgrade to 3.81 or newer.)
+  $(info Error: This version of GNU Make is too low ($(MAKE_VERSION)).)
+  $(info Check your path, or upgrade to GNU Make 3.81 or newer.)
+  $(error Cannot continue)
+endif
+
+# In Cygwin, the MAKE variable gets prepended with the current directory if the
+# make executable is called using a Windows mixed path (c:/cygwin/bin/make.exe).
+ifneq ($(findstring :, $(MAKE)), )
+  MAKE := $(patsubst $(CURDIR)%, %, $(patsubst $(CURDIR)/%, %, $(MAKE)))
 endif
 
 # Locate this Makefile
-ifeq ($(filter /%,$(lastword $(MAKEFILE_LIST))),)
-  makefile_path:=$(CURDIR)/$(lastword $(MAKEFILE_LIST))
+ifeq ($(filter /%, $(lastword $(MAKEFILE_LIST))),)
+  makefile_path := $(CURDIR)/$(strip $(lastword $(MAKEFILE_LIST)))
 else
-  makefile_path:=$(lastword $(MAKEFILE_LIST))
+  makefile_path := $(lastword $(MAKEFILE_LIST))
 endif
-root_dir:=$(patsubst %/,%,$(dir $(makefile_path)))
+topdir := $(strip $(patsubst %/, %, $(dir $(makefile_path))))
 
-ifeq ($(MAIN_TARGETS), )
-  COMMAND_LINE_VARIABLES:=$(subst =command,,$(filter %=command,$(foreach var,$(.VARIABLES),$(var)=$(firstword $(origin $(var))))))
-  MAKE_CONTROL_VARIABLES:=LOG CONF SPEC JOBS TEST IGNORE_OLD_CONFIG
-  UNKNOWN_COMMAND_LINE_VARIABLES:=$(strip $(filter-out $(MAKE_CONTROL_VARIABLES), $(COMMAND_LINE_VARIABLES)))
-  ifneq ($(UNKNOWN_COMMAND_LINE_VARIABLES), )
-    $(info Note: Command line contains non-control variables: $(UNKNOWN_COMMAND_LINE_VARIABLES).)
-    $(info Make sure it is not mistyped, and that you intend to override this variable.)
-    $(info 'make help' will list known control variables)
-  endif
-endif
-
-ifneq ($(findstring qp,$(MAKEFLAGS)),)
-  # When called with -qp, assume an external part (e.g. bash completion) is trying
-  # to understand our targets.
-  # Duplication of global targets, needed before ParseConfAndSpec in case we have
-  # no configurations.
-  help:
-  # If both CONF and SPEC are unset, look for all available configurations by
-  # setting CONF to the empty string.
-  ifeq ($(SPEC), )
-    CONF?=
-  endif
-endif
-
-# ... and then we can include our helper functions
-include $(root_dir)/make/MakeHelpers.gmk
-
-$(eval $(call ParseLogLevel))
-$(eval $(call ParseConfAndSpec))
-
-# Now determine if we have zero, one or several configurations to build.
-ifeq ($(SPEC),)
-  # Since we got past ParseConfAndSpec, we must be building a global target. Do nothing.
-else
-  # In Cygwin, the MAKE variable gets messed up if the make executable is called with
-  # a Windows mixed path (c:/cygwin/bin/make.exe). If that's the case, fix it by removing
-  # the prepended root_dir.
-  ifneq ($(findstring :, $(MAKE)), )
-    MAKE := $(patsubst $(root_dir)%, %, $(MAKE))
-  endif
-
-  # We are potentially building multiple configurations.
-  # First, find out the valid targets
-  # Run the makefile with an arbitrary SPEC using -p -q (quiet dry-run and dump rules) to find
-  # available PHONY targets. Use this list as valid targets to pass on to the repeated calls.
-  all_phony_targets := $(sort $(filter-out $(global_targets), $(strip $(shell \
-      cd $(root_dir)/make && $(MAKE) -f Main.gmk -p -q FRC SPEC=$(firstword $(SPEC)) \
-      -I $(root_dir)/make/common | grep "^.PHONY:" | head -n 1 | cut -d " " -f 2-))))
-
-  # Loop through the configurations and call the main-wrapper for each one. The wrapper
-  # target will execute with a single configuration loaded.
-  $(all_phony_targets):
-	@$(if $(TARGET_RUN),,\
-          $(foreach spec,$(SPEC),\
-            (cd $(root_dir) && $(MAKE) SPEC=$(spec) MAIN_TARGETS="$(call GetRealTarget)" \
-	    $(VERBOSE) VERBOSE=$(VERBOSE) LOG_LEVEL=$(LOG_LEVEL) main-wrapper) &&) true)
-	@echo > /dev/null
-	$(eval TARGET_RUN=true)
-
-  .PHONY: $(all_phony_targets)
-
-  ifneq ($(MAIN_TARGETS), )
-    # The wrapper target was called so we now have a single configuration. Load the spec file
-    # and call the real Main.gmk.
-    include $(SPEC)
-    include $(SRC_ROOT)/make/common/MakeBase.gmk
-
-    ### Clean up from previous run
-    # Remove any build.log from a previous run, if they exist
-    ifneq (,$(BUILD_LOG))
-      ifneq (,$(BUILD_LOG_PREVIOUS))
-        # Rotate old log
-        $(shell $(RM) $(BUILD_LOG_PREVIOUS) 2> /dev/null)
-        $(shell $(MV) $(BUILD_LOG) $(BUILD_LOG_PREVIOUS) 2> /dev/null)
-      else
-        $(shell $(RM) $(BUILD_LOG) 2> /dev/null)
-      endif
-      $(shell $(RM) $(OUTPUT_ROOT)/build-trace-time.log 2> /dev/null)
-    endif
-    # Remove any javac server logs and port files. This
-    # prevents a new make run to reuse the previous servers.
-    ifneq (,$(SJAVAC_SERVER_DIR))
-      $(shell $(MKDIR) -p $(SJAVAC_SERVER_DIR) && $(RM) -rf $(SJAVAC_SERVER_DIR)/*)
-    endif
-
-    # Split out the targets requiring sequential execution. Run these targets separately
-    # from the rest so that the rest may still enjoy full parallel execution.
-    SEQUENTIAL_TARGETS := $(filter dist-clean clean% reconfigure, $(MAIN_TARGETS))
-    PARALLEL_TARGETS := $(filter-out $(SEQUENTIAL_TARGETS), $(MAIN_TARGETS))
-
-    main-wrapper:
-        ifneq ($(SEQUENTIAL_TARGETS), )
-	  (cd $(SRC_ROOT)/make && $(MAKE) -f Main.gmk SPEC=$(SPEC) -j 1 \
-	      $(VERBOSE) VERBOSE=$(VERBOSE) LOG_LEVEL=$(LOG_LEVEL) $(SEQUENTIAL_TARGETS))
-        endif
-        ifneq ($(PARALLEL_TARGETS), )
-	  @$(call AtMakeStart)
-	  (cd $(SRC_ROOT)/make && $(BUILD_LOG_WRAPPER) $(MAKE) -f Main.gmk SPEC=$(SPEC) -j $(JOBS) \
-	      $(VERBOSE) VERBOSE=$(VERBOSE) LOG_LEVEL=$(LOG_LEVEL) $(PARALLEL_TARGETS) \
-	      $(if $(filter true, $(OUTPUT_SYNC_SUPPORTED)), -O$(OUTPUT_SYNC)))
-	  @$(call AtMakeEnd)
-        endif
-
-     .PHONY: main-wrapper
-
-   endif
-endif
-
-# Here are "global" targets, i.e. targets that can be executed without specifying a single configuration.
-# If you add more global targets, please update the variable global_targets in MakeHelpers.
-
-# Helper macro to allow $(info) to properly print strings beginning with spaces.
-_:=
-
-help:
-	$(info )
-	$(info OpenJDK Makefile help)
-	$(info =====================)
-	$(info )
-	$(info Common make targets)
-	$(info $(_) make [default]         # Compile all modules in langtools, hotspot, jdk, jaxws,)
-	$(info $(_)                        # jaxp and corba, and create a runnable "exploded" image)
-	$(info $(_) make all               # Compile everything, all repos, docs and images)
-	$(info $(_) make images            # Create complete j2sdk and j2re images)
-	$(info $(_) make <phase>           # Build the specified phase and everything it depends on)
-	$(info $(_)                        # (gensrc, java, copy, libs, launchers, gendata, rmic))
-	$(info $(_) make *-only            # Applies to most targets and disables compling the)
-	$(info $(_)                        # dependencies for the target. This is faster but may)
-	$(info $(_)                        # result in incorrect build results!)
-	$(info $(_) make docs              # Create all docs)
-	$(info $(_) make docs-javadoc      # Create just javadocs, depends on less than full docs)
-	$(info $(_) make profiles          # Create complete j2re compact profile images)
-	$(info $(_) make bootcycle-images  # Build images twice, second time with newly built JDK)
-	$(info $(_) make install           # Install the generated images locally)
-	$(info $(_) make reconfigure       # Rerun configure with the same arguments as last time)
-	$(info $(_) make help              # Give some help on using make)
-	$(info $(_) make test              # Run tests, default is all tests (see TEST below))
-	$(info )
-	$(info Targets for cleaning)
-	$(info $(_) make clean             # Remove all files generated by make, but not those)
-	$(info $(_)                        # generated by configure)
-	$(info $(_) make dist-clean        # Remove all files, including configuration)
-	$(info $(_) make clean-<outputdir> # Remove the subdir in the output dir with the name)
-	$(info $(_) make clean-<phase>     # Remove all build results related to a certain build)
-	$(info $(_)                        # phase (gensrc, java, libs, launchers))
-	$(info $(_) make clean-<module>    # Remove all build results related to a certain module)
-	$(info $(_) make clean-<module>-<phase> # Remove all build results related to a certain)
-	$(info $(_)                        # module and phase)
-	$(info )
-	$(info Targets for specific modules)
-	$(info $(_) make <module>          # Build <module> and everything it depends on.)
-	$(info $(_) make <module>-<phase>  # Compile the specified phase for the specified module)
-	$(info $(_)                        # and everything it depends on)
-	$(info $(_)                        # (gensrc, java, copy, libs, launchers, gendata, rmic))
-	$(info )
-	$(info Make control variables)
-	$(info $(_) CONF=                  # Build all configurations (note, assignment is empty))
-	$(info $(_) CONF=<substring>       # Build the configuration(s) with a name matching)
-	$(info $(_)                        # <substring>)
-	$(info $(_) SPEC=<spec file>       # Build the configuration given by the spec file)
-	$(info $(_) LOG=<loglevel>         # Change the log level from warn to <loglevel>)
-	$(info $(_)                        # Available log levels are:)
-	$(info $(_)                        # 'warn' (default), 'info', 'debug' and 'trace')
-	$(info $(_)                        # To see executed command lines, use LOG=debug)
-	$(info $(_) JOBS=<n>               # Run <n> parallel make jobs)
-	$(info $(_)                        # Note that -jN does not work as expected!)
-	$(info $(_) IGNORE_OLD_CONFIG=true # Skip tests if spec file is up to date)
-	$(info $(_) make test TEST=<test>  # Only run the given test or tests, e.g.)
-	$(info $(_)                        # make test TEST="jdk_lang jdk_net")
-	$(info )
-
-.PHONY: help
+# ... and then we can include the real makefile
+include $(topdir)/make/Init.gmk
--- a/common/autoconf/basics.m4	Tue Apr 14 14:47:40 2015 +0400
+++ b/common/autoconf/basics.m4	Tue Apr 14 12:10:01 2015 -0700
@@ -78,7 +78,7 @@
 AC_DEFUN([BASIC_FIXUP_PATH],
 [
   # Only process if variable expands to non-empty
-  
+
   if test "x[$]$1" != x; then
     if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
       BASIC_FIXUP_PATH_CYGWIN($1)
@@ -118,7 +118,7 @@
 AC_DEFUN([BASIC_FIXUP_EXECUTABLE],
 [
   # Only process if variable expands to non-empty
-  
+
   if test "x[$]$1" != x; then
     if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
       BASIC_FIXUP_EXECUTABLE_CYGWIN($1)
@@ -459,12 +459,21 @@
   AC_MSG_RESULT([$TOPDIR])
   AC_SUBST(TOPDIR)
 
+  # Save the original version of TOPDIR for string comparisons
+  ORIGINAL_TOPDIR="$TOPDIR"
+  AC_SUBST(ORIGINAL_TOPDIR)
+
   # We can only call BASIC_FIXUP_PATH after BASIC_CHECK_PATHS_WINDOWS.
   BASIC_FIXUP_PATH(CURDIR)
   BASIC_FIXUP_PATH(TOPDIR)
   # SRC_ROOT is a traditional alias for TOPDIR.
   SRC_ROOT=$TOPDIR
 
+  # Calculate a canonical version of TOPDIR for string comparisons
+  CANONICAL_TOPDIR=$TOPDIR
+  BASIC_REMOVE_SYMBOLIC_LINKS([CANONICAL_TOPDIR])
+  AC_SUBST(CANONICAL_TOPDIR)
+
   # Locate the directory of this script.
   AUTOCONF_DIR=$TOPDIR/common/autoconf
 ])
@@ -649,6 +658,8 @@
     fi
     OUTPUT_ROOT="$SRC_ROOT/build/${CONF_NAME}"
     $MKDIR -p "$OUTPUT_ROOT"
+    CONFIGURESUPPORT_OUTPUTDIR="$OUTPUT_ROOT/configure-support"
+    $MKDIR -p "$CONFIGURESUPPORT_OUTPUTDIR"
     if test ! -d "$OUTPUT_ROOT"; then
       AC_MSG_ERROR([Could not create build directory $OUTPUT_ROOT])
     fi
@@ -694,6 +705,7 @@
   AC_SUBST(SPEC, $OUTPUT_ROOT/spec.gmk)
   AC_SUBST(CONF_NAME, $CONF_NAME)
   AC_SUBST(OUTPUT_ROOT, $OUTPUT_ROOT)
+  AC_SUBST(CONFIGURESUPPORT_OUTPUTDIR)
 
   # The spec.gmk file contains all variables for the make system.
   AC_CONFIG_FILES([$OUTPUT_ROOT/spec.gmk:$AUTOCONF_DIR/spec.gmk.in])
@@ -709,18 +721,6 @@
   AC_CONFIG_FILES([$OUTPUT_ROOT/Makefile:$AUTOCONF_DIR/Makefile.in])
 ])
 
-AC_DEFUN_ONCE([BASIC_SETUP_LOGGING],
-[
-  # Setup default logging of stdout and stderr to build.log in the output root.
-  BUILD_LOG='$(OUTPUT_ROOT)/build.log'
-  BUILD_LOG_PREVIOUS='$(OUTPUT_ROOT)/build.log.old'
-  BUILD_LOG_WRAPPER='$(BASH) $(SRC_ROOT)/common/bin/logger.sh $(BUILD_LOG)'
-  AC_SUBST(BUILD_LOG)
-  AC_SUBST(BUILD_LOG_PREVIOUS)
-  AC_SUBST(BUILD_LOG_WRAPPER)
-])
-
-
 #%%% Simple tools %%%
 
 # Check if we have found a usable version of make
--- a/common/autoconf/basics_windows.m4	Tue Apr 14 14:47:40 2015 +0400
+++ b/common/autoconf/basics_windows.m4	Tue Apr 14 12:10:01 2015 -0700
@@ -383,45 +383,46 @@
   if test "x$OPENJDK_BUILD_OS" = xwindows; then
     AC_MSG_CHECKING([if fixpath can be created])
     FIXPATH_SRC="$SRC_ROOT/common/src/fixpath.c"
-    FIXPATH_BIN="$OUTPUT_ROOT/fixpath.exe"
+    FIXPATH_BIN="$CONFIGURESUPPORT_OUTPUTDIR/bin/fixpath.exe"
+    FIXPATH_DIR="$CONFIGURESUPPORT_OUTPUTDIR/fixpath"
     if test "x$OPENJDK_BUILD_OS_ENV" = xwindows.cygwin; then
-      FIXPATH_SRC=`$CYGPATH -m $FIXPATH_SRC`
-      FIXPATH_BIN=`$CYGPATH -m $FIXPATH_BIN`
       # Important to keep the .exe suffix on Cygwin for Hotspot makefiles
-      FIXPATH="$OUTPUT_ROOT/fixpath.exe -c"
+      FIXPATH="$FIXPATH_BIN -c"
     elif test "x$OPENJDK_BUILD_OS_ENV" = xwindows.msys; then
-      FIXPATH_SRC=`cmd //c echo $FIXPATH_SRC`
-      FIXPATH_BIN=`cmd //c echo $FIXPATH_BIN`
-
       # Take all collected prefixes and turn them into a -m/c/foo@/c/bar@... command line
       # @ was chosen as separator to minimize risk of other tools messing around with it
-      all_unique_prefixes=`echo "${all_fixpath_prefixes@<:@@@:>@}" | tr ' ' '\n' | grep '^/./' | sort | uniq`
+      all_unique_prefixes=`echo "${all_fixpath_prefixes@<:@@@:>@}" \
+          | tr ' ' '\n' | grep '^/./' | sort | uniq`
       fixpath_argument_list=`echo $all_unique_prefixes  | tr ' ' '@'`
-
-      FIXPATH="$OUTPUT_ROOT/fixpath -m$fixpath_argument_list"
+      FIXPATH="$FIXPATH_BIN -m$fixpath_argument_list"
     fi
-    rm -f $OUTPUT_ROOT/fixpath*
-    cd $OUTPUT_ROOT
-    $CC $FIXPATH_SRC -Fe$FIXPATH_BIN > $OUTPUT_ROOT/fixpath1.log 2>&1
+    FIXPATH_SRC_W="$FIXPATH_SRC"
+    FIXPATH_BIN_W="$FIXPATH_BIN"
+    BASIC_WINDOWS_REWRITE_AS_WINDOWS_MIXED_PATH([FIXPATH_SRC_W])
+    BASIC_WINDOWS_REWRITE_AS_WINDOWS_MIXED_PATH([FIXPATH_BIN_W])
+    $RM -rf $FIXPATH_BIN $FIXPATH_DIR
+    $MKDIR -p $FIXPATH_DIR $CONFIGURESUPPORT_OUTPUTDIR/bin
+    cd $FIXPATH_DIR
+    $CC $FIXPATH_SRC_W -Fe$FIXPATH_BIN_W > $FIXPATH_DIR/fixpath1.log 2>&1
     cd $CURDIR
 
-    if test ! -x $OUTPUT_ROOT/fixpath.exe; then
+    if test ! -x $FIXPATH_BIN; then
       AC_MSG_RESULT([no])
-      cat $OUTPUT_ROOT/fixpath1.log
-      AC_MSG_ERROR([Could not create $OUTPUT_ROOT/fixpath.exe])
+      cat $FIXPATH_DIR/fixpath1.log
+      AC_MSG_ERROR([Could not create $FIXPATH_BIN])
     fi
     AC_MSG_RESULT([yes])
     AC_MSG_CHECKING([if fixpath.exe works])
-    cd $OUTPUT_ROOT
-    $FIXPATH $CC $SRC_ROOT/common/src/fixpath.c -Fe$OUTPUT_ROOT/fixpath2.exe > $OUTPUT_ROOT/fixpath2.log 2>&1
+    cd $FIXPATH_DIR
+    $FIXPATH $CC $FIXPATH_SRC -Fe$FIXPATH_DIR/fixpath2.exe \
+        > $FIXPATH_DIR/fixpath2.log 2>&1
     cd $CURDIR
-    if test ! -x $OUTPUT_ROOT/fixpath2.exe; then
+    if test ! -x $FIXPATH_DIR/fixpath2.exe; then
       AC_MSG_RESULT([no])
-      cat $OUTPUT_ROOT/fixpath2.log
+      cat $FIXPATH_DIR/fixpath2.log
       AC_MSG_ERROR([fixpath did not work!])
     fi
     AC_MSG_RESULT([yes])
-    rm -f $OUTPUT_ROOT/fixpath?.??? $OUTPUT_ROOT/fixpath.obj
   fi
 
   AC_SUBST(FIXPATH)
--- a/common/autoconf/build-performance.m4	Tue Apr 14 14:47:40 2015 +0400
+++ b/common/autoconf/build-performance.m4	Tue Apr 14 12:10:01 2015 -0700
@@ -336,11 +336,4 @@
   AC_MSG_CHECKING([whether to use sjavac])
   AC_MSG_RESULT([$ENABLE_SJAVAC])
   AC_SUBST(ENABLE_SJAVAC)
-
-  if test "x$ENABLE_SJAVAC" = xyes; then
-    SJAVAC_SERVER_DIR="$OUTPUT_ROOT/javacservers"
-  else
-    SJAVAC_SERVER_DIR=
-  fi
-  AC_SUBST(SJAVAC_SERVER_DIR)
 ])
--- a/common/autoconf/configure.ac	Tue Apr 14 14:47:40 2015 +0400
+++ b/common/autoconf/configure.ac	Tue Apr 14 12:10:01 2015 -0700
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2015, 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
@@ -88,7 +88,6 @@
 
 # Continue setting up basic stuff. Most remaining code require fundamental tools.
 BASIC_SETUP_PATHS
-BASIC_SETUP_LOGGING
 
 # Check if it's a pure open build or if custom sources are to be used.
 JDKOPT_SETUP_OPEN_OR_CUSTOM
@@ -262,7 +261,7 @@
 
 # We're messing a bit with internal autoconf variables to put the config.status
 # in the output directory instead of the current directory.
-CONFIG_STATUS="$OUTPUT_ROOT/config.status"
+CONFIG_STATUS="$CONFIGURESUPPORT_OUTPUTDIR/config.status"
 
 # Create the actual output files. Now the main work of configure is done.
 AC_OUTPUT
@@ -270,7 +269,7 @@
 
 # Try to move the config.log file to the output directory.
 if test -e ./config.log; then
-  $MV -f ./config.log "$OUTPUT_ROOT/config.log" 2> /dev/null
+  $MV -f ./config.log "$CONFIGURESUPPORT_OUTPUTDIR/config.log" 2> /dev/null
 fi
 
 # Make the compare script executable
--- a/common/autoconf/generated-configure.sh	Tue Apr 14 14:47:40 2015 +0400
+++ b/common/autoconf/generated-configure.sh	Tue Apr 14 12:10:01 2015 -0700
@@ -632,7 +632,6 @@
 CFLAGS_CCACHE
 CCACHE
 USE_PRECOMPILED_HEADER
-SJAVAC_SERVER_DIR
 ENABLE_SJAVAC
 SJAVAC_SERVER_JAVA_FLAGS
 SJAVAC_SERVER_JAVA
@@ -884,6 +883,7 @@
 CHECK_MAKE
 CHECK_GMAKE
 PKGHANDLER
+CONFIGURESUPPORT_OUTPUTDIR
 OUTPUT_ROOT
 CONF_NAME
 SPEC
@@ -907,9 +907,8 @@
 JVM_INTERPRETER
 JDK_VARIANT
 SET_OPENJDK
-BUILD_LOG_WRAPPER
-BUILD_LOG_PREVIOUS
-BUILD_LOG
+CANONICAL_TOPDIR
+ORIGINAL_TOPDIR
 TOPDIR
 PATH_SEP
 ZERO_ARCHDEF
@@ -3471,9 +3470,6 @@
 
 
 
-
-
-
 #%%% Simple tools %%%
 
 # Check if we have found a usable version of make
@@ -4369,7 +4365,7 @@
 #CUSTOM_AUTOCONF_INCLUDE
 
 # Do not change or remove the following line, it is needed for consistency checks:
-DATE_WHEN_GENERATED=1428017006
+DATE_WHEN_GENERATED=1428676283
 
 ###############################################################################
 #
@@ -14141,6 +14137,10 @@
 $as_echo "$TOPDIR" >&6; }
 
 
+  # Save the original version of TOPDIR for string comparisons
+  ORIGINAL_TOPDIR="$TOPDIR"
+
+
   # We can only call BASIC_FIXUP_PATH after BASIC_CHECK_PATHS_WINDOWS.
 
   # Only process if variable expands to non-empty
@@ -14397,19 +14397,62 @@
   # SRC_ROOT is a traditional alias for TOPDIR.
   SRC_ROOT=$TOPDIR
 
+  # Calculate a canonical version of TOPDIR for string comparisons
+  CANONICAL_TOPDIR=$TOPDIR
+
+  if test "x$OPENJDK_BUILD_OS" != xwindows; then
+    # Follow a chain of symbolic links. Use readlink
+    # where it exists, else fall back to horribly
+    # complicated shell code.
+    if test "x$READLINK_TESTED" != yes; then
+      # On MacOSX there is a readlink tool with a different
+      # purpose than the GNU readlink tool. Check the found readlink.
+      ISGNU=`$READLINK --version 2>&1 | $GREP GNU`
+      if test "x$ISGNU" = x; then
+        # A readlink that we do not know how to use.
+        # Are there other non-GNU readlinks out there?
+        READLINK_TESTED=yes
+        READLINK=
+      fi
+    fi
+
+    if test "x$READLINK" != x; then
+      CANONICAL_TOPDIR=`$READLINK -f $CANONICAL_TOPDIR`
+    else
+      # Save the current directory for restoring afterwards
+      STARTDIR=$PWD
+      COUNTER=0
+      sym_link_dir=`$DIRNAME $CANONICAL_TOPDIR`
+      sym_link_file=`$BASENAME $CANONICAL_TOPDIR`
+      cd $sym_link_dir
+      # Use -P flag to resolve symlinks in directories.
+      cd `$THEPWDCMD -P`
+      sym_link_dir=`$THEPWDCMD -P`
+      # Resolve file symlinks
+      while test $COUNTER -lt 20; do
+        ISLINK=`$LS -l $sym_link_dir/$sym_link_file | $GREP '\->' | $SED -e 's/.*-> \(.*\)/\1/'`
+        if test "x$ISLINK" == x; then
+          # This is not a symbolic link! We are done!
+          break
+        fi
+        # Again resolve directory symlinks since the target of the just found
+        # link could be in a different directory
+        cd `$DIRNAME $ISLINK`
+        sym_link_dir=`$THEPWDCMD -P`
+        sym_link_file=`$BASENAME $ISLINK`
+        let COUNTER=COUNTER+1
+      done
+      cd $STARTDIR
+      CANONICAL_TOPDIR=$sym_link_dir/$sym_link_file
+    fi
+  fi
+
+
+
   # Locate the directory of this script.
   AUTOCONF_DIR=$TOPDIR/common/autoconf
 
 
-  # Setup default logging of stdout and stderr to build.log in the output root.
-  BUILD_LOG='$(OUTPUT_ROOT)/build.log'
-  BUILD_LOG_PREVIOUS='$(OUTPUT_ROOT)/build.log.old'
-  BUILD_LOG_WRAPPER='$(BASH) $(SRC_ROOT)/common/bin/logger.sh $(BUILD_LOG)'
-
-
-
-
-
 # Check if it's a pure open build or if custom sources are to be used.
 
   # Check whether --enable-openjdk-only was given.
@@ -15223,6 +15266,8 @@
     fi
     OUTPUT_ROOT="$SRC_ROOT/build/${CONF_NAME}"
     $MKDIR -p "$OUTPUT_ROOT"
+    CONFIGURESUPPORT_OUTPUTDIR="$OUTPUT_ROOT/configure-support"
+    $MKDIR -p "$CONFIGURESUPPORT_OUTPUTDIR"
     if test ! -d "$OUTPUT_ROOT"; then
       as_fn_error $? "Could not create build directory $OUTPUT_ROOT" "$LINENO" 5
     fi
@@ -15407,6 +15452,7 @@
   OUTPUT_ROOT=$OUTPUT_ROOT
 
 
+
   # The spec.gmk file contains all variables for the make system.
   ac_config_files="$ac_config_files $OUTPUT_ROOT/spec.gmk:$AUTOCONF_DIR/spec.gmk.in"
 
@@ -27579,7 +27625,7 @@
 $as_echo "$as_me: Trying to extract Visual Studio environment variables" >&6;}
 
     # We need to create a couple of temporary files.
-    VS_ENV_TMP_DIR="$OUTPUT_ROOT/vs-env"
+    VS_ENV_TMP_DIR="$CONFIGURESUPPORT_OUTPUTDIR/vs-env"
     $MKDIR -p $VS_ENV_TMP_DIR
 
     # Cannot use the VS10 setup script directly (since it only updates the DOS subshell environment).
@@ -43093,50 +43139,69 @@
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking if fixpath can be created" >&5
 $as_echo_n "checking if fixpath can be created... " >&6; }
     FIXPATH_SRC="$SRC_ROOT/common/src/fixpath.c"
-    FIXPATH_BIN="$OUTPUT_ROOT/fixpath.exe"
+    FIXPATH_BIN="$CONFIGURESUPPORT_OUTPUTDIR/bin/fixpath.exe"
+    FIXPATH_DIR="$CONFIGURESUPPORT_OUTPUTDIR/fixpath"
     if test "x$OPENJDK_BUILD_OS_ENV" = xwindows.cygwin; then
-      FIXPATH_SRC=`$CYGPATH -m $FIXPATH_SRC`
-      FIXPATH_BIN=`$CYGPATH -m $FIXPATH_BIN`
       # Important to keep the .exe suffix on Cygwin for Hotspot makefiles
-      FIXPATH="$OUTPUT_ROOT/fixpath.exe -c"
+      FIXPATH="$FIXPATH_BIN -c"
     elif test "x$OPENJDK_BUILD_OS_ENV" = xwindows.msys; then
-      FIXPATH_SRC=`cmd //c echo $FIXPATH_SRC`
-      FIXPATH_BIN=`cmd //c echo $FIXPATH_BIN`
-
       # Take all collected prefixes and turn them into a -m/c/foo@/c/bar@... command line
       # @ was chosen as separator to minimize risk of other tools messing around with it
-      all_unique_prefixes=`echo "${all_fixpath_prefixes[@]}" | tr ' ' '\n' | grep '^/./' | sort | uniq`
+      all_unique_prefixes=`echo "${all_fixpath_prefixes[@]}" \
+          | tr ' ' '\n' | grep '^/./' | sort | uniq`
       fixpath_argument_list=`echo $all_unique_prefixes  | tr ' ' '@'`
-
-      FIXPATH="$OUTPUT_ROOT/fixpath -m$fixpath_argument_list"
-    fi
-    rm -f $OUTPUT_ROOT/fixpath*
-    cd $OUTPUT_ROOT
-    $CC $FIXPATH_SRC -Fe$FIXPATH_BIN > $OUTPUT_ROOT/fixpath1.log 2>&1
+      FIXPATH="$FIXPATH_BIN -m$fixpath_argument_list"
+    fi
+    FIXPATH_SRC_W="$FIXPATH_SRC"
+    FIXPATH_BIN_W="$FIXPATH_BIN"
+
+  unix_path="$FIXPATH_SRC_W"
+  if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
+    windows_path=`$CYGPATH -m "$unix_path"`
+    FIXPATH_SRC_W="$windows_path"
+  elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
+    windows_path=`cmd //c echo $unix_path`
+    FIXPATH_SRC_W="$windows_path"
+  fi
+
+
+  unix_path="$FIXPATH_BIN_W"
+  if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
+    windows_path=`$CYGPATH -m "$unix_path"`
+    FIXPATH_BIN_W="$windows_path"
+  elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
+    windows_path=`cmd //c echo $unix_path`
+    FIXPATH_BIN_W="$windows_path"
+  fi
+
+    $RM -rf $FIXPATH_BIN $FIXPATH_DIR
+    $MKDIR -p $FIXPATH_DIR $CONFIGURESUPPORT_OUTPUTDIR/bin
+    cd $FIXPATH_DIR
+    $CC $FIXPATH_SRC_W -Fe$FIXPATH_BIN_W > $FIXPATH_DIR/fixpath1.log 2>&1
     cd $CURDIR
 
-    if test ! -x $OUTPUT_ROOT/fixpath.exe; then
+    if test ! -x $FIXPATH_BIN; then
       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
-      cat $OUTPUT_ROOT/fixpath1.log
-      as_fn_error $? "Could not create $OUTPUT_ROOT/fixpath.exe" "$LINENO" 5
+      cat $FIXPATH_DIR/fixpath1.log
+      as_fn_error $? "Could not create $FIXPATH_BIN" "$LINENO" 5
     fi
     { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking if fixpath.exe works" >&5
 $as_echo_n "checking if fixpath.exe works... " >&6; }
-    cd $OUTPUT_ROOT
-    $FIXPATH $CC $SRC_ROOT/common/src/fixpath.c -Fe$OUTPUT_ROOT/fixpath2.exe > $OUTPUT_ROOT/fixpath2.log 2>&1
+    cd $FIXPATH_DIR
+    $FIXPATH $CC $FIXPATH_SRC -Fe$FIXPATH_DIR/fixpath2.exe \
+        > $FIXPATH_DIR/fixpath2.log 2>&1
     cd $CURDIR
-    if test ! -x $OUTPUT_ROOT/fixpath2.exe; then
+    if test ! -x $FIXPATH_DIR/fixpath2.exe; then
       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
-      cat $OUTPUT_ROOT/fixpath2.log
+      cat $FIXPATH_DIR/fixpath2.log
       as_fn_error $? "fixpath did not work!" "$LINENO" 5
     fi
     { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
-    rm -f $OUTPUT_ROOT/fixpath?.??? $OUTPUT_ROOT/fixpath.obj
   fi
 
 
@@ -51372,13 +51437,6 @@
 $as_echo "$ENABLE_SJAVAC" >&6; }
 
 
-  if test "x$ENABLE_SJAVAC" = xyes; then
-    SJAVAC_SERVER_DIR="$OUTPUT_ROOT/javacservers"
-  else
-    SJAVAC_SERVER_DIR=
-  fi
-
-
 
 # Can the C/C++ compiler use precompiled headers?
 
@@ -51806,7 +51864,7 @@
 
 # We're messing a bit with internal autoconf variables to put the config.status
 # in the output directory instead of the current directory.
-CONFIG_STATUS="$OUTPUT_ROOT/config.status"
+CONFIG_STATUS="$CONFIGURESUPPORT_OUTPUTDIR/config.status"
 
 # Create the actual output files. Now the main work of configure is done.
 cat >confcache <<\_ACEOF
@@ -52974,7 +53032,7 @@
 
 # Try to move the config.log file to the output directory.
 if test -e ./config.log; then
-  $MV -f ./config.log "$OUTPUT_ROOT/config.log" 2> /dev/null
+  $MV -f ./config.log "$CONFIGURESUPPORT_OUTPUTDIR/config.log" 2> /dev/null
 fi
 
 # Make the compare script executable
--- a/common/autoconf/spec.gmk.in	Tue Apr 14 14:47:40 2015 +0400
+++ b/common/autoconf/spec.gmk.in	Tue Apr 14 12:10:01 2015 -0700
@@ -55,25 +55,12 @@
 # A self-referential reference to this file.
 SPEC:=@SPEC@
 
-# Specify where the spec file is.
-MAKE_ARGS="SPEC=$(SPEC)"
+# What make to use for main processing, after bootstrapping top-level Makefile.
+MAKE := @MAKE@
 
-MAKE:=@MAKE@
-
-# Pass along the verbosity and log level settings.
-ifeq (,$(findstring VERBOSE=,$(MAKE)))
-  MAKE:=$(MAKE) $(VERBOSE) VERBOSE="$(VERBOSE)" LOG_LEVEL="$(LOG_LEVEL)"
-endif
-
-# No implicit variables or rules!
-ifeq (,$(findstring -R,$(MAKE)))
-  MAKE:=$(MAKE) -R
-endif
-
-# Specify where the common include directory for makefiles is.
-ifeq (,$(findstring -I @TOPDIR@/make/common,$(MAKE)))
-  MAKE:=$(MAKE) -I @TOPDIR@/make/common
-endif
+# The default make arguments
+MAKE_ARGS = $(MAKE_LOG_FLAGS) -r -R -I $(TOPDIR)/make/common SPEC=$(SPEC) \
+    MAKE_LOG_FLAGS="$(MAKE_LOG_FLAGS)" LOG_LEVEL=$(LOG_LEVEL)
 
 OUTPUT_SYNC_SUPPORTED:=@OUTPUT_SYNC_SUPPORTED@
 OUTPUT_SYNC:=@OUTPUT_SYNC@
@@ -146,6 +133,9 @@
 
 # The top-level directory of the forest (SRC_ROOT is a traditional alias)
 TOPDIR:=@TOPDIR@
+# These two versions of TOPDIR are used in string comparisons
+ORIGINAL_TOPDIR:=@ORIGINAL_TOPDIR@
+CANONICAL_TOPDIR:=@CANONICAL_TOPDIR@
 SRC_ROOT:=@TOPDIR@
 
 OUTPUT_ROOT:=@OUTPUT_ROOT@
@@ -241,13 +231,14 @@
 # Colon left out to be able to override IMAGES_OUTPUTDIR for bootcycle-images
 SUPPORT_OUTPUTDIR=$(BUILD_OUTPUT)/support
 BUILDTOOLS_OUTPUTDIR=$(BUILD_OUTPUT)/buildtools
-MAKESUPPORT_OUTPUTDIR=$(BUILD_OUTPUT)/makesupport
 
 HOTSPOT_OUTPUTDIR=$(BUILD_OUTPUT)/hotspot
 JDK_OUTPUTDIR=$(BUILD_OUTPUT)/jdk
 IMAGES_OUTPUTDIR=$(BUILD_OUTPUT)/images
 TESTMAKE_OUTPUTDIR=$(BUILD_OUTPUT)/test-make
 MAKESUPPORT_OUTPUTDIR=$(BUILD_OUTPUT)/make-support
+# This does not get overridden in a bootcycle build
+CONFIGURESUPPORT_OUTPUTDIR:=@CONFIGURESUPPORT_OUTPUTDIR@
 
 HOTSPOT_DIST=@HOTSPOT_DIST@
 
@@ -269,7 +260,7 @@
 ENABLE_SJAVAC:=@ENABLE_SJAVAC@
 # Store sjavac server synchronization files here, and
 # the sjavac server log files.
-SJAVAC_SERVER_DIR:=@SJAVAC_SERVER_DIR@
+SJAVAC_SERVER_DIR=$(MAKESUPPORT_OUTPUTDIR)/javacservers
 
 # Number of parallel jobs to use for compilation
 JOBS?=@JOBS@
@@ -573,18 +564,6 @@
 XCODEBUILD=@XCODEBUILD@
 FIXPATH:=@FIXPATH@
 
-# Where the build output is stored for your convenience.
-BUILD_LOG:=@BUILD_LOG@
-BUILD_LOG_PREVIOUS:=@BUILD_LOG_PREVIOUS@
-# Disable the build log wrapper on sjavac+windows until
-# we have solved how to prevent the log wrapper to wait
-# for the background sjavac server process.
-ifeq (@ENABLE_SJAVAC@X@OPENJDK_BUILD_OS@,yesXwindows)
-  BUILD_LOG_WRAPPER:=
-else
-  BUILD_LOG_WRAPPER:=@BUILD_LOG_WRAPPER@
-endif
-
 # Build setup
 ENABLE_JFR=@ENABLE_JFR@
 ENABLE_INTREE_EC=@ENABLE_INTREE_EC@
--- a/common/autoconf/toolchain_windows.m4	Tue Apr 14 14:47:40 2015 +0400
+++ b/common/autoconf/toolchain_windows.m4	Tue Apr 14 12:10:01 2015 -0700
@@ -270,7 +270,7 @@
     AC_MSG_NOTICE([Trying to extract Visual Studio environment variables])
 
     # We need to create a couple of temporary files.
-    VS_ENV_TMP_DIR="$OUTPUT_ROOT/vs-env"
+    VS_ENV_TMP_DIR="$CONFIGURESUPPORT_OUTPUTDIR/vs-env"
     $MKDIR -p $VS_ENV_TMP_DIR
 
     # Cannot use the VS10 setup script directly (since it only updates the DOS subshell environment).
--- a/configure	Tue Apr 14 14:47:40 2015 +0400
+++ b/configure	Tue Apr 14 12:10:01 2015 -0700
@@ -31,4 +31,5 @@
 
 # Delegate to wrapper, forcing wrapper to believe $0 is this script by using -c.
 # This trick is needed to get autoconf to co-operate properly.
-bash -c ". $this_script_dir/common/autoconf/configure" $this_script_dir/configure CHECKME $this_script_dir "$@"
+# The ${-:+-$-} construction passes on bash options.
+bash ${-:+-$-} -c ". $this_script_dir/common/autoconf/configure" $this_script_dir/configure CHECKME $this_script_dir "$@"
--- a/corba/.hgtags	Tue Apr 14 14:47:40 2015 +0400
+++ b/corba/.hgtags	Tue Apr 14 12:10:01 2015 -0700
@@ -300,3 +300,5 @@
 734ca5311a225711b79618f3e92f47f07c82154a jdk9-b55
 ef4afd6832b00b8687832c2a36c90e43750ebe40 jdk9-b56
 d8ebf1a5b18ccbc849f5bf0f80aa3d78583eee68 jdk9-b57
+86dd5de1f5cb09073019bd629e22cfcd012d8b4b jdk9-b58
+cda6ae062f85fac5555f4e1318885b0ecd998bd1 jdk9-b59
--- a/corba/src/java.corba/share/classes/javax/activity/package.html	Tue Apr 14 14:47:40 2015 +0400
+++ b/corba/src/java.corba/share/classes/javax/activity/package.html	Tue Apr 14 12:10:01 2015 -0700
@@ -2,7 +2,7 @@
 <html>
 <head>
 <!--
-Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
+Copyright (c) 2004, 2015, 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,7 +30,7 @@
 <body bgcolor="white">
 Contains Activity service related exceptions thrown by the ORB machinery during
 unmarshalling.
-<p>
+
 @since 1.5
 </body>
 </html>
--- a/corba/src/java.corba/share/classes/javax/rmi/CORBA/Util.java	Tue Apr 14 14:47:40 2015 +0400
+++ b/corba/src/java.corba/share/classes/javax/rmi/CORBA/Util.java	Tue Apr 14 12:10:01 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2015, 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
@@ -232,6 +232,8 @@
      * and <tt>loader</tt> is non-null, then call <tt>loader.loadClass(className)</tt>.
      * <LI>If a class was successfully loaded by step 1, 2, 3, or 4, then
      *  return the loaded class, else throw <tt>ClassNotFoundException</tt>.
+     * </UL>
+     *
      * @param className the name of the class.
      * @param remoteCodebase a space-separated list of URLs at which
      * the class might be found. May be null.
--- a/corba/src/java.corba/share/classes/org/omg/CORBA/Any.java	Tue Apr 14 14:47:40 2015 +0400
+++ b/corba/src/java.corba/share/classes/org/omg/CORBA/Any.java	Tue Apr 14 12:10:01 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2015, 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,21 +52,21 @@
  * </OL>
  *
  * <P>
- * <a name="anyOps"</a>
+ * <a name="anyOps"></a>
  * A large part of the <code>Any</code> class consists of pairs of methods
  * for inserting values into and extracting values from an
  * <code>Any</code> object.
  * <P>
  * For a given primitive type X, these methods are:
  *  <dl>
- *      <dt><code><bold> void insert_X(X x)</bold></code>
+ *      <dt><code><b>void insert_X(X x)</b></code>
  *      <dd> This method allows the insertion of
  *        an instance <code>x</code> of primitive type <code>X</code>
  *    into the <code>value</code> field of the <code>Any</code> object.
  *    Note that the method
  *    <code>insert_X</code> also resets the <code>Any</code> object's
  *    <code>type</code> field if necessary.
- *      <dt> <code><bold>X extract_X()</bold></code>
+ *      <dt> <code><b>X extract_X()</b></code>
  *      <dd> This method allows the extraction of an instance of
  *        type <code>X</code> from the <code>Any</code> object.
  *    <BR>
--- a/corba/src/java.corba/share/classes/org/omg/CORBA/CompletionStatus.java	Tue Apr 14 14:47:40 2015 +0400
+++ b/corba/src/java.corba/share/classes/org/omg/CORBA/CompletionStatus.java	Tue Apr 14 12:10:01 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 2000, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2015, 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
@@ -40,10 +40,10 @@
  * <P>
  * The class also contains two methods:
  * <UL>
- * <LI><code>public int <bold>value</bold>()</code> -- which accesses the
+ * <LI><code>public int <b>value</b>()</code> -- which accesses the
  * <code>value</code> field of a <code>CompletionStatus</code> object
  * <LI><code>public static CompletionStatus
- * <bold>from_int</bold>(int i)</code> --
+ * <b>from_int</b>(int i)</code> --
  * for creating an instance from one of the <code>int</code> members
  * </UL>
  * @see     org.omg.CORBA.SystemException
--- a/corba/src/java.corba/share/classes/org/omg/CORBA/DataInputStream.java	Tue Apr 14 14:47:40 2015 +0400
+++ b/corba/src/java.corba/share/classes/org/omg/CORBA/DataInputStream.java	Tue Apr 14 12:10:01 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 1999, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2015, 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
@@ -35,7 +35,7 @@
 {
     /** Reads an IDL <code>Any</code> value from the input stream.
     * @return  the <code>Any</code> read.
-    * @throws <code>org.omg.CORBA.MARSHAL</code>
+    * @throws org.omg.CORBA.MARSHAL
     * If an inconsistency is detected, including not having registered
     * a streaming policy, then the standard system exception MARSHAL is raised.
     */
@@ -43,7 +43,7 @@
 
     /** Reads an IDL boolean value from the input stream.
     * @return  the boolean read.
-    * @throws <code>org.omg.CORBA.MARSHAL</code>
+    * @throws org.omg.CORBA.MARSHAL
     * If an inconsistency is detected, including not having registered
     * a streaming policy, then the standard system exception MARSHAL is raised.
     */
@@ -51,7 +51,7 @@
 
     /** Reads an IDL character value from the input stream.
     * @return  the character read.
-    * @throws <code>org.omg.CORBA.MARSHAL</code>
+    * @throws org.omg.CORBA.MARSHAL
     * If an inconsistency is detected, including not having registered
     * a streaming policy, then the standard system exception MARSHAL is raised.
     */
@@ -59,7 +59,7 @@
 
     /** Reads an IDL wide character value from the input stream.
     * @return  the wide character read.
-    * @throws <code>org.omg.CORBA.MARSHAL</code>
+    * @throws org.omg.CORBA.MARSHAL
     * If an inconsistency is detected, including not having registered
     * a streaming policy, then the standard system exception MARSHAL is raised.
     */
@@ -67,7 +67,7 @@
 
     /** Reads an IDL octet value from the input stream.
     * @return  the octet value read.
-    * @throws <code>org.omg.CORBA.MARSHAL</code>
+    * @throws org.omg.CORBA.MARSHAL
     * If an inconsistency is detected, including not having registered
     * a streaming policy, then the standard system exception MARSHAL is raised.
     */
@@ -75,7 +75,7 @@
 
     /** Reads an IDL short from the input stream.
     * @return  the short read.
-    * @throws <code>org.omg.CORBA.MARSHAL</code>
+    * @throws org.omg.CORBA.MARSHAL
     * If an inconsistency is detected, including not having registered
     * a streaming policy, then the standard system exception MARSHAL is raised.
     */
@@ -83,7 +83,7 @@
 
     /** Reads an IDL unsigned short from the input stream.
     * @return  the unsigned short read.
-    * @throws <code>org.omg.CORBA.MARSHAL</code>
+    * @throws org.omg.CORBA.MARSHAL
     * If an inconsistency is detected, including not having registered
     * a streaming policy, then the standard system exception MARSHAL is raised.
     */
@@ -91,7 +91,7 @@
 
     /** Reads an IDL long from the input stream.
     * @return  the long read.
-    * @throws <code>org.omg.CORBA.MARSHAL</code>
+    * @throws org.omg.CORBA.MARSHAL
     * If an inconsistency is detected, including not having registered
     * a streaming policy, then the standard system exception MARSHAL is raised.
     */
@@ -99,7 +99,7 @@
 
     /** Reads an IDL unsigned long from the input stream.
     * @return  the unsigned long read.
-    * @throws <code>org.omg.CORBA.MARSHAL</code>
+    * @throws org.omg.CORBA.MARSHAL
     * If an inconsistency is detected, including not having registered
     * a streaming policy, then the standard system exception MARSHAL is raised.
     */
@@ -107,7 +107,7 @@
 
     /** Reads an IDL long long from the input stream.
     * @return  the long long read.
-    * @throws <code>org.omg.CORBA.MARSHAL</code>
+    * @throws org.omg.CORBA.MARSHAL
     * If an inconsistency is detected, including not having registered
     * a streaming policy, then the standard system exception MARSHAL is raised.
     */
@@ -115,7 +115,7 @@
 
     /** Reads an unsigned IDL long long from the input stream.
     * @return  the unsigned long long read.
-    * @throws <code>org.omg.CORBA.MARSHAL</code>
+    * @throws org.omg.CORBA.MARSHAL
     * If an inconsistency is detected, including not having registered
     * a streaming policy, then the standard system exception MARSHAL is raised.
     */
@@ -123,7 +123,7 @@
 
     /** Reads an IDL float from the input stream.
     * @return  the float read.
-    * @throws <code>org.omg.CORBA.MARSHAL</code>
+    * @throws org.omg.CORBA.MARSHAL
     * If an inconsistency is detected, including not having registered
     * a streaming policy, then the standard system exception MARSHAL is raised.
     */
@@ -131,7 +131,7 @@
 
     /** Reads an IDL double from the input stream.
     * @return  the double read.
-    * @throws <code>org.omg.CORBA.MARSHAL</code>
+    * @throws org.omg.CORBA.MARSHAL
     * If an inconsistency is detected, including not having registered
     * a streaming policy, then the standard system exception MARSHAL is raised.
     */
@@ -140,7 +140,7 @@
 
     /** Reads an IDL string from the input stream.
     * @return  the string read.
-    * @throws <code>org.omg.CORBA.MARSHAL</code>
+    * @throws org.omg.CORBA.MARSHAL
     * If an inconsistency is detected, including not having registered
     * a streaming policy, then the standard system exception MARSHAL is raised.
     */
@@ -148,7 +148,7 @@
 
     /** Reads an IDL wide string from the input stream.
     * @return  the wide string read.
-    * @throws <code>org.omg.CORBA.MARSHAL</code>
+    * @throws org.omg.CORBA.MARSHAL
     * If an inconsistency is detected, including not having registered
     * a streaming policy, then the standard system exception MARSHAL is raised.
     */
@@ -156,7 +156,7 @@
 
     /** Reads an IDL CORBA::Object from the input stream.
     * @return  the CORBA::Object read.
-    * @throws <code>org.omg.CORBA.MARSHAL</code>
+    * @throws org.omg.CORBA.MARSHAL
     * If an inconsistency is detected, including not having registered
     * a streaming policy, then the standard system exception MARSHAL is raised.
     */
@@ -164,7 +164,7 @@
 
     /** Reads an IDL Abstract interface from the input stream.
     * @return  the Abstract interface read.
-    * @throws <code>org.omg.CORBA.MARSHAL</code>
+    * @throws org.omg.CORBA.MARSHAL
     * If an inconsistency is detected, including not having registered
     * a streaming policy, then the standard system exception MARSHAL is raised.
     */
@@ -172,7 +172,7 @@
 
     /** Reads an IDL value type from the input stream.
     * @return  the value type read.
-    * @throws <code>org.omg.CORBA.MARSHAL</code>
+    * @throws org.omg.CORBA.MARSHAL
     * If an inconsistency is detected, including not having registered
     * a streaming policy, then the standard system exception MARSHAL is raised.
     */
@@ -180,7 +180,7 @@
 
     /** Reads an IDL typecode from the input stream.
     * @return  the typecode read.
-    * @throws <code>org.omg.CORBA.MARSHAL</code>
+    * @throws org.omg.CORBA.MARSHAL
     * If an inconsistency is detected, including not having registered
     * a streaming policy, then the standard system exception MARSHAL is raised.
     */
@@ -192,7 +192,7 @@
     * @param offset The index into seq of the first element to read from the
     * input stream.
     * @param length The number of elements to read from the input stream.
-    * @throws <code>org.omg.CORBA.MARSHAL</code>
+    * @throws org.omg.CORBA.MARSHAL
     * If an inconsistency is detected, including not having registered
     * a streaming policy, then the standard system exception MARSHAL is raised.
     */
@@ -204,7 +204,7 @@
     * @param offset The index into seq of the first element to read from the
     * input stream.
     * @param length The number of elements to read from the input stream.
-    * @throws <code>org.omg.CORBA.MARSHAL</code>
+    * @throws org.omg.CORBA.MARSHAL
     * If an inconsistency is detected, including not having registered
     * a streaming policy, then the standard system exception MARSHAL is raised.
     */
@@ -216,7 +216,7 @@
     * @param offset The index into seq of the first element to read from the
     * input stream.
     * @param length The number of elements to read from the input stream.
-    * @throws <code>org.omg.CORBA.MARSHAL</code>
+    * @throws org.omg.CORBA.MARSHAL
     * If an inconsistency is detected, including not having registered
     * a streaming policy, then the standard system exception MARSHAL is raised.
     */
@@ -228,7 +228,7 @@
     * @param offset The index into seq of the first element to read from the
     * input stream.
     * @param length The number of elements to read from the input stream.
-    * @throws <code>org.omg.CORBA.MARSHAL</code>
+    * @throws org.omg.CORBA.MARSHAL
     * If an inconsistency is detected, including not having registered
     * a streaming policy, then the standard system exception MARSHAL is raised.
     */
@@ -240,7 +240,7 @@
     * @param offset The index into seq of the first element to read from the
     * input stream.
     * @param length The number of elements to read from the input stream.
-    * @throws <code>org.omg.CORBA.MARSHAL</code>
+    * @throws org.omg.CORBA.MARSHAL
     * If an inconsistency is detected, including not having registered
     * a streaming policy, then the standard system exception MARSHAL is raised.
     */
@@ -252,7 +252,7 @@
     * @param offset The index into seq of the first element to read from the
     * input stream.
     * @param length The number of elements to read from the input stream.
-    * @throws <code>org.omg.CORBA.MARSHAL</code>
+    * @throws org.omg.CORBA.MARSHAL
     * If an inconsistency is detected, including not having registered
     * a streaming policy, then the standard system exception MARSHAL is raised.
     */
@@ -264,7 +264,7 @@
     * @param offset The index into seq of the first element to read from the
     * input stream.
     * @param length The number of elements to read from the input stream.
-    * @throws <code>org.omg.CORBA.MARSHAL</code>
+    * @throws org.omg.CORBA.MARSHAL
     * If an inconsistency is detected, including not having registered
     * a streaming policy, then the standard system exception MARSHAL is raised.
     */
@@ -276,7 +276,7 @@
     * @param offset The index into seq of the first element to read from the
     * input stream.
     * @param length The number of elements to read from the input stream.
-    * @throws <code>org.omg.CORBA.MARSHAL</code>
+    * @throws org.omg.CORBA.MARSHAL
     * If an inconsistency is detected, including not having registered
     * a streaming policy, then the standard system exception MARSHAL is raised.
     */
@@ -288,7 +288,7 @@
     * @param offset The index into seq of the first element to read from the
     * input stream.
     * @param length The number of elements to read from the input stream.
-    * @throws <code>org.omg.CORBA.MARSHAL</code>
+    * @throws org.omg.CORBA.MARSHAL
     * If an inconsistency is detected, including not having registered
     * a streaming policy, then the standard system exception MARSHAL is raised.
     */
@@ -300,7 +300,7 @@
     * @param offset The index into seq of the first element to read from the
     * input stream.
     * @param length The number of elements to read from the input stream.
-    * @throws <code>org.omg.CORBA.MARSHAL</code>
+    * @throws org.omg.CORBA.MARSHAL
     * If an inconsistency is detected, including not having registered
     * a streaming policy, then the standard system exception MARSHAL is raised.
     */
@@ -312,7 +312,7 @@
     * @param offset The index into seq of the first element to read from the
     * input stream.
     * @param length The number of elements to read from the input stream.
-    * @throws <code>org.omg.CORBA.MARSHAL</code>
+    * @throws org.omg.CORBA.MARSHAL
     * If an inconsistency is detected, including not having registered
     * a streaming policy, then the standard system exception MARSHAL is raised.
     */
@@ -324,7 +324,7 @@
     * @param offset The index into seq of the first element to read from the
     * input stream.
     * @param length The number of elements to read from the input stream.
-    * @throws <code>org.omg.CORBA.MARSHAL</code>
+    * @throws org.omg.CORBA.MARSHAL
     * If an inconsistency is detected, including not having registered
     * a streaming policy, then the standard system exception MARSHAL is raised.
     */
@@ -336,7 +336,7 @@
     * @param offset The index into seq of the first element to read from the
     * input stream.
     * @param length The number of elements to read from the input stream.
-    * @throws <code>org.omg.CORBA.MARSHAL</code>
+    * @throws org.omg.CORBA.MARSHAL
     * If an inconsistency is detected, including not having registered
     * a streaming policy, then the standard system exception MARSHAL is raised.
     */
--- a/corba/src/java.corba/share/classes/org/omg/CORBA/LocalObject.java	Tue Apr 14 14:47:40 2015 +0400
+++ b/corba/src/java.corba/share/classes/org/omg/CORBA/LocalObject.java	Tue Apr 14 12:10:01 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2001, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2015, 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
@@ -71,7 +71,7 @@
      * to attempt determination of whether two distinct object references
      * refer to the same object, since such determination could be impractically
      * expensive.
-     * <P>Default implementation of the org.omg.CORBA.Object method. <P>
+     * <P>Default implementation of the org.omg.CORBA.Object method.
      *
      * @param that the object reference with which to check for equivalence
      * @return <code>true</code> if this object reference is known to be
@@ -87,7 +87,7 @@
     /**
      * Always returns <code>false</code>.
      * This method is the default implementation of the
-     * <code>org.omg.CORBA.Object</code> method.<P>
+     * <code>org.omg.CORBA.Object</code> method.
      *
      * @return <code>false</code>
      */
@@ -99,9 +99,10 @@
      * Returns a hash value that is consistent for the
      * lifetime of the object, using the given number as the maximum.
      * This method is the default implementation of the
-     * <code>org.omg.CORBA.Object</code> method.<P>
+     * <code>org.omg.CORBA.Object</code> method.
+     *
      * @param maximum an <code>int</code> identifying maximum value of
-     *                  the hashcode
+     *                the hashcode
      * @return this instance's hashcode
      */
     public int _hash(int maximum) {
@@ -113,7 +114,7 @@
      * the message "This is a locally constrained object."  This method
      * does not apply to local objects and is therefore not implemented.
      * This method is the default implementation of the
-     * <code>org.omg.CORBA.Object</code> method.<P>
+     * <code>org.omg.CORBA.Object</code> method.
      *
      * @param repository_id a <code>String</code>
      * @return NO_IMPLEMENT because this is a locally constrained object
@@ -131,7 +132,8 @@
      * Throws an <code>org.omg.CORBA.NO_IMPLEMENT</code> exception with
      * the message "This is a locally constrained object."
      * This method is the default implementation of the
-     * <code>org.omg.CORBA.Object</code> method.<P>
+     * <code>org.omg.CORBA.Object</code> method.
+     *
      * @return a duplicate of this <code>LocalObject</code> instance.
      * @exception NO_IMPLEMENT
      * @see <a href="package-summary.html#unimpl"><code>CORBA</code> package
@@ -145,7 +147,8 @@
      * Throws an <code>org.omg.CORBA.NO_IMPLEMENT</code> exception with
      * the message "This is a locally constrained object."
      * This method is the default implementation of the
-     * <code>org.omg.CORBA.Object</code> method.<P>
+     * <code>org.omg.CORBA.Object</code> method.
+     *
      * @exception NO_IMPLEMENT
      * @see <a href="package-summary.html#unimpl"><code>CORBA</code> package
      *      comments for unimplemented features</a>
@@ -158,7 +161,7 @@
      * Throws an <code>org.omg.CORBA.NO_IMPLEMENT</code> exception with
      * the message "This is a locally constrained object."
      * This method is the default implementation of the
-     * <code>org.omg.CORBA.Object</code> method.<P>
+     * <code>org.omg.CORBA.Object</code> method.
      *
      * @param operation a <code>String</code> giving the name of an operation
      *        to be performed by the request that is returned
@@ -175,7 +178,7 @@
      * Throws an <code>org.omg.CORBA.NO_IMPLEMENT</code> exception with
      * the message "This is a locally constrained object."
      * This method is the default implementation of the
-     * <code>org.omg.CORBA.Object</code> method.<P>
+     * <code>org.omg.CORBA.Object</code> method.
      *
      * @param ctx          a <code>Context</code> object containing
      *                     a list of properties
@@ -202,7 +205,7 @@
      * Throws an <code>org.omg.CORBA.NO_IMPLEMENT</code> exception with
      * the message "This is a locally constrained object."
      * This method is the default implementation of the
-     * <code>org.omg.CORBA.Object</code> method.<P>
+     * <code>org.omg.CORBA.Object</code> method.
      *
      * @param ctx          a <code>Context</code> object containing
      *                     a list of properties
@@ -237,7 +240,8 @@
      * the message "This is a locally constrained object." This method
      * does not apply to local objects and is therefore not implemented.
      * This method is the default implementation of the
-     * <code>org.omg.CORBA.Object</code> method.<P>
+     * <code>org.omg.CORBA.Object</code> method.
+     *
      * @return NO_IMPLEMENT because this is a locally constrained object
      *      and this method does not apply to local objects
      * @exception NO_IMPLEMENT because this is a locally constrained object
@@ -254,7 +258,8 @@
      * Throws an <code>org.omg.CORBA.NO_IMPLEMENT</code> exception with
      * the message "This is a locally constrained object."
      * This method is the default implementation of the
-     * <code>org.omg.CORBA.Object</code> method.<P>
+     * <code>org.omg.CORBA.Object</code> method.
+     *
      * @exception NO_IMPLEMENT
      * @see <a href="package-summary.html#unimpl"><code>CORBA</code> package
      *      comments for unimplemented features</a>
@@ -275,7 +280,7 @@
      * Throws an <code>org.omg.CORBA.NO_IMPLEMENT</code> exception with
      * the message "This is a locally constrained object."
      * This method is the default implementation of the
-     * <code>org.omg.CORBA.Object</code> method.<P>
+     * <code>org.omg.CORBA.Object</code> method.
      * @return the ORB instance that created the Delegate contained in this
      * <code>ObjectImpl</code>
      * @exception NO_IMPLEMENT
@@ -291,7 +296,8 @@
      * the message "This is a locally constrained object." This method
      * does not apply to local objects and is therefore not implemented.
      * This method is the default implementation of the
-     * <code>org.omg.CORBA.Object</code> method.<P>
+     * <code>org.omg.CORBA.Object</code> method.
+     *
      * @param policy_type  an <code>int</code>
      * @return NO_IMPLEMENT because this is a locally constrained object
      *      and this method does not apply to local objects
@@ -310,7 +316,8 @@
      * the message "This is a locally constrained object." This method
      * does not apply to local objects and is therefore not implemented.
      * This method is the default implementation of the
-     * <code>org.omg.CORBA.Object</code> method.<P>
+     * <code>org.omg.CORBA.Object</code> method.
+     *
      * @exception NO_IMPLEMENT
      * @see <a href="package-summary.html#unimpl"><code>CORBA</code> package
      *      comments for unimplemented features</a>
@@ -347,7 +354,8 @@
      * the message "This is a locally constrained object."
      * This method is the default implementation of the
      * <code>org.omg.CORBA.Object</code> method.<P>
-     * Returns <code>true</code> for this <code>LocalObject</code> instance.<P>
+     * Returns <code>true</code> for this <code>LocalObject</code> instance.
+     *
      * @return <code>true</code> always
      * @exception NO_IMPLEMENT
      * @see <a href="package-summary.html#unimpl"><code>CORBA</code> package
@@ -361,7 +369,8 @@
      * Throws an <code>org.omg.CORBA.NO_IMPLEMENT</code> exception with
      * the message "This is a locally constrained object."
      * This method is the default implementation of the
-     * <code>org.omg.CORBA.Object</code> method.<P>
+     * <code>org.omg.CORBA.Object</code> method.
+     *
      * @param operation a <code>String</code> indicating which operation
      *                  to preinvoke
      * @param expectedType the class of the type of operation mentioned above
@@ -381,7 +390,8 @@
      * Throws an <code>org.omg.CORBA.NO_IMPLEMENT</code> exception with
      * the message "This is a locally constrained object."
      * This method is the default implementation of the
-     * <code>org.omg.CORBA.Object</code> method.<P>
+     * <code>org.omg.CORBA.Object</code> method.
+     *
      * @param servant the servant object on which to post-invoke
      * @exception NO_IMPLEMENT
      * @see <a href="package-summary.html#unimpl"><code>CORBA</code> package
@@ -403,8 +413,8 @@
      * <code>org.omg.CORBA.Object</code> method.
      * <P>Called by a stub to obtain an OutputStream for
      * marshaling arguments. The stub must supply the operation name,
-     * and indicate if a response is expected (i.e is this a oneway
-     * call).<P>
+     * and indicate if a response is expected (i.e is this a oneway call).
+     *
      * @param operation the name of the operation being requested
      * @param responseExpected <code>true</code> if a response is expected,
      *                         <code>false</code> if it is a one-way call
@@ -433,7 +443,8 @@
      * marshaled reply. If an exception occurs, <code>_invoke</code> may throw an
      * <code>ApplicationException</code> object which contains an
      * <code>InputStream</code> from
-     * which the user exception state may be unmarshaled.<P>
+     * which the user exception state may be unmarshaled.
+     *
      * @param output the <code>OutputStream</code> to invoke
      * @return NO_IMPLEMENT because this is a locally constrained object
      *      and this method does not apply to local objects
@@ -470,7 +481,8 @@
      * <code>ApplicationException.getInputStream()</code>.
      * A null
      * value may also be passed to <code>_releaseReply</code>, in which case the
-     * method is a no-op.<P>
+     * method is a no-op.
+     *
      * @param input the reply stream back to the ORB or null
      * @exception NO_IMPLEMENT
      * @see <a href="package-summary.html#unimpl"><code>CORBA</code> package
@@ -485,7 +497,8 @@
      * the message "This is a locally constrained object." This method
      * does not apply to local objects and is therefore not implemented.
      * This method is the default implementation of the
-     * <code>org.omg.CORBA.Object</code> method.<P>
+     * <code>org.omg.CORBA.Object</code> method.
+     *
      * @return NO_IMPLEMENT because this is a locally constrained object
      *      and this method does not apply to local objects
      * @exception NO_IMPLEMENT because this is a locally constrained object
--- a/corba/src/java.corba/share/classes/org/omg/CORBA/NVList.java	Tue Apr 14 14:47:40 2015 +0400
+++ b/corba/src/java.corba/share/classes/org/omg/CORBA/NVList.java	Tue Apr 14 12:10:01 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 2000, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2015, 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,7 +63,6 @@
  * Note also that you can add any number of
  * <code>NamedValue</code> objects to this list regardless of
  * its original length.
- * <P>
  * <LI><code>org.omg.CORBA.ORB.create_operation_list</code>
  * <PRE>
  *    org.omg.CORBA.NVList nv = orb.create_operation_list(myOperationDef);
--- a/corba/src/java.corba/share/classes/org/omg/CORBA/ORB.java	Tue Apr 14 14:47:40 2015 +0400
+++ b/corba/src/java.corba/share/classes/org/omg/CORBA/ORB.java	Tue Apr 14 12:10:01 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1995, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 2015, 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,7 +101,7 @@
  * <P>
  * When an ORB instance is being created, the class name of the ORB
  * implementation is located using
- * the following standard search order:<P>
+ * the following standard search order:
  *
  * <OL>
  *     <LI>check in Applet parameter or application string array, if any
@@ -1036,7 +1036,7 @@
      * <P>
      * Recursive types can only appear within sequences which can be empty.
      * That way marshaling problems, when transmitting the struct in an Any, are avoided.
-     * <P>
+     *
      * @param id                 the logical id of the referenced type
      * @return                   the requested TypeCode
      */
@@ -1179,7 +1179,7 @@
      * value <tt>true</tt>. If no information for the requested
      * services type is available, the operation returns <tt>false</tt>
      *  (i.e., the service is not supported by this ORB).
-     * <P>
+     *
      * @param service_type a <code>short</code> indicating the
      *        service type for which information is being requested
      * @param service_info a <code>ServiceInformationHolder</code> object
@@ -1203,7 +1203,7 @@
     /**
      * Creates a new <code>DynAny</code> object from the given
      * <code>Any</code> object.
-     * <P>
+     *
      * @param value the <code>Any</code> object from which to create a new
      *        <code>DynAny</code> object
      * @return the new <code>DynAny</code> object created from the given
@@ -1221,7 +1221,7 @@
     /**
      * Creates a basic <code>DynAny</code> object from the given
      * <code>TypeCode</code> object.
-     * <P>
+     *
      * @param type the <code>TypeCode</code> object from which to create a new
      *        <code>DynAny</code> object
      * @return the new <code>DynAny</code> object created from the given
@@ -1241,7 +1241,7 @@
     /**
      * Creates a new <code>DynStruct</code> object from the given
      * <code>TypeCode</code> object.
-     * <P>
+     *
      * @param type the <code>TypeCode</code> object from which to create a new
      *        <code>DynStruct</code> object
      * @return the new <code>DynStruct</code> object created from the given
@@ -1261,7 +1261,7 @@
     /**
      * Creates a new <code>DynSequence</code> object from the given
      * <code>TypeCode</code> object.
-     * <P>
+     *
      * @param type the <code>TypeCode</code> object from which to create a new
      *        <code>DynSequence</code> object
      * @return the new <code>DynSequence</code> object created from the given
@@ -1282,7 +1282,7 @@
     /**
      * Creates a new <code>DynArray</code> object from the given
      * <code>TypeCode</code> object.
-     * <P>
+     *
      * @param type the <code>TypeCode</code> object from which to create a new
      *        <code>DynArray</code> object
      * @return the new <code>DynArray</code> object created from the given
@@ -1302,7 +1302,7 @@
     /**
      * Creates a new <code>DynUnion</code> object from the given
      * <code>TypeCode</code> object.
-     * <P>
+     *
      * @param type the <code>TypeCode</code> object from which to create a new
      *        <code>DynUnion</code> object
      * @return the new <code>DynUnion</code> object created from the given
@@ -1322,7 +1322,7 @@
     /**
      * Creates a new <code>DynEnum</code> object from the given
      * <code>TypeCode</code> object.
-     * <P>
+     *
      * @param type the <code>TypeCode</code> object from which to create a new
      *        <code>DynEnum</code> object
      * @return the new <code>DynEnum</code> object created from the given
--- a/corba/src/java.corba/share/classes/org/omg/CORBA/Object.java	Tue Apr 14 14:47:40 2015 +0400
+++ b/corba/src/java.corba/share/classes/org/omg/CORBA/Object.java	Tue Apr 14 12:10:01 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1995, 1999, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 2015, 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
@@ -53,7 +53,7 @@
  * <code>org.omg.CORBA.Object</code>
  * are provided in the class <code>org.omg.CORBA.portable.ObjectImpl</code>,
  * which is the base class for stubs and object implementations.
- * <p>
+ *
  * @see org.omg.CORBA.portable.ObjectImpl
  */
 
--- a/corba/src/java.corba/share/classes/org/omg/CORBA/Principal.java	Tue Apr 14 14:47:40 2015 +0400
+++ b/corba/src/java.corba/share/classes/org/omg/CORBA/Principal.java	Tue Apr 14 12:10:01 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2015, 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 @@
  * the client, for access control
  * and other purposes. It contains a single attribute, the name of the
  * <code>Principal</code>, encoded as a sequence of bytes.
- * <P>
+ *
  * @deprecated Deprecated by CORBA 2.2.
  */
 @Deprecated
--- a/corba/src/java.corba/share/classes/org/omg/CORBA/ServerRequest.java	Tue Apr 14 14:47:40 2015 +0400
+++ b/corba/src/java.corba/share/classes/org/omg/CORBA/ServerRequest.java	Tue Apr 14 12:10:01 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2015, 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,7 +57,7 @@
  * Similarly, type information needs to be provided for the response,
  * for either the expected result or for an exception, so the methods
  * <code>result</code> and <code>except</code> take an <code>Any</code>
- * object as a parameter. <p>
+ * object as a parameter.
  *
  * @see org.omg.CORBA.DynamicImplementation
  * @see org.omg.CORBA.NVList
--- a/corba/src/java.corba/share/classes/org/omg/CORBA/ShortHolder.java	Tue Apr 14 14:47:40 2015 +0400
+++ b/corba/src/java.corba/share/classes/org/omg/CORBA/ShortHolder.java	Tue Apr 14 12:10:01 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1995, 2001, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 2015, 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 @@
 /**
  * The Holder for <tt>Short</tt>.  For more information on
  * Holder files, see <a href="doc-files/generatedfiles.html#holder">
- * "Generated Files: Holder Files"</a>.<P
- * A Holder class for a <code>short</code>
+ * "Generated Files: Holder Files"</a>.
+ * <P>A Holder class for a <code>short</code>
  * that is used to store "out" and "inout" parameters in IDL operations.
  * If an IDL operation signature has an IDL <code>short</code> as an "out"
  * or "inout" parameter, the programmer must pass an instance of
--- a/corba/src/java.corba/share/classes/org/omg/CORBA/TCKind.java	Tue Apr 14 14:47:40 2015 +0400
+++ b/corba/src/java.corba/share/classes/org/omg/CORBA/TCKind.java	Tue Apr 14 12:10:01 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2015, 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,7 +52,7 @@
  * The variable <code>k</code> represents the <code>TCKind</code>
  * instance for the IDL type <code>string</code>, which is
  * <code>tk_string</code>.
- * <P>
+ *
  * <LI>the method <code>value</code> for accessing the
  * <code>_value</code> field of a <code>TCKind</code> constant
  * <P>Example:
--- a/corba/src/java.corba/share/classes/org/omg/CORBA/TypeCode.java	Tue Apr 14 14:47:40 2015 +0400
+++ b/corba/src/java.corba/share/classes/org/omg/CORBA/TypeCode.java	Tue Apr 14 12:10:01 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2015, 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 @@
 /**
  * A container for information about a specific CORBA data
  * type.
- *<P>
+ * <P>
  * <code>TypeCode</code> objects are used:
  * <UL>
  * <LI>in the Dynamic Invocation Interface -- to indicate the types
@@ -59,7 +59,7 @@
  * with the value
  * <code>TCKind.tk_sequence</code> and also fields with the values
  * <code>boolean</code> and <code>10</code> for the
- * type of sequence elements and the length of the sequence. <p>
+ * type of sequence elements and the length of the sequence.
  * </UL>
  *
  * <code>TypeCode</code> objects can be obtained in various ways:
@@ -164,8 +164,7 @@
  *
  * Java IDL extends the CORBA specification to allow all operations permitted
  * on a <code>struct</code> <code>TypeCode</code> to be permitted
- * on an <code>exception</code> <code>TypeCode</code> as well. <p>
- *
+ * on an <code>exception</code> <code>TypeCode</code> as well.
  */
 public abstract class TypeCode implements IDLEntity {
 
@@ -175,23 +174,21 @@
      * they are interchangeable and give identical results when
      * <code>TypeCode</code> operations are applied to them.
      *
-     * @param tc                the <code>TypeCode</code> object to compare against
-     * @return          <code>true</code> if the type codes are equal;
+     * @param tc      the <code>TypeCode</code> object to compare against
+     * @return        <code>true</code> if the type codes are equal;
      *                <code>false</code> otherwise
      */
-
     public abstract boolean equal(TypeCode tc);
 
     /**
-         * Tests to see if the given <code>TypeCode</code> object is
-         * equivalent to this <code>TypeCode</code> object.
-         * <P>
-         *
-         *
-         * @param tc the typecode to compare with this typecode
-         *
-         * @return <code>true</code> if the given typecode is equivalent to
-         *         this typecode; <code>false</code> otherwise
+     * Tests to see if the given <code>TypeCode</code> object is
+     * equivalent to this <code>TypeCode</code> object.
+     *
+     *
+     * @param tc the typecode to compare with this typecode
+     *
+     * @return <code>true</code> if the given typecode is equivalent to
+     *         this typecode; <code>false</code> otherwise
      *
      */
     public abstract boolean equivalent(TypeCode tc);
@@ -199,9 +196,9 @@
     /**
      * Strips out all optional name and member name fields,
      * but leaves all alias typecodes intact.
-         * @return a <code>TypeCode</code> object with optional name and
-         *         member name fields stripped out, except for alias typecodes,
-         *         which are left intact
+     * @return a <code>TypeCode</code> object with optional name and
+     *         member name fields stripped out, except for alias typecodes,
+     *         which are left intact
      * @see <a href="package-summary.html#unimpl"><code>CORBA</code> package
      *      comments for unimplemented features</a>
      */
@@ -220,7 +217,6 @@
      *            value of the <code>kind</code> field of this
      *                  <code>TypeCode</code> object
      */
-
     public abstract TCKind kind();
 
     /**
@@ -239,13 +235,12 @@
      * also always have a RepositoryId. If there is no RepositoryId, the
      * method can return an empty string.
      *
-     * @return          the RepositoryId for this <code>TypeCode</code> object
-     *                or an empty string if there is no RepositoryID
+     * @return the RepositoryId for this <code>TypeCode</code> object
+     *         or an empty string if there is no RepositoryID
      * @throws org.omg.CORBA.TypeCodePackage.BadKind if the method
      *           is invoked on an inappropriate kind of<code>TypeCode</code>
      *           object
      */
-
     public abstract String id() throws BadKind;
 
     /**
@@ -268,7 +263,6 @@
      *           is invoked on an inappropriate kind of<code>TypeCode</code>
      *           object
      */
-
     public abstract String name() throws BadKind;
 
     /**
@@ -287,7 +281,6 @@
      *           is invoked on an inappropriate kind of <code>TypeCode</code>
      *           object
      */
-
     public abstract int member_count() throws BadKind;
 
     /**
@@ -312,7 +305,6 @@
      *           is invoked on an inappropriate kind of <code>TypeCode</code>
      *           object
      */
-
     public abstract String member_name(int index)
         throws BadKind, org.omg.CORBA.TypeCodePackage.Bounds;
 
@@ -336,7 +328,6 @@
      *           is invoked on an inappropriate kind of <code>TypeCode</code>
      *           object
      */
-
     public abstract TypeCode member_type(int index)
         throws BadKind, org.omg.CORBA.TypeCodePackage.Bounds;
 
@@ -344,13 +335,13 @@
      * Retrieves the label of the union member
      * identified by the given index. For the default member,
      * the label is the zero octet.
-     *<P>
+     * <P>
      * The method <code>member_label</code> can only be invoked on union
      * <code>TypeCode</code> objects.
      *
-     * @param index     index of the union member for which the
+     * @param index   index of the union member for which the
      *                label is being requested
-     * @return          an <code>Any</code> object describing the label of
+     * @return        an <code>Any</code> object describing the label of
      *                the requested union member or the zero octet for
      *                the default member
      * @throws org.omg.CORBA.TypeCodePackage.Bounds if the index is
@@ -360,7 +351,6 @@
      *           is invoked on a non-union <code>TypeCode</code>
      *           object
      */
-
     public abstract Any member_label(int index)
         throws BadKind, org.omg.CORBA.TypeCodePackage.Bounds;
 
@@ -376,7 +366,6 @@
      *           is invoked on a non-union <code>TypeCode</code>
      *           object
      */
-
     public abstract TypeCode discriminator_type()
         throws BadKind;
 
@@ -393,7 +382,6 @@
      *           is invoked on a non-union <code>TypeCode</code>
      *           object
      */
-
     public abstract int default_index() throws BadKind;
 
     /**
@@ -412,7 +400,6 @@
      *           is invoked on an inappropriate kind of <code>TypeCode</code>
      *           object
      */
-
     public abstract int length() throws BadKind;
 
     /**
@@ -424,7 +411,7 @@
      * that multidimensional arrays are represented by nesting
      * <code>TypeCode</code> objects, one per dimension.
      * For boxed valuetypes, it returns the boxed type.
-     *<P>
+     * <P>
      * The method <code>content_type</code> can be invoked on sequence, array,
      * alias, and boxed valuetype <code>TypeCode</code> objects.
      *
@@ -436,37 +423,36 @@
      *           is invoked on an inappropriate kind of <code>TypeCode</code>
      *           object
      */
-
     public abstract TypeCode content_type() throws BadKind;
 
 
     /**
-         * Returns the number of digits in the fixed type described by this
-         * <code>TypeCode</code> object. For example, the typecode for
-         * the number 3000.275d could be <code>fixed<7,3></code>, where
-         * 7 is the precision and 3 is the scale.
-         *
-         * @return the total number of digits
+     * Returns the number of digits in the fixed type described by this
+     * <code>TypeCode</code> object. For example, the typecode for
+     * the number 3000.275d could be <code>fixed&lt;7,3&gt;</code>, where
+     * 7 is the precision and 3 is the scale.
+     *
+     * @return the total number of digits
      * @throws org.omg.CORBA.TypeCodePackage.BadKind if this method
      *           is invoked on an inappropriate kind of <code>TypeCode</code>
      *           object
-         *
+     *
      */
     public abstract short fixed_digits() throws BadKind ;
 
     /**
-         * Returns the scale of the fixed type described by this
-         * <code>TypeCode</code> object. A positive number indicates the
-         * number of digits to the right of the decimal point.
-         * For example, the number 3000d could have the
-         * typecode <code>fixed<4,0></code>, where the first number is
-         * the precision and the second number is the scale.
-         * A negative number is also possible and adds zeroes to the
-         * left of the decimal point.  In this case, <code>fixed<1,-3></code>,
-         * could be the typecode for the number 3000d.
-         *
-         * @return the scale of the fixed type that this
-         *         <code>TypeCode</code> object describes
+     * Returns the scale of the fixed type described by this
+     * <code>TypeCode</code> object. A positive number indicates the
+     * number of digits to the right of the decimal point.
+     * For example, the number 3000d could have the
+     * typecode <code>fixed&lt;4,0&gt;</code>, where the first number is
+     * the precision and the second number is the scale.
+     * A negative number is also possible and adds zeroes to the
+     * left of the decimal point.  In this case, <code>fixed&lt;1,-3&gt;</code>,
+     * could be the typecode for the number 3000d.
+     *
+     * @return the scale of the fixed type that this
+     *         <code>TypeCode</code> object describes
      * @throws org.omg.CORBA.TypeCodePackage.BadKind if this method
      *           is invoked on an inappropriate kind of <code>TypeCode</code>
      *           object
@@ -492,7 +478,6 @@
      * @see <a href="package-summary.html#unimpl"><code>CORBA</code> package
      *      comments for unimplemented features</a>
      */
-
     abstract public short member_visibility(int index)
         throws BadKind, org.omg.CORBA.TypeCodePackage.Bounds ;
 
@@ -512,7 +497,6 @@
      * @see <a href="package-summary.html#unimpl"><code>CORBA</code> package
      *      comments for unimplemented features</a>
      */
-
     abstract public short type_modifier() throws BadKind ;
 
     /**
@@ -528,6 +512,5 @@
      * @see <a href="package-summary.html#unimpl"><code>CORBA</code> package
      *      comments for unimplemented features</a>
      */
-
     abstract public TypeCode concrete_base_type() throws BadKind ;
 }
--- a/corba/src/java.corba/share/classes/org/omg/CORBA/doc-files/compliance.html	Tue Apr 14 14:47:40 2015 +0400
+++ b/corba/src/java.corba/share/classes/org/omg/CORBA/doc-files/compliance.html	Tue Apr 14 12:10:01 2015 -0700
@@ -55,44 +55,30 @@
 
 <li>
 CORBA 2.3.1 chapter 4 with the following replacements from the Portable
-Interceptors specification:</li>
-
-	<ul>
-	<li>
-	section 4.2.3.5 <TT>destroy</TT></li>
-
-	<li>
-	section 4.5.2 <TT>CodeFactory</TT> and <TT>PICurrent</TT> are required</li>
-
-	<li>
-	Section 4.5.3.4 as updated for <TT>register_initial_reference</TT></li>
-	</ul>
+Interceptors specification:
+ <ul>
+ <li>section 4.2.3.5 <TT>destroy</TT></li>
+ <li>section 4.5.2 <TT>CodeFactory</TT> and <TT>PICurrent</TT> are required</li>
+ <li>Section 4.5.3.4 as updated for <TT>register_initial_reference</TT></li>
+ </ul>
+</li>
 
 <li>
 CORBA 2.3.1 chapter 5 with the following update from the Portable Interceptors
-specification:</li>
-
-	<ul>
-	<li>
-	5.5.2 <TT>StringSeq</TT> and <TT>WStringSeq</TT> are required. This adds the 
-following 
-	classes
-	to <TT>org.omg.CORBA</TT>:</li>
-
-	<ul>
-	<li>
-	<TT>StringSeqHolder</TT></li>
-
-	<li>
-	<TT>StringSeqHelper</TT></li>
-
-	<li>
-	<TT>WStringSeqHolder</TT></li>
-
-	<li>
-	<TT>WStringSeqHelper</TT></li>
-	</ul>
-</ul>
+specification:
+ <ul>
+  <li>
+  5.5.2 <TT>StringSeq</TT> and <TT>WStringSeq</TT> are required. 
+  This adds the following classes to <TT>org.omg.CORBA</TT>:
+    <ul>
+    <li><TT>StringSeqHolder</TT></li>
+    <li><TT>StringSeqHelper</TT></li>
+    <li><TT>WStringSeqHolder</TT></li>
+    <li><TT>WStringSeqHelper</TT></li>
+    </ul>
+  </li>
+ </ul>
+</li>
 
 <li>
 CORBA 2.3.1 sections 10.6.1 and 10.6.2 are supported for repository IDs.</li>
@@ -101,18 +87,13 @@
 CORBA 2.3.1 section 10.7 for <TT>TypeCode</TT> APIs.</li>
 
 <li>
-CORBA 2.3.1 chapter 11, Portable Object Adapter (POA), with the following updates from the Portable Interceptors specification:</li>
-
-<ul>
-<li>
-Section 11.3.7 POAs must preserve all policies</li>
-
-<li>
-Section 11.3.8.2 again states that POAs must preserve all policies</li>
-
-<li>
-Section 11.3.8.26 <tt>POA::id</tt> is required.</li>
-</ul>
+CORBA 2.3.1 chapter 11, Portable Object Adapter (POA), with the following updates from the Portable Interceptors specification:
+  <ul>
+  <li>Section 11.3.7 POAs must preserve all policies</li>
+  <li>Section 11.3.8.2 again states that POAs must preserve all policies</li>
+  <li>Section 11.3.8.26 <tt>POA::id</tt> is required.</li>
+  </ul>
+</li>
 
 <li>
 CORBA 2.3.1 chapters 13 and 15 define GIOP 1.0, 1.1, and 1.2. The Java SE 6
@@ -124,8 +105,7 @@
 
 <li>
 Portable Interceptors section 13.8 (the new <TT>Coder</TT>/<TT>Decoder</TT> interfaces) 
-and
-all of chapter 21 (the interceptor specification).</li>
+and all of chapter 21 (the interceptor specification).</li>
 
 <li>Section 1.21.8 of the Revised IDL to Java Language Mapping Specification (ptc/00-11-03) 
 has been changed from the version in the  IDL to Java Language Mapping Specification (ptc/00-01-08).</li>
@@ -135,40 +115,24 @@
 Tools</h2>
 
 <ul>
-<li>
-The IDL to Java compiler (<TT>idlj</TT>) complies with:</li>
+<li>The IDL to Java compiler (<TT>idlj</TT>) complies with:
+  <ul>
+  <li>CORBA 2.3.1 chapter 3 (IDL definition)</li>
+  <li>CORBA 2.3.1 chapters 5 and 6 (semantics of Value types)</li>
+  <li>CORBA 2.3.1 section 10.6.5 (pragmas)</li>
+  <li>The IDL to Java mapping specification</li>
+  <li>The Revised IDL to Java language mapping specification section 1.12.1 "local interfaces"</li>
+  </ul>
+</li>
 
-<ul>
-<li>
-CORBA 2.3.1 chapter 3 (IDL definition)</li>
-
-<li>
-CORBA 2.3.1 chapters 5 and 6 (semantics of Value types)</li>
-
-<li>
-CORBA 2.3.1 section 10.6.5 (pragmas)</li>
-
-<li>
-The IDL to Java mapping specification</li>
-
-<li>
-The Revised IDL to Java language mapping specification section 1.12.1 "local interfaces"</li>
-</ul>
-
-<li>
-The Java to IDL compiler (the IIOP backend for <tt>rmic</tt>) complies with:</li>
-
-<ul>
-<li>
-CORBA 2.3.1 chapters 5 and 6 (value types)</li>
-
-<li>
-The Java to IDL language mapping. Note that this implicitly references
-section 1.21 of the IDL to Java language mapping</li>
-
-<li>
-IDL generated by the <tt>-idl</tt> flag complies with CORBA 2.3.1 chapter 3.</li>
-</ul>
+<li>The Java to IDL compiler (the IIOP backend for <tt>rmic</tt>) complies with:
+  <ul>
+  <li>CORBA 2.3.1 chapters 5 and 6 (value types)</li>
+  <li>The Java to IDL language mapping. Note that this implicitly references
+      section 1.21 of the IDL to Java language mapping</li>
+  <li>IDL generated by the <tt>-idl</tt> flag complies with CORBA 2.3.1 chapter 3.</li>
+  </ul>
+</li>
 </ul>
 
 </body>
--- a/corba/src/java.corba/share/classes/org/omg/CORBA/doc-files/generatedfiles.html	Tue Apr 14 14:47:40 2015 +0400
+++ b/corba/src/java.corba/share/classes/org/omg/CORBA/doc-files/generatedfiles.html	Tue Apr 14 12:10:01 2015 -0700
@@ -8,65 +8,101 @@
 
 <H1>IDL-to-Java Generated Files</H1>
 
-<P>The files that are generated by the IDL-to-Java compiler, in accordance with the <em><a href="http://www.omg.org/cgi-bin/doc?ptc/00-01-08">IDL-to-Java Language Mapping Specification</a></em>, which is implemented in Java<sup><font size="-2">TM</font></sup> SE 6 according the <a href="compliance.html">compliance</a> document.
+<P>The files that are generated by the IDL-to-Java compiler, in accordance with 
+the <em><a href="http://www.omg.org/cgi-bin/doc?ptc/00-01-08">IDL-to-Java Language Mapping Specification</a></em>,
+which is implemented in Java<sup><font size="-2">TM</font></sup> SE 6 
+according the <a href="compliance.html">compliance</a> document.
 
 
-<P>In general IDL names and identifiers are mapped to Java names and identifiers with no change. Because of the nature of the Java language, a single IDL construct may be mapped to several (differently named) Java constructs. The  additional  names are constructed by appending a descriptive suffix. For example, the IDL interface <tt>foo</tt> is mapped to the Java interfaces <tt>foo</tt> and <tt>fooOperations</tt>, and additional Java classes <tt>fooHelper</tt>, <tt>fooHolder</tt>, <tt>fooPOA</tt>, and optionally <tt>fooPOATie</tt>. 
+<P>In general IDL names and identifiers are mapped to Java names 
+and identifiers with no change. Because of the nature of the Java language,
+a single IDL construct may be mapped to several (differently named) Java constructs.
+The additional names are constructed by appending a descriptive suffix.
+For example, the IDL interface <tt>foo</tt> is mapped to the Java
+interfaces <tt>foo</tt> and <tt>fooOperations</tt>, and additional
+Java classes <tt>fooHelper</tt>, <tt>fooHolder</tt>, <tt>fooPOA</tt>,
+and optionally <tt>fooPOATie</tt>.
 
 
 
-<P>The mapping in effect reserves the use of several names for its own purposes. These are: 
-<P>
+<P>The mapping in effect reserves the use of several names for its own purposes. These are:
 <UL>
-<LI>The Java class <tt><a href="#helper">&lt;type&gt;Helper</tt></a>, where <tt>&lt;type&gt;</tt> is the name of an IDL defined type. 
-<LI>The Java class <tt><a href="#holder">&lt;type&gt;Holder</tt></a>, where <tt>&lt;type&gt;</tt> is the name of an IDL defined type (with certain exceptions such as <tt>typedef</tt> aliases).
-<LI>The Java classes <tt>&lt;basicJavaType&gt;Holder</tt>, where <tt>&lt;basicJavaType&gt;</tt> is one of the Java primitive datatypes that is used by one of the IDL basic datatypes. 
-<LI>The Java classes <tt><a href="#operations">&lt;interface&gt;Operations</tt></a>, <tt>&lt;interface&gt;POA</tt>, and <tt>&lt;interface&gt;POATie</tt>, where <tt>&lt;interface&gt;</tt> is the name of an IDL interface type. 
-<LI>The nested scope Java package name <tt>&lt;interface&gt;Package</tt>, where <tt>&lt;interface&gt;</tt> is the name of an IDL interface.
+<LI>The Java class <a href="#helper"><tt>&lt;type&gt;Helper</tt></a>, where <tt>&lt;type&gt;</tt> is the name of an IDL defined type.
+<LI>The Java class <a href="#holder"><tt>&lt;type&gt;Holder</tt></a>, where <tt>&lt;type&gt;</tt>
+is the name of an IDL defined type (with certain exceptions such as <tt>typedef</tt> aliases).
+<LI>The Java classes <tt>&lt;basicJavaType&gt;Holder</tt>, where <tt>&lt;basicJavaType&gt;</tt>
+is one of the Java primitive datatypes that is used by one of the IDL basic datatypes.
+<LI>The Java classes <a href="#operations"><tt>&lt;interface&gt;Operations</tt></a>, <tt>&lt;interface&gt;POA</tt>,
+and <tt>&lt;interface&gt;POATie</tt>, where <tt>&lt;interface&gt;</tt> is the name of an IDL interface type.
+<LI>The nested scope Java package name <tt>&lt;interface&gt;Package</tt>, where <tt>&lt;interface&gt;</tt>
+is the name of an IDL interface.
+</UL>
 
 
-<a name="helper">
-<H2>Helper Files</H2></a>
-<P>
-Helper files supply several static methods needed to manipulate the type. These include <tt>Any</tt> insert and extract operations for the type, getting the repository id, getting the typecode, and reading and writing the type from and to a stream. 
+<H2><a name="helper">Helper Files</a></H2>
 
-<P>The helper class for a mapped IDL interface or abstract interface also include narrow operation(s). The static narrow method allows an <tt>org.omg.CORBA.Object</tt> to be narrowed to the object reference of a more specific type. The IDL exception <tt>CORBA::BAD_PARAM</tt> is thrown if the narrow fails because the object reference does not support the requested type. A different system exception is raised to indicate other kinds of errors. Trying to narrow a null will always succeed with a return value of null.
+<P>Helper files supply several static methods needed to manipulate the type.
+These include <tt>Any</tt> insert and extract operations for the type,
+getting the repository id, getting the typecode, and reading
+and writing the type from and to a stream.
 
+<P>The helper class for a mapped IDL interface or abstract interface also
+include narrow operation(s). The static narrow method allows an <tt>org.omg.CORBA.Object</tt>
+to be narrowed to the object reference of a more specific type.
+The IDL exception <tt>CORBA::BAD_PARAM</tt> is thrown if the narrow fails because
+the object reference does not support the requested type. A different system exception
+is raised to indicate other kinds of errors. Trying to narrow a null will always succeed with a return value of null.
 
+<H2><a name="holder">Holder Files</a></H2>
 
-<P>
+<P>Support for out and inout parameter passing modes requires the use of additional holder classes.
+These classes are available for all of the basic IDL datatypes in the <tt>org.omg.CORBA</tt> package
+and are generated for all named user defined IDL types except those defined by typedefs.
+(Note that in this context user defined includes types that are defined in OMG specifications
+such as those for the Interface Repository, and other OMG services.)
 
+<P>Each holder class has a constructor from an instance, a default constructor, and has
+a public instance member, <tt>value</tt> which is the typed value. The default constructor
+sets the value field to the default value for the type as defined by the Java language:
+false for boolean, 0 for numeric and char types, null for strings, null for object references.
 
-<a name="holder">
-<H2>Holder Files</H2></a>
-<P>
-Support for out and inout parameter passing modes requires the use of additional  holder  classes. These classes are available for all of the basic IDL datatypes in the <tt>org.omg.CORBA</tt> package and are generated for all named user defined IDL types except those defined by typedefs. (Note that in this context user defined includes types that are defined in OMG specifications such as those for the Interface Repository, and other OMG services.) 
+<P>To support portable stubs and skeletons, holder classes also implement
+the <tt>org.omg.CORBA.portable.Streamable</tt> interface.
 
 
-<P>Each holder class has a constructor from an instance, a default constructor, and has a public instance member, <tt>value</tt> which is the typed value. The default constructor sets the value field to the default value for the type as defined by the Java language: false for boolean, 0 for numeric and char types, null for strings, null for object references.
+<H2><a name="operations">Operations Files</a></H2>
 
-<P>To support portable stubs and skeletons, holder classes also implement the <tt>org.omg.CORBA.portable.Streamable</tt> interface.
+<P>A non abstract IDL interface is mapped to two public Java interfaces:
+a <em>signature</em> interface and an <em>operations</em> interface.
+The signature interface, which extends <tt>IDLEntity</tt>, has the same
+name as the IDL interface name and is used as the signature type in method declarations
+when interfaces of the specified type are used in other interfaces.
+The operations interface has the same name as the IDL interface with the suffix <tt>Operations</tt>
+appended to the end and is used in the server-side mapping and as a mechanism
+for providing optimized calls for collocated client and servers.
 
+<P>The Java operations interface contains the mapped operation signatures.
+The Java signature interface extends the operations interface,
+the (mapped) base <tt>org.omg.CORBA.Object</tt>, as well as <tt>org.omg.portable.IDLEntity</tt>.
+Methods can be invoked on the signature interface. Interface inheritance
+expressed in IDL is reflected in both the Java signature interface and operations interface hierarchies.
 
-<a name="operations">
-<H2>Operations Files</H2></a>
-<P>
-A non abstract IDL interface is mapped to two public Java interfaces: a <em>signature</em> interface and an <em>operations</em> interface. The signature interface, which extends <tt>IDLEntity</tt>, has the same name as the IDL interface name and is used as the signature type in method declarations when interfaces of the specified type are used in other interfaces. The operations interface has the same name as the IDL interface with the suffix <tt>Operations</tt> appended to the end and is used in the server-side mapping and as a mechanism for providing optimized calls for collocated client and servers.
 
-<P>The Java operations interface contains the mapped operation signatures. The Java signature interface extends the operations interface, the (mapped) base <tt>org.omg.CORBA.Object</tt>, as well as <tt>org.omg.portable.IDLEntity</tt>. Methods can be invoked on the signature interface. Interface inheritance expressed in IDL is reflected in both the Java signature interface and operations interface hierarchies.
+<H2><a name="stub">Stubs</a></H2>
 
-
-
-
-<a name="stub">
-<H2>Stubs</H2></a>
-<P>For the mapping of a non-object-oriented language, there will be a programming interface to the stubs for each interface type. Generally, the stubs will present access to the OMG IDL-defined operations on an object in a way that is easy for programmers to predict once they are familiar with OMG IDL and the language mapping for the particular programming language. The stubs make calls on the rest of the ORB using interfaces that are private to, and presumably optimized for, the particular ORB Core. If more than one ORB is available, there may be different stubs corresponding to the different ORBs. In this case, it is necessary for the ORB and language mapping to cooperate to associate the correct stubs with the particular object reference. 
+<P>For the mapping of a non-object-oriented language, there will be
+a programming interface to the stubs for each interface type. Generally, the stubs
+will present access to the OMG IDL-defined operations on an object in a way that is easy
+for programmers to predict once they are familiar with OMG IDL and the language mapping
+for the particular programming language. The stubs make calls on the rest of the ORB
+using interfaces that are private to, and presumably optimized for, the particular ORB Core.
+If more than one ORB is available, there may be different stubs corresponding to the different ORBs.
+In this case, it is necessary for the ORB and language mapping to cooperate to associate
+the correct stubs with the particular object reference.
 
 <P>Object-oriented programming languages, such as Java, C++, and Smalltalk, do not require stub interfaces.
-<P><P><BR><BR>
 
-
-
+<BR><BR>
 
 </body>
 </html>
--- a/corba/src/java.corba/share/classes/org/omg/CORBA/package.html	Tue Apr 14 14:47:40 2015 +0400
+++ b/corba/src/java.corba/share/classes/org/omg/CORBA/package.html	Tue Apr 14 12:10:01 2015 -0700
@@ -6,7 +6,7 @@
    <TITLE>package</TITLE>
 <!--
 /*
-* Copyright (c) 1998, 2006, Oracle and/or its affiliates. All rights reserved.
+* Copyright (c) 1998, 2015, 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
@@ -73,7 +73,6 @@
 <TT>ORB</TT> Methods</H3>
 
 <P>Before an application can enter the CORBA environment, it must first: 
-<P>
 <UL>
 <LI>Be initialized into the ORB and possibly the object adapter (POA) environments.
 <LI>Get references to ORB object (for use in future ORB operations) 
@@ -81,7 +80,6 @@
 </UL>
 <P>The following operations are provided to initialize applications and obtain
  the appropriate object references:
- <P>
  <UL>
  <LI>Operations providing access to the ORB, which are discussed in this
  section.
@@ -107,13 +105,13 @@
  that provide access to the ORB:
 <UL>
 <LI>
-<TT><bold>init</bold>()</TT> 
+<TT><b>init</b>()</TT>
 
 <LI>
-<TT><bold>init</bold>(String [] args, Properties props)</TT>
+<TT><b>init</b>(String [] args, Properties props)</TT>
 
 <LI>
-<TT><bold>init</bold>(Applet app, Properties props)</TT>
+<TT><b>init</b>(Applet app, Properties props)</TT>
 </UL>
 
 <P>Using the <tt>init()</tt> method without parameters initiates 
@@ -142,11 +140,11 @@
 resolve initial object references.  These are:
 <UL>
 <LI>
-<TT><bold>resolve_initial_references</bold>(String name)</TT>
+<TT><b>resolve_initial_references</b>(String name)</TT>
 <LI>
-<TT><bold>list_initial_services</bold>()</TT>
+<TT><b>list_initial_services</b>()</TT>
 <LI>
-<TT><bold>register_initial_reference</bold>(String id, 
+<TT><b>register_initial_reference</b>(String id, 
 org.omg.CORBA.Object obj)</TT>
 </UL>
 
@@ -278,7 +276,6 @@
 
 
 <P>Each holder class has:
-<P>
 <UL>
 <LI>a constructor from an instance
 <LI>a default constructor
@@ -291,7 +288,6 @@
 
 <P>The default constructor sets the value field to the default value for the 
 type as defined by the Java language: 
-<P>
 <UL>
 <LI><tt>false</tt> for boolean
 <LI><tt>0</tt> for numeric and char types
@@ -391,7 +387,6 @@
 <h2>Helper Classes </h2>
 <P>Helper files supply several static methods needed to manipulate the type.
  These include:
- <P>
  <UL>
  <LI><tt>Any</tt> insert and extract operations for the type
  <LI>getting the repository id
@@ -455,14 +450,13 @@
 <P>The <A HREF="{@docRoot}/../technotes/guides/idl/jidlExample.html"><em>Hello World</em></A> 
 tutorial uses a <tt>narrow</tt> method that looks 
 like this:
-<P>
 <PRE>
         // create and initialize the ORB
-	ORB orb = ORB.init(args, null);
+        ORB orb = ORB.init(args, null);
 
         // get the root naming context
         org.omg.CORBA.Object objRef = 
-	    orb.resolve_initial_references("NameService");
+            orb.resolve_initial_references("NameService");
         // Use NamingContextExt instead of NamingContext. This is 
         // part of latest Inter-Operable naming Service.  
         NamingContextExt ncRef = NamingContextExtHelper.narrow(objRef);
@@ -554,7 +548,6 @@
 
 }
 </PRE>
-<P>
 
 <h3>Value Type Helper Classes</h3>
 A helper class for a value type includes different renderings of
@@ -844,7 +837,7 @@
 interfaces have been included for the purpose of creating typecodes (see
 create_value_tc, create_struct_tc, create_union_tc and create_exception_tc
 methods in interface org.omg.CORBA.ORB):
-<BR>&nbs
+<BR>&nbsp;
 <UL>
 <LI>
 IRObject
@@ -893,20 +886,19 @@
 <P>Some of the API included in <TT>org.omg</TT> subpackages throw 
 <tt>NO_IMPLEMENT</tt> exceptions for various reasons.  Among these reasons
 are:
-<P>
-	<UL>
-	<LI>In some cases, for example <tt>LocalObject</tt>, the complete
-	implementation according to the specification indicates that 
-	these API should throw <tt>NO_IMPLEMENT</tt>.
-	<P>
-	<LI>In most cases, for example methods in <tt>ORB.java</tt>, 
-	methods that throw  
-	<tt>NO_IMPLEMENT</tt> are actually implemented in subclasses
-	elsewhere in the ORB code.
-	<P>
-	<LI>In some cases, for example <tt>_get_interface_def()</tt> 
-	and <tt>_get_interface</tt>, API are really not yet implemented.
-	</UL>
+    <UL>
+    <LI>In some cases, for example <tt>LocalObject</tt>, the complete
+    implementation according to the specification indicates that 
+    these API should throw <tt>NO_IMPLEMENT</tt>.
+
+    <LI>In most cases, for example methods in <tt>ORB.java</tt>, 
+    methods that throw  
+    <tt>NO_IMPLEMENT</tt> are actually implemented in subclasses
+    elsewhere in the ORB code.
+
+    <LI>In some cases, for example <tt>_get_interface_def()</tt> 
+    and <tt>_get_interface</tt>, API are really not yet implemented.
+    </UL>
 
 
 
--- a/corba/src/java.corba/share/classes/org/omg/CORBA/portable/InvokeHandler.java	Tue Apr 14 14:47:40 2015 +0400
+++ b/corba/src/java.corba/share/classes/org/omg/CORBA/portable/InvokeHandler.java	Tue Apr 14 12:10:01 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 1999, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2015, 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
@@ -56,7 +56,7 @@
      * <p>5. Marshal reply into OutputStream returned by
      *    ResponseHandler.
      * <p>6. Return OutputStream to ORB.
-     * <p>
+     *
      * @param method The method name.
      * @param input The <code>InputStream</code> containing the marshalled arguments.
      * @param handler The <code>ResponseHandler</code> which the servant uses
--- a/corba/src/java.corba/share/classes/org/omg/CORBA/portable/package.html	Tue Apr 14 14:47:40 2015 +0400
+++ b/corba/src/java.corba/share/classes/org/omg/CORBA/portable/package.html	Tue Apr 14 12:10:01 2015 -0700
@@ -2,7 +2,7 @@
 <html>
 <head>
 <!--
-Copyright (c) 1998, 2006, Oracle and/or its affiliates. All rights reserved.
+Copyright (c) 1998, 2015, 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
@@ -46,57 +46,51 @@
 can override them to provide real implementations.  The ORB included in
 Sun's release of the Java[tm] Platform, Standard Edition 6, includes 
 implementations for the following methods.
-<p>
+
 <h2>List of Unimplemented Features in Package
 <code>org.omg.CORBA.portable</code></h2>
-<p>
+
 <h3>Unimplemented Interfaces in package <code>org.omg.CORBA.portable</code></h3>
   <ul>
-<code>
-    <li>InvokeHandler
-    <li>ResponseHandler
-</code>
+    <li><code>InvokeHandler</code>
+    <li><code>ResponseHandler</code>
   </ul>
-<p>
+
 <h3>Unimplemented Methods in package <code>org.omg.CORBA.portable</code></h3>
 <ul>
-<code>
-<li>InputStream
+<li><code>InputStream</code>
   <ul>
-    <li>public int read()
-    <li>public.math.BigDecimal read_fixed()
-    <li>public org.omg.CORBA.Context read_Context() 
-    <li>public  org.omg.CORBA.Object read_Object(java.lang.Class clz)
-    <li>public org.omg.CORBA.ORB orb() 
+    <li><code>public int read()</code>
+    <li><code>public.math.BigDecimal read_fixed()</code>
+    <li><code>public org.omg.CORBA.Context read_Context()</code>
+    <li><code>public  org.omg.CORBA.Object read_Object(java.lang.Class clz)</code>
+    <li><code>public org.omg.CORBA.ORB orb()</code>
   </ul>
-<li>OutputStream
+<li><code>OutputStream</code>
   <ul>
-    <li>public org.omg.CORBA.ORB orb()
-    <li>public void write_Context(org.omg.CORBA.Context ctx,
-			      org.omg.CORBA.ContextList contexts) 
-    <li>public void write_fixed(java.math.BigDecimal value) 
-    <li>public void write(int b) 
+    <li><code>public org.omg.CORBA.ORB orb()</code>
+    <li><code>public void write_Context(org.omg.CORBA.Context ctx,
+        org.omg.CORBA.ContextList contexts)</code>
+    <li><code>public void write_fixed(java.math.BigDecimal value)</code>
+    <li><code>public void write(int b)</code>
   </ul>
-<li>Delegate
+<li><code>Delegate</code>
   <ul>
-    <li>public void releaseReply(org.omg.CORBA.Object self, InputStream input)
-    <li>public InputStream invoke(org.omg.CORBA.Object self, OutputStream output)
-    <li>public OutputStream request(org.omg.CORBA.Object self, String operation,
-				 boolean responseExpected)
-    <li>public org.omg.CORBA.Object set_policy_override(org.omg.CORBA.Object self,
+    <li><code>public void releaseReply(org.omg.CORBA.Object self, InputStream input)</code>
+    <li><code>public InputStream invoke(org.omgl.CORBA.Object self, OutputStream output)</code>
+    <li><code>public OutputStream request(org.omg.CORBA.Object self, String operation,
+        boolean responseExpected)</code>
+    <li><code>public org.omg.CORBA.Object set_policy_override(org.omg.CORBA.Object self,
                                         org.omg.CORBA.Policy[] policies,
-                                        org.omg.CORBA.SetOverrideType set_add)
-    <li>public org.omg.CORBA.DomainManager[] get_domain_managers(
-                                                org.omg.CORBA.Object
-						self)
-    <li>public org.omg.CORBA.Policy get_policy(org.omg.CORBA.Object self,
-                                         int policy_type)
+                                        org.omg.CORBA.SetOverrideType set_add)</code>
+    <li><code>public org.omg.CORBA.DomainManager[] get_domain_managers(
+                                                org.omg.CORBA.Objectself)</code>
+    <li><code>public org.omg.CORBA.Policy get_policy(org.omg.CORBA.Object self,
+                                         int policy_type)</code>
   </ul>
-</code>
 </ul>
 
 @since JDK1.2
 @serial exclude
 </body>
 </html>
-
--- a/corba/src/java.corba/share/classes/org/omg/CORBA_2_3/package.html	Tue Apr 14 14:47:40 2015 +0400
+++ b/corba/src/java.corba/share/classes/org/omg/CORBA_2_3/package.html	Tue Apr 14 12:10:01 2015 -0700
@@ -6,7 +6,7 @@
    <title>package</title>
 <!--
 /*
-* Copyright (c) 1999, 2006, Oracle and/or its affiliates. All rights reserved.
+* Copyright (c) 1999, 2015, 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,23 +43,21 @@
  
 <P>For a precise list of supported sections of official specifications with which 
 the Java[tm] Platform, Standard Edition 6, ORB complies, see <A 
-HREF="../CORBA/doc-files/compliance.html">Official Specifications for CORBA 
+HREF="../CORBA/doc-files/compliance.html">Official Specifications for CORBA
 support in Java[tm] SE 6</A>.
 <P>
 <a name="unimpl"></a>
 The following methods in the abstract class 
 <code>org.omg.CORBA_2_3.ORB</code> are unimplemented:
 <UL>
-  <code>
-  <LI>public org.omg.CORBA.portable.ValueFactory 
-  <b>register_value_factory(String id, org.omg.CORBA.portable.ValueFactory 
-factory)</b>
-  <LI>public void <b>unregister_value_factory(String id)</b>
-  <LI>public org.omg.CORBA.portable.ValueFactory 
-  <b>lookup_value_factory(String id)</b>
-  <LI>public org.omg.CORBA.Object <b>get_value_def(String repid)</b>
-  <LI>public void <b>set_delegate(java.lang.Object wrapper)</b>
-  </code>
+  <LI><code>public org.omg.CORBA.portable.ValueFactory 
+  <b>register_value_factory(String id, org.omg.CORBA.portable.ValueFactory
+     factory)</b></code>
+  <LI><code>public void <b>unregister_value_factory(String id)</b></code>
+  <LI><code>public org.omg.CORBA.portable.ValueFactory 
+  <b>lookup_value_factory(String id)</b></code>
+  <LI><code>public org.omg.CORBA.Object <b>get_value_def(String repid)</b></code>
+  <LI><code>public void <b>set_delegate(java.lang.Object wrapper)</b></code>
 </UL>
 @since JDK 1.3
 <br>
--- a/corba/src/java.corba/share/classes/org/omg/CORBA_2_3/portable/InputStream.java	Tue Apr 14 14:47:40 2015 +0400
+++ b/corba/src/java.corba/share/classes/org/omg/CORBA_2_3/portable/InputStream.java	Tue Apr 14 12:10:01 2015 -0700
@@ -77,7 +77,7 @@
      *
      * throw SecurityException if SecurityManager is installed and
      * enableSubclassImplementation SerializablePermission
-     * is not granted or jdk.corba.allowOutputStreamSubclass system
+     * is not granted or jdk.corba.allowInputStreamSubclass system
      * property is either not set or is set to 'false'
      */
     public InputStream() {
--- a/corba/src/java.corba/share/classes/org/omg/CORBA_2_3/portable/package.html	Tue Apr 14 14:47:40 2015 +0400
+++ b/corba/src/java.corba/share/classes/org/omg/CORBA_2_3/portable/package.html	Tue Apr 14 12:10:01 2015 -0700
@@ -3,7 +3,7 @@
 <head>
 <!--
 /*
-* Copyright (c) 1999, 2001, Oracle and/or its affiliates. All rights reserved.
+* Copyright (c) 1999, 2015, 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,6 @@
 * or visit www.oracle.com if you need additional information or have any
 * questions.
 */
-
 -->
 
 </head>
@@ -34,7 +33,7 @@
 
  Provides methods for the input and output of value types, and contains 
  other updates to the <code>org/omg/CORBA/portable</code> package.
-<p>
+
 @since 1.3
 @serial exclude
 </body>
--- a/corba/src/java.corba/share/classes/org/omg/CosNaming/NamingContextExtPackage/package.html	Tue Apr 14 14:47:40 2015 +0400
+++ b/corba/src/java.corba/share/classes/org/omg/CosNaming/NamingContextExtPackage/package.html	Tue Apr 14 12:10:01 2015 -0700
@@ -3,7 +3,7 @@
 <head>
 <!--
 /*
-* Copyright (c) 2001, 2006, Oracle and/or its affiliates. All rights reserved.
+* Copyright (c) 2001, 2015, 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,21 +32,20 @@
 <body bgcolor="white">
 <P>This package contains the following classes, which are used in 
 <tt>org.omg.CosNaming.NamingContextExt</tt>:
-<P>
 <UL>
-<LI><tt>AddressHelper</tt>
+ <LI><tt>AddressHelper</tt>
  <LI><tt>StringNameHelper</tt>
  <LI><tt>URLStringHelper</tt>
  <LI><tt>InvalidAddress</tt>
-
+</UL>
 
 <H3>Package Specification</H3>
- 
+
 <P>For a precise list of supported sections of official specifications with which 
 the Java[tm] Platform, Standard Edition 6 ORB complies, see <A 
 HREF="../../CORBA/doc-files/compliance.html">Official Specifications for CORBA 
 support in Java[tm] SE 6</A>.
-<p>
+
 @since 1.4
 <br>
 @serial exclude
--- a/corba/src/java.corba/share/classes/org/omg/CosNaming/NamingContextPackage/package.html	Tue Apr 14 14:47:40 2015 +0400
+++ b/corba/src/java.corba/share/classes/org/omg/CosNaming/NamingContextPackage/package.html	Tue Apr 14 12:10:01 2015 -0700
@@ -3,7 +3,7 @@
 <head>
 <!--
 /*
-* Copyright (c) 2001, 2006, Oracle and/or its affiliates. All rights reserved.
+* Copyright (c) 2001, 2015, 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,7 +32,6 @@
 <body bgcolor="white">
 <P>This package contains Exception classes for the <tt>org.omg.CosNaming</tt>
  package.  The list  of exception classes are:
- <P>
  <UL>
   <LI><tt>AlreadyBound</tt>
   <LI><tt>CannotProceed</tt>
@@ -40,6 +39,7 @@
   <LI><tt>NotEmpty</tt>
   <LI><tt>NotFound</tt>
   <LI><tt>NotFoundReason</tt>
+ </UL>
 
 
 <H3>Package Specification</H3>
@@ -48,7 +48,7 @@
 the Java[tm] Platform, Standard Edition 6 ORB complies, see <A 
 HREF="../../CORBA/doc-files/compliance.html">Official Specifications for CORBA 
 support in Java SE 6</A>.
-<p>
+
 @since 1.4
 <br>
 @serial exclude
--- a/corba/src/java.corba/share/classes/org/omg/CosNaming/nameservice.idl	Tue Apr 14 14:47:40 2015 +0400
+++ b/corba/src/java.corba/share/classes/org/omg/CosNaming/nameservice.idl	Tue Apr 14 12:10:01 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2015, 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
@@ -64,12 +64,12 @@
     Istring id;
     Istring kind;
   };
-    
+
   /**
    * A name is a sequence of name components.
    */
   typedef sequence <NameComponent> Name;
-    
+
   /**
    * Specifies whether the given binding is for a object (that is not a
    * naming context) or for a naming context.
@@ -79,7 +79,7 @@
     nobject, 	// name is bound to an object
     ncontext	// name is bound to a naming context
   };
-    
+
   /**
    * A name-to-object association is called a Binding.
    */
@@ -89,12 +89,12 @@
     BindingType binding_type;	// whether name is bound to an object
                                 //  or a naming context
   };
-    
+
   /**
    * List of Bindings.
    */
-  typedef sequence <Binding> BindingList;    
-    
+  typedef sequence <Binding> BindingList;
+
   /**
    * The BindingIterator interface allows a client to iterate through
    * the bindings using the next_one or next_n operations.
@@ -112,24 +112,24 @@
      * @param b the returned binding
      */ 
     boolean next_one(out Binding b);
-    
+
     /**
      * This operation returns at most the requested number of bindings.
      * 
-     * @param how_many the maximum number of bindings tro return <p>
+     * @param how_many the maximum number of bindings to return
      * 
      * @param bl the returned bindings
      */ 
     boolean next_n(in unsigned long how_many, 
-		   out BindingList bl);
-        
+                   out BindingList bl);
+
     // Destroy binding iterator
     /**
      * This operation destroys the iterator.
      */ 
     void destroy();
   };
-    
+
 /** 
  * A naming context is an object that contains a set of name bindings in 
  * which each name is unique. Different names can be bound to an object 
@@ -151,7 +151,7 @@
             not_context, 
             not_object 
         };
-        
+
 /** 
  * Indicates the name does not identify a binding.
  */
@@ -160,7 +160,7 @@
             NotFoundReason why;
             Name rest_of_name;
         };
-    
+
 /**
  * Indicates that the implementation has given up for some reason.
  * The client, however, may be able to continue the operation at the
@@ -171,130 +171,130 @@
             NamingContext cxt;
             Name rest_of_name;
         };
-                                         
+
 /** 
  * Indicates the name is invalid. 
  */
         exception InvalidName 
-        {};                        
-    
+        {};
+
 /**
  * Indicates an object is already bound to the specified name. Only
  * one object can be bound to a particular name in a context. 
  */
         exception AlreadyBound 
         {};
-    
+
 /**
  * Indicates that the Naming Context contains bindings.
  */
         exception NotEmpty 
         {};
-    
+
 /**
  * Creates a binding of a name and an object in the naming context.
  * Naming contexts that are bound using bind do not participate in name
  * resolution when compound names are passed to be resolved. 
  * 
- * @param n Name of the object <p>
+ * @param n Name of the object.
  * 
- * @param obj The Object to bind with the given name<p>
+ * @param obj The Object to bind with the given name.
  * 
  * @exception org.omg.CosNaming.NamingContextPackage.NotFound Indicates
- * the name does not identify a binding.<p>
+ * the name does not identify a binding.
  * 
  * @exception org.omg.CosNaming.NamingContextPackage.CannotProceed 
  * Indicates that the implementation has given up for some reason.
  * The client, however, may be able to continue the operation
- * at the returned naming context.<p>
+ * at the returned naming context.
  * 
  * @exception org.omg.CosNaming.NamingContextPackage.InvalidName 
- * Indicates that the name is invalid. <p>
+ * Indicates that the name is invalid.
  *
  * @exception org.omg.CosNaming.NamingContextPackage.AlreadyBound 
- * Indicates an object is already bound to the specified name.<p> 
+ * Indicates an object is already bound to the specified name.
  */ 
         void bind(in Name n, 
-	      in Object obj)
+                  in Object obj)
         raises(NotFound, 
-	     CannotProceed, 
-	     InvalidName, 
-	     AlreadyBound);
-    
+               CannotProceed, 
+               InvalidName, 
+               AlreadyBound);
+
 /**
  * Names an object that is a naming context. Naming contexts that
  * are bound using bind_context() participate in name resolution 
  * when compound names are passed to be resolved.
  * 
- * @param n Name of the object <p>
+ * @param n Name of the object.
  * 
- * @param nc NamingContect object to bind with the given name <p>
+ * @param nc NamingContect object to bind with the given name.
  * 
- * @exception org.omg.CosNaming.NamingContextPackage.NotFound Indicates the name does not identify a binding.<p>
+ * @exception org.omg.CosNaming.NamingContextPackage.NotFound Indicates the name does not identify a binding.
  * 
  * @exception org.omg.CosNaming.NamingContextPackage.CannotProceed Indicates that the implementation has
  * given up for some reason. The client, however, may be able to 
- * continue the operation at the returned naming context.<p>
+ * continue the operation at the returned naming context.
  * 
- * @exception org.omg.CosNaming.NamingContextPackage.InvalidName Indicates that the name is invalid. <p>
+ * @exception org.omg.CosNaming.NamingContextPackage.InvalidName Indicates that the name is invalid.
  *
  * @exception org.omg.CosNaming.NamingContextPackage.AlreadyBound Indicates an object is already 
- * bound to the specified name.<p>
+ * bound to the specified name.
  */ 
     void bind_context(in Name n, 
-		      in NamingContext nc)
+                      in NamingContext nc)
       raises(NotFound, 
-	     CannotProceed, 
-	     InvalidName, 
-	     AlreadyBound);
-    
+             CannotProceed, 
+             InvalidName, 
+             AlreadyBound);
+
 /**
  * Creates a binding of a name and an object in the naming context
  * even if the name is already bound in the context. Naming contexts 
  * that are bound using rebind do not participate in name resolution 
  * when compound names are passed to be resolved.
  * 
- * @param  n Name of the object <p>
+ * @param  n Name of the object.
  * 
- * @param obj The Object to rebind with the given name <p>
+ * @param obj The Object to rebind with the given name.
  * 
- * @exception org.omg.CosNaming.NamingContextPackage.NotFound Indicates the name does not identify a binding.<p>
+ * @exception org.omg.CosNaming.NamingContextPackage.NotFound Indicates the name does not identify a binding.
  * 
  * @exception org.omg.CosNaming.NamingContextPackage.CannotProceed Indicates that the implementation has
  * given up for some reason. The client, however, may be able to 
- * continue the operation at the returned naming context.<p>
+ * continue the operation at the returned naming context.
  * 
- * @exception org.omg.CosNaming.NamingContextPackage.InvalidName Indicates that the name is invalid. <p>
+ * @exception org.omg.CosNaming.NamingContextPackage.InvalidName Indicates that the name is invalid.
  */ 
     void rebind(in Name n, 
-		in Object obj)
+                in Object obj)
       raises(NotFound, 
-	     CannotProceed, 
-	     InvalidName);
-    
+             CannotProceed, 
+             InvalidName);
+
 /** 
  * Creates a binding of a name and a naming context in the naming
  * context even if the name is already bound in the context. Naming 
  * contexts that are bound using rebind_context() participate in name 
  * resolution when compound names are passed to be resolved.
  * 
- * @param n Name of the object <p>
+ * @param n Name of the object.
  * 
- * @param nc NamingContect object to rebind with the given name <p>
+ * @param nc NamingContect object to rebind with the given name.
  * 
- * @exception org.omg.CosNaming.NamingContextPackage.NotFound Indicates the name does not identify a binding.<p>
+ * @exception org.omg.CosNaming.NamingContextPackage.NotFound Indicates the name does not identify a binding.
  * 
  * @exception org.omg.CosNaming.NamingContextPackage.CannotProceed Indicates that the implementation has
  * given up for some reason. The client, however, may be able to 
- * continue the operation at the returned naming context.<p>
+ * continue the operation at the returned naming context.
  * 
- * @exception org.omg.CosNaming.NamingContextPackage.InvalidName Indicates that the name is invalid. <p>
+ * @exception org.omg.CosNaming.NamingContextPackage.InvalidName Indicates that the name is invalid.
  */ 
     void rebind_context(in Name n, 
-			in NamingContext nc)
+                        in NamingContext nc)
       raises(NotFound, 
-	     CannotProceed, 
-	     InvalidName);
+             CannotProceed, 
+             InvalidName);
 
 /** 
  * The resolve operation is the process of retrieving an object
@@ -304,39 +304,39 @@
  * to the appropriate type. That is, clients typically cast the returned 
  * object from Object to a more specialized interface.
  * 
- * @param n Name of the object <p>
+ * @param n Name of the object.
  * 
- * @exception org.omg.CosNaming.NamingContextPackage.NotFound Indicates the name does not identify a binding.<p>
+ * @exception org.omg.CosNaming.NamingContextPackage.NotFound Indicates the name does not identify a binding.
  * 
  * @exception org.omg.CosNaming.NamingContextPackage.CannotProceed Indicates that the implementation has
  * given up for some reason. The client, however, may be able to 
- * continue the operation at the returned naming context.<p>
+ * continue the operation at the returned naming context.
  * 
- * @exception org.omg.CosNaming.NamingContextPackage.InvalidName Indicates that the name is invalid. <p>
+ * @exception org.omg.CosNaming.NamingContextPackage.InvalidName Indicates that the name is invalid.
  */ 
     Object resolve(in Name n)
       raises(NotFound, 
-	     CannotProceed, 
-	     InvalidName);
-    
+             CannotProceed, 
+             InvalidName);
+
 /** 
  * The unbind operation removes a name binding from a context.
  * 
- * @param n Name of the object <p>
+ * @param n Name of the object.
  * 
- * @exception org.omg.CosNaming.NamingContextPackage.NotFound Indicates the name does not identify a binding.<p>
+ * @exception org.omg.CosNaming.NamingContextPackage.NotFound Indicates the name does not identify a binding.
  * 
  * @exception org.omg.CosNaming.NamingContextPackage.CannotProceed Indicates that the implementation has
  * given up for some reason. The client, however, may be able to 
- * continue the operation at the returned naming context.<p>
+ * continue the operation at the returned naming context.
  * 
- * @exception org.omg.CosNaming.NamingContextPackage.InvalidName Indicates that the name is invalid. <p>
+ * @exception org.omg.CosNaming.NamingContextPackage.InvalidName Indicates that the name is invalid.
  */ 
     void unbind(in Name n)
       raises(NotFound, 
-	     CannotProceed, 
-	     InvalidName);
-    
+             CannotProceed, 
+             InvalidName);
+
 /**
  * The list operation allows a client to iterate through a set of
  * bindings in a naming context. <p>
@@ -351,15 +351,15 @@
  * bindings, the binding iterator is a nil object reference.
  * </ul>
  * 
- * @param how_many the maximum number of bindings to return <p>
+ * @param how_many the maximum number of bindings to return.
  * 
- * @param bl the returned list of bindings <p>
+ * @param bl the returned list of bindings.
  * 
- * @param bi the returned binding iterator <p>
+ * @param bi the returned binding iterator.
  */ 
     void list(in unsigned long how_many, 
-	      out BindingList bl, 
-	      out BindingIterator bi);
+              out BindingList bl, 
+              out BindingIterator bi);
 
 /**
  * This operation returns a naming context implemented by the same
@@ -367,7 +367,7 @@
  * The new context is not bound to any name.
  */ 
     NamingContext new_context();
-    
+
 /**
  * This operation creates a new context and binds it to the name
  * supplied as an argument. The newly-created context is implemented 
@@ -375,25 +375,25 @@
  * is, the naming server that implements the context denoted by the 
  * name argument excluding the last component).
  * 
- * @param n Name of the object <p>
+ * @param n Name of the object.
  * 
- * @exception org.omg.CosNaming.NamingContextPackage.NotFound Indicates the name does not identify a binding.<p>
+ * @exception org.omg.CosNaming.NamingContextPackage.NotFound Indicates the name does not identify a binding.
  * 
  * @exception org.omg.CosNaming.NamingContextPackage.AlreadyBound Indicates an object is already 
- * bound to the specified name.<p>
+ * bound to the specified name.
  * 
  * @exception org.omg.CosNaming.NamingContextPackage.CannotProceed Indicates that the implementation has
  * given up for some reason. The client, however, may be able to 
- * continue the operation at the returned naming context.<p>
+ * continue the operation at the returned naming context.
  * 
- * @exception org.omg.CosNaming.NamingContextPackage.InvalidName Indicates that the name is invalid. <p>
+ * @exception org.omg.CosNaming.NamingContextPackage.InvalidName Indicates that the name is invalid.
  */ 
     NamingContext bind_new_context(in Name n)
       raises(NotFound, 
-	     AlreadyBound, 
-	     CannotProceed, 
-	     InvalidName);
-    
+             AlreadyBound, 
+             CannotProceed, 
+             InvalidName);
+
 /** 
  * The destroy operation deletes a naming context. If the naming 
  * context contains bindings, the NotEmpty exception is raised.
@@ -402,7 +402,7 @@
  */
     void destroy()
       raises(NotEmpty);
-    
+
   };
 
 
@@ -413,7 +413,7 @@
  * part of Interoperable Naming Service.
  * Different names can be bound to an object in the same or different
  * contexts at the same time. Using <tt>NamingContextExt</tt>, you can use
- * URL-based names to bind and resolve. <p>
+ * URL-based names to bind and resolve.
  * 
  * See <a href="http://www.omg.org/technology/documents/formal/naming_service.htm">
  * CORBA COS 
@@ -425,86 +425,84 @@
  * StringName is the Stringified Name, Array of Name Components 
  * represented as a String.
  */
-	typedef string StringName;
+        typedef string StringName;
 
 /**
  * Address is the Host and Port information represented as a String.
  */
-	typedef string Address;
-   
+        typedef string Address;
+
 /**
  * URLString is the URL address (corbaloc: or corbaname:) represented as
  * a String.
  */
-	typedef string URLString;
+        typedef string URLString;
 
 /**
  * This operation creates a stringified name from the array of Name
  * components.
  * 
- * @param n Name of the object <p>
+ * @param n Name of the object.
  * 
  * @exception org.omg.CosNaming.NamingContextExtPackage.InvalidName
- * Indicates the name does not identify a binding.<p>
+ * Indicates the name does not identify a binding.
  * 
  */ 
-	StringName to_string( in Name n ) raises (InvalidName);
+        StringName to_string( in Name n ) raises (InvalidName);
 
 /**
  * This operation  converts a Stringified Name into an  equivalent array
- * of Name Components. 
+ * of Name Components.
  * 
- * @param sn Stringified Name of the object <p>
+ * @param sn Stringified Name of the object.
  * 
  * @exception org.omg.CosNaming.NamingContextExtPackage.InvalidName
- * Indicates the name does not identify a binding.<p>
+ * Indicates the name does not identify a binding.
  * 
  */ 
-	Name to_name( in StringName sn ) raises (InvalidName);
+        Name to_name( in StringName sn ) raises (InvalidName);
 
 
 /** 
  * Indicates the invalid Stringified name for the object, The
  * reason could be invalid syntax. 
  */
-	exception InvalidAddress 
-	{ };
+        exception InvalidAddress 
+        { };
 
 /**
  * This operation creates a URL based "iiopname://" format name
  * from the Stringified Name of the object.
  * 
- * @param addr internet based address of the host machine where  Name Service is running <p>
- * @param sn Stringified Name of the object <p>
+ * @param addr internet based address of the host machine where Name Service is running.
+ * @param sn Stringified Name of the object.
  * 
  * @exception org.omg.CosNaming.NamingContextExtPackage.InvalidName
- * Indicates the name does not identify a binding.<p>
+ * Indicates the name does not identify a binding.
  * @exception org.omg.CosNaming.NamingContextPackage.InvalidAddress
- * Indicates the internet based address of the host machine is 
- * incorrect <p>
- * 
- */ 
-	URLString to_url( in Address addr, in StringName sn )
-			raises( InvalidAddress, InvalidName );
+ * Indicates the internet based address of the host machine is incorrect
+ */
+        URLString to_url( in Address addr, in StringName sn )
+            raises( InvalidAddress, InvalidName );
 
 
 /**
  * This operation resolves the Stringified name into the object
  * reference. 
  * 
- * @param sn Stringified Name of the object <p>
+ * @param sn Stringified Name of the object.
  * 
  * @exception org.omg.CosNaming.NamingContextPackage.NotFound
- * Indicates there is no object reference for the given name. <p>
+ * Indicates there is no object reference for the given name.
  * @exception org.omg.CosNaming.NamingContextPackage.CannotProceed
- * Indicates that the given compound name is incorrect <p>
+ * Indicates that the given compound name is incorrect.
  * @exception org.omg.CosNaming.NamingContextExtPackage.InvalidName
- * Indicates the name does not identify a binding.<p>
+ * Indicates the name does not identify a binding.
  * 
  */ 
-	Object resolve_str( in StringName sn)
-		raises( NotFound, CannotProceed,
-			InvalidName);
+        Object resolve_str( in StringName sn)
+            raises( NotFound, CannotProceed,
+            InvalidName);
 
   };
 
--- a/corba/src/java.corba/share/classes/org/omg/CosNaming/package.html	Tue Apr 14 14:47:40 2015 +0400
+++ b/corba/src/java.corba/share/classes/org/omg/CosNaming/package.html	Tue Apr 14 12:10:01 2015 -0700
@@ -3,7 +3,7 @@
 <head>
 <!--
 /*
-* Copyright (c) 1998, 2006, Oracle and/or its affiliates. All rights reserved.
+* Copyright (c) 1998, 2015, 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,20 +32,20 @@
 
   Provides a naming service for Java&nbsp;IDL.  The Object Request Broker Daemon
   (ORBD) also includes both a transient and persistent naming service.
-  
+
 
   <P>
   The package and all its classes and interfaces 
   were generated by running the tool <code>idlj</code> on the file
   <code>nameservice.idl</code>, which is a module written in OMG IDL.
-  
+
   <H3>Package Specification</H3>
- 
+
 <P>For a precise list of supported sections of official specifications with which 
 the Java[tm] Platform, Standard Edition 6, ORB complies, see <A 
 HREF="../CORBA/doc-files/compliance.html">Official Specifications for CORBA 
 support in Java[tm] SE 6</A>.
-  <P>
+
   <H2>Interfaces</H2>
   The package <tt>org.omg.CosNaming</tt> contains two public interfaces
   and several auxiliary classes. 
@@ -62,7 +62,7 @@
   interface supplies the main functionality for the naming service, and
   <code>BindingIterator</code> provides a means of iterating through a list
   of name/object reference bindings.
-  <P>
+
   <H2>Auxiliary Classes</H2>
   In order to map an OMG IDL interface to the Java programming language,
   the idlj compiler creates Java classes that can be thought of
@@ -70,13 +70,13 @@
   Comments for the generated auxiliary classes
   used by the interfaces <code>NamingContext</code> and 
   <code>BindingIterator</code> are included here.
-  <P>
+
   <H3>Classes Used by <code>NamingContext</code> and
   <code>BindingIterator</code></H3>
   The following are classes used by
   the naming service.  (Helper and  holder classes, which are
   generated for each of the classes listed here,  are discussed below.)
- 
+
   <UL>
     <LI><code>public final class <B>NameComponent</B></code> -- 
     a building block for names.  (Names are bound to object references
@@ -89,8 +89,7 @@
     A <code><B>NameComponent</B></code> object consists of two fields:
     <OL>
     <LI><code><B>id</B></code> -- a <code>String</code> used as an identifier
-    <LI><code><B>kind</B></code> -- a <code>String</code> that can be used for 
-any
+    <LI><code><B>kind</B></code> -- a <code>String</code> that can be used for any
     descriptive purpose.  Its importance is that it
     can be used to describe an object without affecting syntax.
     The C programming language, for example, uses the the syntactic convention
@@ -102,16 +101,15 @@
     <code>"c_source"</code>, <code>"object_code"</code>,
     <code>"executable"</code>, 
     <code>"postscript"</code>, and <code>""</code>.  It is not unusual
-	for the <code>kind</code> field to be the empty string.
+    for the <code>kind</code> field to be the empty string.
     </OL>
     <P>
     In a name, each <code>NameComponent</code> object except the last denotes
     a <code>NamingContext</code> object; the last <code>NameComponent</code>
     object denotes the bound object reference.
     This is similar to a path name, in which the last name is the
-    file name, and all names before it are directory names.<p>
-    <P>
-   
+    file name, and all names before it are directory names.
+
     <LI><code>public final class <B>Binding</B></code> -- 
     an object that associates a name with an object reference or a
     naming context.
@@ -125,45 +123,44 @@
     </OL>
     <P>
     The interface <code>NamingContext</code> has methods for
-	binding/unbinding names with object references or naming contexts,
-	for listing bindings,
+    binding/unbinding names with object references or naming contexts,
+    for listing bindings,
     and for resolving bindings (given a name, the method
     <code>resolve</code> returns the object reference bound to it).
-   
-  <P>
-  <LI><code>public final class <B>BindingType</B></code> --
+
+    <LI><code>public final class <B>BindingType</B></code> --
     an object that specifies whether the given <code>Binding</code>
     object is a binding between a name and an object reference (that is,
     not a naming context) or between a name and a naming context.
     <P>
     The class<code>BindingType</code> consists of two methods and
-	four constants. Two of these constants are
-	<code>BindingType</code> objects, and two are <code>int</code>s.
-	<P>
-	The <code>BindingType</code> objects
+    four constants. Two of these constants are
+    <code>BindingType</code> objects, and two are <code>int</code>s.
+    <P>
+    The <code>BindingType</code> objects
     can be passed to the constructor for the class
     <code>Binding</code> or used as parameters or return values.  These
-	<code>BindingType</code> objects are:
+    <code>BindingType</code> objects are:
     <UL>
     <LI><code>public static final BindingType <B>nobject</B></code> -- 
-	to indicate that the binding is with an object reference
+    to indicate that the binding is with an object reference
     <LI><code>public static final BindingType <B>ncontext</B></code> -- 
-	to indicate that the binding is with a naming context
+    to indicate that the binding is with a naming context
     </UL>
     <P>
-	The <code>int</code> constants can be supplied to the method
-	<code>from_int</code> to create  <code>BindingType</code> objects,
-	or they can be return values for the method <code>value</code>.
-	These constants are:
-	<UL>
+    The <code>int</code> constants can be supplied to the method
+    <code>from_int</code> to create  <code>BindingType</code> objects,
+    or they can be return values for the method <code>value</code>.
+    These constants are:
+    <UL>
     <LI><code>public static final int <B>_nobject</B></code>
     <LI><code>public static final int <B>_ncontext</B></code>
-	</UL>
+    </UL>
     If the method <code>from_int</code> is supplied with anything other
-	than <code>_nobject</code>
+    than <code>_nobject</code>
     or <code>_ncontext</code>, it will throw
-	the exception <code>org.omg.CORBA.BAD_PARAM</code>. 
-	<P>Usage is as follows:
+    the exception <code>org.omg.CORBA.BAD_PARAM</code>. 
+    <P>Usage is as follows:
     <PRE>
        BindingType btObject = from_int(_nobject);
        BindingType btContext = from_int(_ncontext);
@@ -182,9 +179,9 @@
        int bt = BindingType.value();
     </PRE>
   </UL>
-  
+
   <H3>Holder Classes</H3>
- 
+
   OMG IDL uses OUT and INOUT parameters for returning values from operations.
   The mapping to the Java programming language, which does not have OUT
   and INOUT parameters, creates a special class for each type, called
@@ -308,7 +305,6 @@
       This associates <code>NameService</code> with the Root Naming
       Context of the <code>CosNaming</code> implementation that you 
       want to use.
-	  <P>
   <LI>Start the standalone Bootstrap server using the following command:
   <pre>
       <code>
@@ -340,13 +336,13 @@
 <code>CosNaming</code> API, please see:
 <ul>
   <li><a href="../../../../technotes/guides/idl/tnameserv.html">
-	Naming Service</a>
+    Naming Service</a>
 </ul>
 <p>
 For an overview of Java&nbsp;IDL, please see:
 <ul>
   <li><a href="../../../../technotes/guides/idl/index.html">
-	Java&nbsp;IDL home page</a>
+    Java&nbsp;IDL home page</a>
 </ul>
 
 @since JDK1.3
--- a/corba/src/java.corba/share/classes/org/omg/Dynamic/package.html	Tue Apr 14 14:47:40 2015 +0400
+++ b/corba/src/java.corba/share/classes/org/omg/Dynamic/package.html	Tue Apr 14 12:10:01 2015 -0700
@@ -3,7 +3,7 @@
 <head>
 <!--
 /*
-* Copyright (c) 2001, 2006, Oracle and/or its affiliates. All rights reserved.
+* Copyright (c) 2001, 2015, 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
@@ -45,7 +45,7 @@
 the Java[tm] Platform, Standard Edition 6 ORB complies, see <A 
 HREF="../CORBA/doc-files/compliance.html">Official Specifications for CORBA 
 support in Java[tm] SE 6</A>.
-<p>
+
 @since 1.4
 <br>
 @serial exclude
--- a/corba/src/java.corba/share/classes/org/omg/DynamicAny/DynAnyFactoryPackage/package.html	Tue Apr 14 14:47:40 2015 +0400
+++ b/corba/src/java.corba/share/classes/org/omg/DynamicAny/DynAnyFactoryPackage/package.html	Tue Apr 14 12:10:01 2015 -0700
@@ -3,7 +3,7 @@
 <head>
 <!--
 /*
-* Copyright (c) 2001, 2006, Oracle and/or its affiliates. All rights reserved.
+* Copyright (c) 2001, 2015, 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 @@
 the Java[tm] Platform, Standard Edition 6 ORB complies, see <A 
 HREF="../../CORBA/doc-files/compliance.html">Official Specifications for CORBA 
 support in Java SE 6</A>.
-<p>
+
 @since 1.4
 <br>
 @serial exclude
--- a/corba/src/java.corba/share/classes/org/omg/DynamicAny/DynAnyPackage/package.html	Tue Apr 14 14:47:40 2015 +0400
+++ b/corba/src/java.corba/share/classes/org/omg/DynamicAny/DynAnyPackage/package.html	Tue Apr 14 12:10:01 2015 -0700
@@ -3,7 +3,7 @@
 <head>
 <!--
  
- Copyright (c) 2001, 2006, Oracle and/or its affiliates. All rights reserved.
+ Copyright (c) 2001, 2015, 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
@@ -46,7 +46,7 @@
 the Java[tm] Platform, Standard Edition 6 ORB complies, see <A 
 HREF="../../CORBA/doc-files/compliance.html">Official Specifications for CORBA 
 support in Java[tm] SE 6</A>.
-<p>
+
 @since 1.4
 <br>
 @serial exclude
--- a/corba/src/java.corba/share/classes/org/omg/DynamicAny/package.html	Tue Apr 14 14:47:40 2015 +0400
+++ b/corba/src/java.corba/share/classes/org/omg/DynamicAny/package.html	Tue Apr 14 12:10:01 2015 -0700
@@ -3,7 +3,7 @@
 <head>
 <!--
 
- Copyright (c) 2000, 2006, Oracle and/or its affiliates. All rights reserved.
+ Copyright (c) 2000, 2015, 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
@@ -197,22 +197,14 @@
  interface may raise the standard NO_IMPLEMENT exception.
  An attempt to use a <code>DynAny</code> object with the DII may raise the NO_IMPLEMENT 
 exception.
- 
-
-
-
-
-
-<P>
-
 
 <H3>Package Specification</H3>
- 
+
 <P>For a precise list of supported sections of official specifications with which 
 the Java[tm] Platform, Standard Edition 6 ORB complies, see <A 
 HREF="../CORBA/doc-files/compliance.html">Official Specifications for CORBA 
 support in Java[tm] SE 6</A>.
-<p>
+
 @since 1.4
 <br>
 @serial exclude
--- a/corba/src/java.corba/share/classes/org/omg/IOP/CodecFactoryPackage/package.html	Tue Apr 14 14:47:40 2015 +0400
+++ b/corba/src/java.corba/share/classes/org/omg/IOP/CodecFactoryPackage/package.html	Tue Apr 14 12:10:01 2015 -0700
@@ -3,7 +3,7 @@
 <head>
 <!--
  
-Copyright (c) 2001, 2006, Oracle and/or its affiliates. All rights reserved.
+Copyright (c) 2001, 2015, 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
@@ -42,7 +42,7 @@
 the Java[tm] Platform, Standard Edition 6 ORB complies, see <A 
 HREF="../../CORBA/doc-files/compliance.html">Official Specifications for CORBA 
 support in Java SE 6</A>.
-<p>
+
 @since 1.4
 <br>
 @serial exclude
--- a/corba/src/java.corba/share/classes/org/omg/IOP/CodecPackage/package.html	Tue Apr 14 14:47:40 2015 +0400
+++ b/corba/src/java.corba/share/classes/org/omg/IOP/CodecPackage/package.html	Tue Apr 14 12:10:01 2015 -0700
@@ -3,7 +3,7 @@
 <head>
 <!--
 
-Copyright (c) 2001, 2006, Oracle and/or its affiliates. All rights reserved.
+Copyright (c) 2001, 2015, 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
@@ -45,7 +45,7 @@
 the Java[tm] Platform, Standard Edition 6 ORB complies, see <A 
 HREF="../../CORBA/doc-files/compliance.html">Official Specifications for CORBA 
 support in Java[tm] SE 6</A>.
-<p>
+
 @since 1.4
 <br>
 @serial exclude
--- a/corba/src/java.corba/share/classes/org/omg/IOP/package.html	Tue Apr 14 14:47:40 2015 +0400
+++ b/corba/src/java.corba/share/classes/org/omg/IOP/package.html	Tue Apr 14 12:10:01 2015 -0700
@@ -3,7 +3,7 @@
 <head>
 <!--
 
-Copyright (c) 2001, 2006, Oracle and/or its affiliates. All rights reserved.
+Copyright (c) 2001, 2015, 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,7 +52,7 @@
 the Java[tm] Platform, Standard Edition 6 ORB complies, see <A 
 HREF="../CORBA/doc-files/compliance.html">Official Specifications for CORBA 
 support in Java[tm] SE 6</A>.
-<p>
+
 @since 1.4
 <br>
 @serial exclude
--- a/corba/src/java.corba/share/classes/org/omg/Messaging/package.html	Tue Apr 14 14:47:40 2015 +0400
+++ b/corba/src/java.corba/share/classes/org/omg/Messaging/package.html	Tue Apr 14 12:10:01 2015 -0700
@@ -3,7 +3,7 @@
 <head>
 <!--
 
-Copyright (c) 2001, 2006, Oracle and/or its affiliates. All rights reserved.
+Copyright (c) 2001, 2015, 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,7 +47,7 @@
 the Java[tm] Platform, Standard Edition 6 ORB complies, see <A 
 HREF="../CORBA/doc-files/compliance.html">Official Specifications for CORBA 
 support in Java[tm] SE 6</A>.
-<p>
+
 @since 1.4
 <br>
 @serial exclude
--- a/corba/src/java.corba/share/classes/org/omg/PortableInterceptor/IOP.idl	Tue Apr 14 14:47:40 2015 +0400
+++ b/corba/src/java.corba/share/classes/org/omg/PortableInterceptor/IOP.idl	Tue Apr 14 12:10:01 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2015, 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
@@ -258,14 +258,14 @@
      * <p>
      * The <code>TAG_ALTERNATE_IIOP_ADDRESS</code> component has an 
      * associated value of type:
-     * <code>
-     *   <pre>
+     * <pre>
+     *   <code>
      *     struct { 
      *         string HostID, 
      *         short Port 
-     *     }; 
-     *   </pre>
-     * </code>
+     *     };
+     *   </code>
+     * </pre>
      * encoded as a CDR encapsulation. 
      * <p>
      * Zero or more instances of the <code>TAG_ALTERNATE_IIOP_ADDRESS</code> 
@@ -601,7 +601,7 @@
 
     /**
      * Create a <code>Codec</code> of the given encoding.
-     * <p>
+     *
      * @param enc The encoding for which to create a <code>Codec</code>.
      * @return A <code>Codec</code> obtained with the given encoding.
      * @exception UnknownEncoding thrown if this factory cannot create a 
--- a/corba/src/java.corba/share/classes/org/omg/PortableInterceptor/Interceptors.idl	Tue Apr 14 14:47:40 2015 +0400
+++ b/corba/src/java.corba/share/classes/org/omg/PortableInterceptor/Interceptors.idl	Tue Apr 14 12:10:01 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2015, 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
@@ -479,7 +479,7 @@
      * On the client:
      * <ul>
      *   <li>Within the <code>receive_reply</code> interception point, this 
-     *       will only return <code>SUCCESSFUL</code></li>.
+     *       will only return <code>SUCCESSFUL</code>.</li>
      *   <li>Within the <code>receive_exception</code> interception point, 
      *       this will be either <code>SYSTEM_EXCEPTION</code> or 
      *       <code>USER_EXCEPTION</code>.</li>
@@ -545,7 +545,7 @@
     /**
      * Returns a copy of the service context with the given ID that 
      * is associated with the request. 
-     * <p>
+     *
      * @param id The <code>IOP.ServiceId</code> of the service context 
      *     which is to be returned. 
      * @return The <code>IOP.ServiceContext</code> obtained with the 
@@ -579,7 +579,6 @@
    * validity of each attribute or operation.  If it is not valid, attempting 
    * to access it will result in a <code>BAD_INV_ORDER</code> being thrown
    * with a standard minor code of 14.
-   * <p>
    *
    * <table border=1 summary="Shows the validity of each attribute or operation">
    *  <thead>
@@ -934,7 +933,6 @@
    * of each attribute or operation.  If it is not valid, attempting to access 
    * it will result in a <code>BAD_INV_ORDER</code> being thrown with a 
    * standard minor code of 14.
-   * <p>
    *
    *
    * <table border=1 summary="Shows the validity of each attribute or operation">
@@ -1028,7 +1026,7 @@
    *    <td>yes</td> <td>yes</td> <td>yes</td> <td>yes</td> <td>yes</td></tr>
    * 
    *    <tr><td><b>arguments</b></td>
-   *    <td>no </td> <td>yes<sub>1</sub</td> 
+   *    <td>no </td> <td>yes<sub>1</sub></td>
    *                              <td>yes</td> <td>no<sub>2</sub></td> 
    *                                                        <td>no<sub>2</sub>
    *                                                        </td></tr>
@@ -1133,7 +1131,7 @@
    *       servant, which may no longer be available to the ORB. For example, 
    *       if the object's adapter is a POA that uses a 
    *       <code>ServantLocator</code>, then the ORB invokes the interception 
-   *       point after it calls <code>ServantLocator.postinvoke()</code></li>.
+   *       point after it calls <code>ServantLocator.postinvoke()</code>.</li>
    * </ol>
    *
    * @see ServerRequestInterceptor
@@ -1889,7 +1887,7 @@
      * @param type An int specifying the type of policy being created. 
      * @param value An any containing data with which to construct the 
      *     <code>CORBA.Policy</code>. 
-     * @return A <code>CORBA.Policy<code> object of the specified type and 
+     * @return A <code>CORBA.Policy</code> object of the specified type and
      *     value.
      */
     CORBA::Policy create_policy 
@@ -2124,7 +2122,7 @@
    * <p>
    * A client-side logging service written by company X, for example, may 
    * have the following ORBInitializer implementation: 
-   * <code><pre>
+   * <pre><code>
    * package com.x.logging;
    * 
    * import org.omg.PortableInterceptor.Interceptor; 
@@ -2144,7 +2142,7 @@
    *         // This service does not need two init points. 
    *     } 
    * } 
-   * </pre></code>
+   * </code></pre>
    * To run a program called <code>MyApp</code> using this logging 
    * service, the user could type: 
    *   <blockquote><code>
--- a/corba/src/java.corba/share/classes/org/omg/PortableInterceptor/ORBInitInfoPackage/package.html	Tue Apr 14 14:47:40 2015 +0400
+++ b/corba/src/java.corba/share/classes/org/omg/PortableInterceptor/ORBInitInfoPackage/package.html	Tue Apr 14 12:10:01 2015 -0700
@@ -3,7 +3,7 @@
 <head>
 <!--
 
-Copyright (c) 2001, 2006, Oracle and/or its affiliates. All rights reserved.
+Copyright (c) 2001, 2015, 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,7 +44,7 @@
 the Java[tm] Platform, Standard Edition 6 ORB complies, see <A 
 HREF="../../CORBA/doc-files/compliance.html">Official Specifications for CORBA 
 support in Java SE 6</A>.
-<p>
+
 @since 1.4
 <br>
 @serial exclude
--- a/corba/src/java.corba/share/classes/org/omg/PortableInterceptor/package.html	Tue Apr 14 14:47:40 2015 +0400
+++ b/corba/src/java.corba/share/classes/org/omg/PortableInterceptor/package.html	Tue Apr 14 12:10:01 2015 -0700
@@ -3,7 +3,7 @@
 <head>
 <!--
 
-Copyright (c) 2000, 2006, Oracle and/or its affiliates. All rights reserved.
+Copyright (c) 2000, 2015, 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
@@ -56,41 +56,39 @@
 <h2>Known limitations / unimplemented methods in package 
 <code>org.omg.PortableInterceptor</code></h2>
 
-<code>
 <ul>
   <li>
-    <b>RequestInfo</b>
+    <code><b>RequestInfo</b></code>
     <ul>
-      <li><b>sync_scope()</b>: Always returns SYNC_WITH_TRANSPORT</li>
-      <li><b>arguments()</b>: Only supported for DII/DSI calls</li>
-      <li><b>exceptions()</b>: Only supported for DII calls on client side.  
+      <li><code><b>sync_scope()</b></code>: Always returns SYNC_WITH_TRANSPORT</li>
+      <li><code><b>arguments()</b></code>: Only supported for DII/DSI calls</li>
+      <li><code><b>exceptions()</b></code>: Only supported for DII calls on client side.  
           Not supported on server-side.</li>
-      <li><b>contexts()</b>: Only supported for DII calls on client side.
+      <li><code><b>contexts()</b></code>: Only supported for DII calls on client side.
           Not supported on server-side since our ORB does not send contexts.
           </li>
-      <li><b>operation_context()</b>: Only supported for DII calls 
+      <li><code><b>operation_context()</b></code>: Only supported for DII calls 
           on client side.  Not supported on server-side since ORB 
           does not send contexts.</li>
-      <li><b>result()</b>: Only supported for DII/DSI calls</li>
+      <li><code><b>result()</b></code>: Only supported for DII/DSI calls</li>
     </ul>
   </li>
   <li>
-    <b>ClientRequestInfo</b>
+    <code><b>ClientRequestInfo</b></code>
     <ul>
-      <li><b>received_exception_id()</b>: Always returns null in the 
+      <li><code><b>received_exception_id()</b></code>: Always returns null in the 
           DII case</li>
-      <li><b>get_request_policy(int type)</b>: Not implemented.</li>
+      <li><code><b>get_request_policy(int type)</b></code>: Not implemented.</li>
     </ul>
   </li>
   <li>
-    <b>ServerRequestInfo</b>
+    <code><b>ServerRequestInfo</b></code>
     <ul>
-      <li><b>sending_exception()</b>: Does not support user exceptions on 
+      <li><code><b>sending_exception()</b></code>: Does not support user exceptions on 
           the server side in non-DSI case.</li>
     </ul>
   </li>
 </ul>
-</code>
 
 <h2>Package Specification</h2>
 <P>For a precise list of supported sections of official OMG specifications with which 
--- a/corba/src/java.corba/share/classes/org/omg/PortableServer/CurrentPackage/package.html	Tue Apr 14 14:47:40 2015 +0400
+++ b/corba/src/java.corba/share/classes/org/omg/PortableServer/CurrentPackage/package.html	Tue Apr 14 12:10:01 2015 -0700
@@ -3,7 +3,7 @@
 <head>
 <!--
  
- Copyright (c) 2001, 2006, Oracle and/or its affiliates. All rights reserved.
+ Copyright (c) 2001, 2015, 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
@@ -53,7 +53,7 @@
 the Java[tm] Platform, Standard Edition 6 ORB complies, see <A 
 HREF="../../CORBA/doc-files/compliance.html">Official Specifications for CORBA 
 support in Java[tm] SE 6</A>.
-<p>
+
 @since 1.4
 <br>
 @serial exclude
--- a/corba/src/java.corba/share/classes/org/omg/PortableServer/POAManagerPackage/package.html	Tue Apr 14 14:47:40 2015 +0400
+++ b/corba/src/java.corba/share/classes/org/omg/PortableServer/POAManagerPackage/package.html	Tue Apr 14 12:10:01 2015 -0700
@@ -3,7 +3,7 @@
 <head>
 <!--
  
- Copyright (c) 2001, 2006, Oracle and/or its affiliates. All rights reserved.
+ Copyright (c) 2001, 2015, 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,7 +43,7 @@
 the Java[tm] Platform, Standard Edition 6 ORB complies, see <A 
 HREF="../../CORBA/doc-files/compliance.html">Official Specifications for CORBA 
 support in Java[tm] SE 6</A>.
-<p>
+
 @since 1.4
 <br>
 @serial exclude
--- a/corba/src/java.corba/share/classes/org/omg/PortableServer/POAPackage/package.html	Tue Apr 14 14:47:40 2015 +0400
+++ b/corba/src/java.corba/share/classes/org/omg/PortableServer/POAPackage/package.html	Tue Apr 14 12:10:01 2015 -0700
@@ -3,7 +3,7 @@
 <head>
 <!--
  
- Copyright (c) 2001, 2006, Oracle and/or its affiliates. All rights reserved.
+ Copyright (c) 2001, 2015, 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
@@ -36,7 +36,6 @@
 between different ORB products.  
 
 <P>The Portable Object Adaptor (POA) is designed to meet the following goals:
-<P>
 <UL>
 <LI>Allow programmers to construct object implementations that are portable between different ORB products.
 <LI>Provide support for objects with persistent identities.
@@ -66,7 +65,7 @@
 the Java[tm] Platform, Standard Edition 6, ORB complies, see <A 
 HREF="../../CORBA/doc-files/compliance.html">Official Specifications for CORBA 
 support in Java[tm] SE 6</A>.
-<p>
+
 @since 1.4
 <br>
 @serial exclude
--- a/corba/src/java.corba/share/classes/org/omg/PortableServer/ServantLocatorPackage/package.html	Tue Apr 14 14:47:40 2015 +0400
+++ b/corba/src/java.corba/share/classes/org/omg/PortableServer/ServantLocatorPackage/package.html	Tue Apr 14 12:10:01 2015 -0700
@@ -3,7 +3,7 @@
 <head>
 <!--
  
- Copyright (c) 2001, 2006, Oracle and/or its affiliates. All rights reserved.
+ Copyright (c) 2001, 2015, 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,13 +43,6 @@
 the Java[tm] Platform, Standard Edition 6 complies, see <A 
 HREF="../../CORBA/doc-files/compliance.html">Official Specifications for CORBA 
 support in Java[tm] SE 6</A>.
-<p>
-
-
-
-
-
-
 
 @since 1.4
 <br>
--- a/corba/src/java.corba/share/classes/org/omg/PortableServer/package.html	Tue Apr 14 14:47:40 2015 +0400
+++ b/corba/src/java.corba/share/classes/org/omg/PortableServer/package.html	Tue Apr 14 12:10:01 2015 -0700
@@ -3,7 +3,7 @@
 <head>
 <!--
  
- Copyright (c) 2000, 2006, Oracle and/or its affiliates. All rights reserved.
+ Copyright (c) 2000, 2015, 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,12 +52,10 @@
 the Java[tm] Platform, Standard Edition 6 complies, see <A 
 HREF="../CORBA/doc-files/compliance.html">Official Specifications for CORBA 
 support in Java[tm] SE 6</A>.
-<p>
 
 <H2>POA-related Interfaces</H2>
 
 <P>The <TT>PortableServer</TT> module defines the following POA-related interfaces:
-<P>
 <UL>
 	<LI><TT>POA</TT>
 	<LI><TT>POAManager</TT>
@@ -79,12 +77,18 @@
 
 <H3>Operations classes</H3>
 
-<P>Each of the interfaces listed above has an associated <code>Operations</code> interface.  The <code>Operations</code> interface is generated by the <code>idlj</code> compiler and contains the method signatures for methods defined in its associated interface.  The <code>Operations</code> interface can be accessed by both the client and the server, while its associated interface can only be called by the client.
+<P>Each of the interfaces listed above has an associated <code>Operations</code> interface.
+The <code>Operations</code> interface is generated by the <code>idlj</code> compiler and
+contains the method signatures for methods defined in its associated interface.
+The <code>Operations</code> interface can be accessed by both the client and the server,
+while its associated interface can only be called by the client.
 
 <H3>Value Classes</H3>
 
-Classes ending in the suffix <code>PolicyValue</code> provide the values used for the <code>create_POA</code> call, which sets the policy for the POA.   See the <a href="#sampleserver">sample code</a> below for a demonstration.  <code>PolicyValue</code> files include the following:
-<P>
+Classes ending in the suffix <code>PolicyValue</code> provide the values used
+for the <code>create_POA</code> call, which sets the policy for the POA. See
+the <a href="#sampleserver">sample code</a> below for a demonstration. 
+<code>PolicyValue</code> files include the following:
 <UL>
 <LI><code>IdAssignmentPolicyValue</code> 
 <LI><code>IdUniquenessPolicyValue</code>
@@ -98,8 +102,11 @@
 <H3>Helper Classes</H3>
 
 <P>Helper classes, which are generated for all user-defined types in an OMG IDL 
-interface, supply static methods needed to manipulate those types.  There is only one method in a helper class that an application programmer uses: the  <code>narrow</code> method.  Only Java interfaces mapped from IDL interfaces will have a helper class that includes a <code>narrow</code> method, so in the <code>PortableServer</code> package, only the following classes have a <code>narrow</code> method:
-<P>
+interface, supply static methods needed to manipulate those types.
+There is only one method in a helper class that an application programmer uses: 
+the  <code>narrow</code> method.  Only Java interfaces mapped from IDL interfaces 
+will have a helper class that includes a <code>narrow</code> method, so in
+the <code>PortableServer</code> package, only the following classes have a <code>narrow</code> method:
 <UL>
 <LI><code>ForwardRequestHelper</code>
 <LI><code>ServantActivatorHelper</code>
@@ -113,22 +120,31 @@
 <H3>Exceptions</H3>
 
 <P>The <code>ForwardRequest</code> exception indicates to the ORB 
-that it is responsible for delivering the current request and subsequent <code>ForwardRequest</code> requests to the object denoted in the 
- <code>forward_reference</code> member of the exception.
+that it is responsible for delivering the current request and
+subsequent <code>ForwardRequest</code> requests to the object denoted in the
+<code>forward_reference</code> member of the exception.
 
 <H3>Interfaces Implemented by the Application Programmer</H3>
 
-<P>Most of what <code>PortableServer</code> does is transparent to the user.  The result is that programmers will use only a few of the interfaces mentioned above.  The remaining interfaces will be provided by the ORB implementation.  The interfaces of interest to application programmers are the following:
-<P>
+<P>Most of what <code>PortableServer</code> does is transparent to the user.
+The result is that programmers will use only a few of the interfaces mentioned above.
+The remaining interfaces will be provided by the ORB implementation.
+The interfaces of interest to application programmers are the following:
 <ul>
-	<LI><code>AdapterActivator</code>
-	<P>Adapter activators are associated with POAs.  An adapter activator supplies a POA with the ability to create child POAs on demand, as a side-effect of receiving a request that names the child POA (or one of its children), or when <code>find_POA</code> is called with an activate parameter value of <code>TRUE</code>.  An application server that creates all its needed POAs at the beginning of execution does not need to use or provide an adapter activator; it is necessary only for the case in which POAs need to be created during request processing.
-	<P>
-	<LI><code>ServantLocator</code>
-	<P>When the POA has the <code>NON_RETAIN</code> policy, it uses servant managers that are <code>ServantLocator</code>s.
-	<P>
-	<LI><code>ServantActivator</code>
-	<P>When the POA has the <code>RETAIN</code> policy, it uses servant managers that are <code>ServantActivator</code>s.
+  <LI><code>AdapterActivator</code>
+  <P>Adapter activators are associated with POAs. 
+  An adapter activator supplies a POA with the ability to create child POAs on demand,
+  as a side-effect of receiving a request that names the child POA (or one of its children),
+  or when <code>find_POA</code> is called with an activate parameter value of <code>TRUE</code>.
+  An application server that creates all its needed POAs at the beginning of execution
+  does not need to use or provide an adapter activator; it is necessary
+  only for the case in which POAs need to be created during request processing.
+  <LI><code>ServantLocator</code>
+  <P>When the POA has the <code>NON_RETAIN</code> policy,
+  it uses servant managers that are <code>ServantLocator</code>s.
+  <LI><code>ServantActivator</code>
+  <P>When the POA has the <code>RETAIN</code> policy,
+  it uses servant managers that are <code>ServantActivator</code>s.
 </ul>
 
 
@@ -141,13 +157,11 @@
 <H2>Related Documentation</H2>
 
 <P>For an overview of Java IDL, please see:
-<P>
-<LI><A HREF="../../../../technotes/guides/idl/index.html">Java IDL home page</A>.
+<A HREF="../../../../technotes/guides/idl/index.html">Java IDL home page</A>.
 
 <H2>Example Code</H2>
 <a name="sampleserver"></a>
 <H3>Example Server Code</H3>
-<P>
 <PRE>
 import javax.naming.InitialContext;
 import javax.naming.Context;
@@ -209,9 +223,6 @@
 
 
 
-<P>
-
-
 @since 1.4
 <br>
 @serial exclude
--- a/corba/src/java.corba/share/classes/org/omg/SendingContext/package.html	Tue Apr 14 14:47:40 2015 +0400
+++ b/corba/src/java.corba/share/classes/org/omg/SendingContext/package.html	Tue Apr 14 12:10:01 2015 -0700
@@ -3,7 +3,7 @@
 <head>
 <!--
  
- Copyright (c) 1999, 2006, Oracle and/or its affiliates. All rights reserved.
+ Copyright (c) 1999, 2015, 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,7 +68,7 @@
 the Java[tm] Platform, Standard Edition 6 ORB complies, see <A 
 HREF="../CORBA/doc-files/compliance.html">Official Specifications for CORBA 
 support in Java[tm] SE 6</A>.
-<p>
+
 @since 1.3
 <br>
 @serial exclude
--- a/corba/src/java.corba/share/classes/org/omg/stub/java/rmi/package.html	Tue Apr 14 14:47:40 2015 +0400
+++ b/corba/src/java.corba/share/classes/org/omg/stub/java/rmi/package.html	Tue Apr 14 12:10:01 2015 -0700
@@ -3,7 +3,7 @@
 <title>org.omg.stub.java.rmi package</title>
 <!--
  
- Copyright (c) 2000, 2003, Oracle and/or its affiliates. All rights reserved.
+ Copyright (c) 2000, 2015, 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,7 +32,7 @@
 <body bgcolor="white">
   Contains RMI-IIOP Stubs for the Remote types that occur in the 
   <tt>java.rmi</tt> package.
-<p>
+
 @since 1.3
 <br>
 @serial exclude
--- a/hotspot/.hgtags	Tue Apr 14 14:47:40 2015 +0400
+++ b/hotspot/.hgtags	Tue Apr 14 12:10:01 2015 -0700
@@ -460,3 +460,5 @@
 be49ab55e5c498c5077bbf58c2737100d1992339 jdk9-b55
 fd2d5ec7e7b16c7bf4043a7fe7cfd8af96b819e2 jdk9-b56
 56a85ffe743d3f9d70ba25d6ce82ddd2ad1bf33c jdk9-b57
+ee878f3d6732856f7725c590312bfbe2ffa52cc7 jdk9-b58
+96bcaec07cb165782bae1b9a1f28450b37a10e3a jdk9-b59
--- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/memory/GenCollectedHeap.java	Tue Apr 14 14:47:40 2015 +0400
+++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/memory/GenCollectedHeap.java	Tue Apr 14 12:10:01 2015 -0700
@@ -37,7 +37,9 @@
   private static CIntegerField nGensField;
   private static AddressField youngGenField;
   private static AddressField oldGenField;
-  private static AddressField genSpecsField;
+
+  private static AddressField youngGenSpecField;
+  private static AddressField oldGenSpecField;
 
   private static GenerationFactory genFactory;
 
@@ -55,9 +57,12 @@
     nGensField = type.getCIntegerField("_n_gens");
     youngGenField = type.getAddressField("_young_gen");
     oldGenField = type.getAddressField("_old_gen");
-    genSpecsField = type.getAddressField("_gen_specs");
 
     genFactory = new GenerationFactory();
+
+    Type collectorPolicyType = db.lookupType("GenCollectorPolicy");
+    youngGenSpecField = collectorPolicyType.getAddressField("_young_gen_spec");
+    oldGenSpecField = collectorPolicyType.getAddressField("_old_gen_spec");
   }
 
   public GenCollectedHeap(Address addr) {
@@ -115,21 +120,23 @@
   /** Package-private access to GenerationSpecs */
   GenerationSpec spec(int level) {
     if (Assert.ASSERTS_ENABLED) {
-      Assert.that((level >= 0) && (level < nGens()), "Index " + level +
-                  " out of range (should be between 0 and " + nGens() + ")");
+      Assert.that((level == 0) || (level == 1), "Index " + level +
+                  " out of range (should be 0 or 1)");
     }
 
-    if ((level < 0) || (level >= nGens())) {
+    if ((level != 0) && (level != 1)) {
       return null;
     }
 
-    Address ptrList = genSpecsField.getValue(addr);
-    if (ptrList == null) {
-      return null;
+    if (level == 0) {
+      return (GenerationSpec)
+              VMObjectFactory.newObject(GenerationSpec.class,
+                      youngGenSpecField.getAddress());
+    } else {
+      return (GenerationSpec)
+              VMObjectFactory.newObject(GenerationSpec.class,
+                      oldGenSpecField.getAddress());
     }
-    return (GenerationSpec)
-      VMObjectFactory.newObject(GenerationSpec.class,
-                                ptrList.getAddressAt(level * VM.getVM().getAddressSize()));
   }
 
   public CollectedHeapName kind() {
--- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/VM.java	Tue Apr 14 14:47:40 2015 +0400
+++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/VM.java	Tue Apr 14 12:10:01 2015 -0700
@@ -123,6 +123,7 @@
 
   private static Type intxType;
   private static Type uintxType;
+  private static Type sizetType;
   private static CIntegerType boolType;
   private Boolean sharingEnabled;
   private Boolean compressedOopsEnabled;
@@ -175,7 +176,7 @@
 
      public long getIntx() {
         if (Assert.ASSERTS_ENABLED) {
-           Assert.that(isIntx(), "not a intx flag!");
+           Assert.that(isIntx(), "not an intx flag!");
         }
         return addr.getCIntegerAt(0, intxType.getSize(), false);
      }
@@ -191,6 +192,17 @@
         return addr.getCIntegerAt(0, uintxType.getSize(), true);
      }
 
+     public boolean isSizet() {
+        return type.equals("size_t");
+     }
+
+     public long getSizet() {
+        if (Assert.ASSERTS_ENABLED) {
+           Assert.that(isSizet(), "not a size_t flag!");
+        }
+        return addr.getCIntegerAt(0, sizetType.getSize(), true);
+     }
+
      public String getValue() {
         if (isBool()) {
            return new Boolean(getBool()).toString();
@@ -198,6 +210,8 @@
            return new Long(getIntx()).toString();
         } else if (isUIntx()) {
            return new Long(getUIntx()).toString();
+        } else if (isSizet()) {
+            return new Long(getSizet()).toString();
         } else {
            return null;
         }
@@ -323,6 +337,7 @@
 
     intxType = db.lookupType("intx");
     uintxType = db.lookupType("uintx");
+    sizetType = db.lookupType("size_t");
     boolType = (CIntegerType) db.lookupType("bool");
 
     minObjAlignmentInBytes = getObjectAlignmentInBytes();
--- a/hotspot/make/linux/makefiles/gcc.make	Tue Apr 14 14:47:40 2015 +0400
+++ b/hotspot/make/linux/makefiles/gcc.make	Tue Apr 14 12:10:01 2015 -0700
@@ -207,7 +207,7 @@
   WARNINGS_ARE_ERRORS += -Wno-return-type -Wno-empty-body
 endif
 
-WARNING_FLAGS = -Wpointer-arith -Wsign-compare -Wundef -Wunused-function -Wunused-value -Wformat=2 -Wreturn-type
+WARNING_FLAGS = -Wpointer-arith -Wsign-compare -Wundef -Wunused-function -Wunused-value -Wformat=2 -Wreturn-type -Woverloaded-virtual
 
 ifeq ($(USE_CLANG),)
   # Since GCC 4.3, -Wconversion has changed its meanings to warn these implicit
--- a/hotspot/src/cpu/aarch64/vm/stubGenerator_aarch64.cpp	Tue Apr 14 14:47:40 2015 +0400
+++ b/hotspot/src/cpu/aarch64/vm/stubGenerator_aarch64.cpp	Tue Apr 14 12:10:01 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
  * Copyright (c) 2014, Red Hat Inc. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
@@ -673,7 +673,6 @@
   void  gen_write_ref_array_pre_barrier(Register addr, Register count, bool dest_uninitialized) {
     BarrierSet* bs = Universe::heap()->barrier_set();
     switch (bs->kind()) {
-    case BarrierSet::G1SATBCT:
     case BarrierSet::G1SATBCTLogging:
       // With G1, don't generate the call if we statically know that the target in uninitialized
       if (!dest_uninitialized) {
@@ -719,7 +718,6 @@
     assert_different_registers(start, end, scratch);
     BarrierSet* bs = Universe::heap()->barrier_set();
     switch (bs->kind()) {
-      case BarrierSet::G1SATBCT:
       case BarrierSet::G1SATBCTLogging:
 
         {
--- a/hotspot/src/cpu/aarch64/vm/templateTable_aarch64.cpp	Tue Apr 14 14:47:40 2015 +0400
+++ b/hotspot/src/cpu/aarch64/vm/templateTable_aarch64.cpp	Tue Apr 14 12:10:01 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
  * Copyright (c) 2014, Red Hat Inc. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
@@ -150,7 +150,6 @@
   assert(val == noreg || val == r0, "parameter is just for looks");
   switch (barrier) {
 #if INCLUDE_ALL_GCS
-    case BarrierSet::G1SATBCT:
     case BarrierSet::G1SATBCTLogging:
       {
         // flatten object address if needed
--- a/hotspot/src/cpu/ppc/vm/c2_globals_ppc.hpp	Tue Apr 14 14:47:40 2015 +0400
+++ b/hotspot/src/cpu/ppc/vm/c2_globals_ppc.hpp	Tue Apr 14 12:10:01 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
  * Copyright 2012, 2014 SAP AG. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
@@ -49,7 +49,7 @@
 define_pd_global(intx, MinJumpTableSize,             10);
 define_pd_global(intx, INTPRESSURE,                  25);
 define_pd_global(intx, InteriorEntryAlignment,       16);
-define_pd_global(intx, NewSizeThreadIncrease,        ScaleForWordSize(4*K));
+define_pd_global(size_t, NewSizeThreadIncrease,      ScaleForWordSize(4*K));
 define_pd_global(intx, RegisterCostAreaRatio,        16000);
 define_pd_global(bool, UseTLAB,                      true);
 define_pd_global(bool, ResizeTLAB,                   true);
@@ -85,14 +85,14 @@
 define_pd_global(intx, CodeCacheExpansionSize,       64*K);
 
 // Ergonomics related flags
-define_pd_global(uint64_t,MaxRAM,                    4ULL*G);
+define_pd_global(uint64_t, MaxRAM,                   4ULL*G);
 define_pd_global(uintx, CodeCacheMinBlockLength,     4);
 define_pd_global(uintx, CodeCacheMinimumUseSpace,    400*K);
 
 define_pd_global(bool,  TrapBasedRangeChecks,        true);
 
 // Heap related flags
-define_pd_global(uintx,MetaspaceSize,                ScaleForWordSize(16*M));
+define_pd_global(size_t, MetaspaceSize,              ScaleForWordSize(16*M));
 
 // Ergonomics related flags
 define_pd_global(bool, NeverActAsServerClassMachine, false);
--- a/hotspot/src/cpu/ppc/vm/globals_ppc.hpp	Tue Apr 14 14:47:40 2015 +0400
+++ b/hotspot/src/cpu/ppc/vm/globals_ppc.hpp	Tue Apr 14 12:10:01 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved.
  * Copyright 2012, 2013 SAP AG. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
@@ -56,7 +56,7 @@
 define_pd_global(bool, UseMembar,             false);
 
 // GC Ergo Flags
-define_pd_global(uintx, CMSYoungGenPerWorker, 16*M);  // Default max size of CMS young gen, per GC worker thread.
+define_pd_global(size_t, CMSYoungGenPerWorker, 16*M);  // Default max size of CMS young gen, per GC worker thread.
 
 define_pd_global(uintx, TypeProfileLevel, 0);
 
--- a/hotspot/src/cpu/ppc/vm/stubGenerator_ppc.cpp	Tue Apr 14 14:47:40 2015 +0400
+++ b/hotspot/src/cpu/ppc/vm/stubGenerator_ppc.cpp	Tue Apr 14 12:10:01 2015 -0700
@@ -608,7 +608,6 @@
   void gen_write_ref_array_pre_barrier(Register from, Register to, Register count, bool dest_uninitialized, Register Rtmp1) {
     BarrierSet* const bs = Universe::heap()->barrier_set();
     switch (bs->kind()) {
-      case BarrierSet::G1SATBCT:
       case BarrierSet::G1SATBCTLogging:
         // With G1, don't generate the call if we statically know that the target in uninitialized
         if (!dest_uninitialized) {
@@ -665,7 +664,6 @@
     BarrierSet* const bs = Universe::heap()->barrier_set();
 
     switch (bs->kind()) {
-      case BarrierSet::G1SATBCT:
       case BarrierSet::G1SATBCTLogging:
         {
           if (branchToEnd) {
--- a/hotspot/src/cpu/ppc/vm/templateTable_ppc_64.cpp	Tue Apr 14 14:47:40 2015 +0400
+++ b/hotspot/src/cpu/ppc/vm/templateTable_ppc_64.cpp	Tue Apr 14 12:10:01 2015 -0700
@@ -66,7 +66,6 @@
 
   switch (barrier) {
 #if INCLUDE_ALL_GCS
-    case BarrierSet::G1SATBCT:
     case BarrierSet::G1SATBCTLogging:
       {
         // Load and record the previous value.
--- a/hotspot/src/cpu/sparc/vm/c1_globals_sparc.hpp	Tue Apr 14 14:47:40 2015 +0400
+++ b/hotspot/src/cpu/sparc/vm/c1_globals_sparc.hpp	Tue Apr 14 12:10:01 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2015, 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
@@ -53,10 +53,10 @@
 define_pd_global(intx, CodeCacheExpansionSize,       32*K );
 define_pd_global(uintx, CodeCacheMinBlockLength,     1);
 define_pd_global(uintx, CodeCacheMinimumUseSpace,    400*K);
-define_pd_global(uintx, MetaspaceSize,               12*M );
+define_pd_global(size_t, MetaspaceSize,              12*M );
 define_pd_global(bool, NeverActAsServerClassMachine, true );
-define_pd_global(intx, NewSizeThreadIncrease,        16*K );
-define_pd_global(uint64_t,MaxRAM,                    1ULL*G);
+define_pd_global(size_t, NewSizeThreadIncrease,      16*K );
+define_pd_global(uint64_t, MaxRAM,                   1ULL*G);
 define_pd_global(intx, InitialCodeCacheSize,         160*K);
 #endif // !TIERED
 
--- a/hotspot/src/cpu/sparc/vm/c2_globals_sparc.hpp	Tue Apr 14 14:47:40 2015 +0400
+++ b/hotspot/src/cpu/sparc/vm/c2_globals_sparc.hpp	Tue Apr 14 12:10:01 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2015, 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
@@ -51,7 +51,7 @@
 define_pd_global(intx, FreqInlineSize,               175);
 define_pd_global(intx, INTPRESSURE,                  48);  // large register set
 define_pd_global(intx, InteriorEntryAlignment,       16);  // = CodeEntryAlignment
-define_pd_global(intx, NewSizeThreadIncrease, ScaleForWordSize(4*K));
+define_pd_global(size_t, NewSizeThreadIncrease,      ScaleForWordSize(4*K));
 define_pd_global(intx, RegisterCostAreaRatio,        12000);
 define_pd_global(bool, UseTLAB,                      true);
 define_pd_global(bool, ResizeTLAB,                   true);
@@ -90,7 +90,7 @@
 define_pd_global(intx, NonNMethodCodeHeapSize,       5*M );
 define_pd_global(intx, CodeCacheExpansionSize,       32*K);
 // Ergonomics related flags
-define_pd_global(uint64_t,MaxRAM,                    4ULL*G);
+define_pd_global(uint64_t, MaxRAM,                   4ULL*G);
 #endif
 define_pd_global(uintx, CodeCacheMinBlockLength,     4);
 define_pd_global(uintx, CodeCacheMinimumUseSpace,    400*K);
@@ -98,7 +98,7 @@
 define_pd_global(bool,  TrapBasedRangeChecks,        false); // Not needed on sparc.
 
 // Heap related flags
-define_pd_global(uintx,MetaspaceSize,    ScaleForWordSize(16*M));
+define_pd_global(size_t, MetaspaceSize,              ScaleForWordSize(16*M));
 
 // Ergonomics related flags
 define_pd_global(bool, NeverActAsServerClassMachine, false);
--- a/hotspot/src/cpu/sparc/vm/globals_sparc.hpp	Tue Apr 14 14:47:40 2015 +0400
+++ b/hotspot/src/cpu/sparc/vm/globals_sparc.hpp	Tue Apr 14 12:10:01 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2015, 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
@@ -75,7 +75,7 @@
 define_pd_global(bool, UseMembar,            false);
 
 // GC Ergo Flags
-define_pd_global(uintx, CMSYoungGenPerWorker, 16*M);  // default max size of CMS young gen, per GC worker thread
+define_pd_global(size_t, CMSYoungGenPerWorker, 16*M);  // default max size of CMS young gen, per GC worker thread
 
 define_pd_global(uintx, TypeProfileLevel, 0);
 
--- a/hotspot/src/cpu/sparc/vm/stubGenerator_sparc.cpp	Tue Apr 14 14:47:40 2015 +0400
+++ b/hotspot/src/cpu/sparc/vm/stubGenerator_sparc.cpp	Tue Apr 14 12:10:01 2015 -0700
@@ -957,7 +957,6 @@
   void gen_write_ref_array_pre_barrier(Register addr, Register count, bool dest_uninitialized) {
     BarrierSet* bs = Universe::heap()->barrier_set();
     switch (bs->kind()) {
-      case BarrierSet::G1SATBCT:
       case BarrierSet::G1SATBCTLogging:
         // With G1, don't generate the call if we statically know that the target in uninitialized
         if (!dest_uninitialized) {
@@ -1005,7 +1004,6 @@
     BarrierSet* bs = Universe::heap()->barrier_set();
 
     switch (bs->kind()) {
-      case BarrierSet::G1SATBCT:
       case BarrierSet::G1SATBCTLogging:
         {
           // Get some new fresh output registers.
--- a/hotspot/src/cpu/sparc/vm/templateTable_sparc.cpp	Tue Apr 14 14:47:40 2015 +0400
+++ b/hotspot/src/cpu/sparc/vm/templateTable_sparc.cpp	Tue Apr 14 12:10:01 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2015, 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
@@ -56,7 +56,6 @@
   assert(index == noreg || offset == 0, "only one offset");
   switch (barrier) {
 #if INCLUDE_ALL_GCS
-    case BarrierSet::G1SATBCT:
     case BarrierSet::G1SATBCTLogging:
       {
         // Load and record the previous value.
--- a/hotspot/src/cpu/x86/vm/c1_globals_x86.hpp	Tue Apr 14 14:47:40 2015 +0400
+++ b/hotspot/src/cpu/x86/vm/c1_globals_x86.hpp	Tue Apr 14 12:10:01 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2015, 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,39 +32,39 @@
 // (see c1_globals.hpp)
 
 #ifndef TIERED
-define_pd_global(bool, BackgroundCompilation,        true );
-define_pd_global(bool, UseTLAB,                      true );
-define_pd_global(bool, ResizeTLAB,                   true );
-define_pd_global(bool, InlineIntrinsics,             true );
-define_pd_global(bool, PreferInterpreterNativeStubs, false);
-define_pd_global(bool, ProfileTraps,                 false);
-define_pd_global(bool, UseOnStackReplacement,        true );
-define_pd_global(bool, TieredCompilation,            false);
-define_pd_global(intx, CompileThreshold,             1500 );
+define_pd_global(bool, BackgroundCompilation,          true );
+define_pd_global(bool, UseTLAB,                        true );
+define_pd_global(bool, ResizeTLAB,                     true );
+define_pd_global(bool, InlineIntrinsics,               true );
+define_pd_global(bool, PreferInterpreterNativeStubs,   false);
+define_pd_global(bool, ProfileTraps,                   false);
+define_pd_global(bool, UseOnStackReplacement,          true );
+define_pd_global(bool, TieredCompilation,              false);
+define_pd_global(intx, CompileThreshold,               1500 );
 
-define_pd_global(intx, OnStackReplacePercentage,     933  );
-define_pd_global(intx, FreqInlineSize,               325  );
-define_pd_global(intx, NewSizeThreadIncrease,        4*K  );
-define_pd_global(intx, InitialCodeCacheSize,         160*K);
-define_pd_global(intx, ReservedCodeCacheSize,        32*M );
-define_pd_global(intx, NonProfiledCodeHeapSize,      13*M );
-define_pd_global(intx, ProfiledCodeHeapSize,         14*M );
-define_pd_global(intx, NonNMethodCodeHeapSize,       5*M  );
-define_pd_global(bool, ProfileInterpreter,           false);
-define_pd_global(intx, CodeCacheExpansionSize,       32*K );
-define_pd_global(uintx, CodeCacheMinBlockLength,     1);
-define_pd_global(uintx, CodeCacheMinimumUseSpace,    400*K);
-define_pd_global(uintx, MetaspaceSize,               12*M );
-define_pd_global(bool, NeverActAsServerClassMachine, true );
-define_pd_global(uint64_t,MaxRAM,                    1ULL*G);
-define_pd_global(bool, CICompileOSR,                 true );
+define_pd_global(intx,   OnStackReplacePercentage,     933  );
+define_pd_global(intx,   FreqInlineSize,               325  );
+define_pd_global(size_t, NewSizeThreadIncrease,        4*K  );
+define_pd_global(intx, InitialCodeCacheSize,           160*K);
+define_pd_global(intx, ReservedCodeCacheSize,          32*M );
+define_pd_global(intx, NonProfiledCodeHeapSize,        13*M );
+define_pd_global(intx, ProfiledCodeHeapSize,           14*M );
+define_pd_global(intx, NonNMethodCodeHeapSize,         5*M  );
+define_pd_global(bool,   ProfileInterpreter,           false);
+define_pd_global(intx, CodeCacheExpansionSize,         32*K );
+define_pd_global(uintx, CodeCacheMinBlockLength,       1    );
+define_pd_global(uintx, CodeCacheMinimumUseSpace,      400*K);
+define_pd_global(size_t, MetaspaceSize,                12*M );
+define_pd_global(bool,   NeverActAsServerClassMachine, true );
+define_pd_global(uint64_t, MaxRAM,                    1ULL*G);
+define_pd_global(bool,   CICompileOSR,                 true );
 #endif // !TIERED
-define_pd_global(bool, UseTypeProfile,               false);
-define_pd_global(bool, RoundFPResults,               true );
+define_pd_global(bool, UseTypeProfile,                 false);
+define_pd_global(bool, RoundFPResults,                 true );
 
-define_pd_global(bool, LIRFillDelaySlots,            false);
-define_pd_global(bool, OptimizeSinglePrecision,      true );
-define_pd_global(bool, CSEArrayLength,               false);
-define_pd_global(bool, TwoOperandLIRForm,            true );
+define_pd_global(bool, LIRFillDelaySlots,              false);
+define_pd_global(bool, OptimizeSinglePrecision,        true );
+define_pd_global(bool, CSEArrayLength,                 false);
+define_pd_global(bool, TwoOperandLIRForm,              true );
 
 #endif // CPU_X86_VM_C1_GLOBALS_X86_HPP
--- a/hotspot/src/cpu/x86/vm/c2_globals_x86.hpp	Tue Apr 14 14:47:40 2015 +0400
+++ b/hotspot/src/cpu/x86/vm/c2_globals_x86.hpp	Tue Apr 14 12:10:01 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2015, 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
@@ -54,25 +54,25 @@
 #ifdef AMD64
 define_pd_global(intx, INTPRESSURE,                  13);
 define_pd_global(intx, InteriorEntryAlignment,       16);
-define_pd_global(intx, NewSizeThreadIncrease, ScaleForWordSize(4*K));
+define_pd_global(size_t, NewSizeThreadIncrease,      ScaleForWordSize(4*K));
 define_pd_global(intx, LoopUnrollLimit,              60);
 // InitialCodeCacheSize derived from specjbb2000 run.
 define_pd_global(intx, InitialCodeCacheSize,         2496*K); // Integral multiple of CodeCacheExpansionSize
 define_pd_global(intx, CodeCacheExpansionSize,       64*K);
 
 // Ergonomics related flags
-define_pd_global(uint64_t,MaxRAM,                    128ULL*G);
+define_pd_global(uint64_t, MaxRAM,                   128ULL*G);
 #else
 define_pd_global(intx, INTPRESSURE,                  6);
 define_pd_global(intx, InteriorEntryAlignment,       4);
-define_pd_global(intx, NewSizeThreadIncrease,        4*K);
+define_pd_global(size_t, NewSizeThreadIncrease,      4*K);
 define_pd_global(intx, LoopUnrollLimit,              50);     // Design center runs on 1.3.1
 // InitialCodeCacheSize derived from specjbb2000 run.
 define_pd_global(intx, InitialCodeCacheSize,         2304*K); // Integral multiple of CodeCacheExpansionSize
 define_pd_global(intx, CodeCacheExpansionSize,       32*K);
 
 // Ergonomics related flags
-define_pd_global(uint64_t,MaxRAM,                    4ULL*G);
+define_pd_global(uint64_t, MaxRAM,                   4ULL*G);
 #endif // AMD64
 define_pd_global(intx, RegisterCostAreaRatio,        16000);
 
@@ -93,7 +93,7 @@
 define_pd_global(bool,  TrapBasedRangeChecks,        false); // Not needed on x86.
 
 // Heap related flags
-define_pd_global(uintx,MetaspaceSize,    ScaleForWordSize(16*M));
+define_pd_global(size_t, MetaspaceSize,              ScaleForWordSize(16*M));
 
 // Ergonomics related flags
 define_pd_global(bool, NeverActAsServerClassMachine, false);
--- a/hotspot/src/cpu/x86/vm/globals_x86.hpp	Tue Apr 14 14:47:40 2015 +0400
+++ b/hotspot/src/cpu/x86/vm/globals_x86.hpp	Tue Apr 14 12:10:01 2015 -0700
@@ -78,7 +78,7 @@
 #endif
 
 // GC Ergo Flags
-define_pd_global(uintx, CMSYoungGenPerWorker, 64*M);  // default max size of CMS young gen, per GC worker thread
+define_pd_global(size_t, CMSYoungGenPerWorker, 64*M);  // default max size of CMS young gen, per GC worker thread
 
 define_pd_global(uintx, TypeProfileLevel, 111);
 
--- a/hotspot/src/cpu/x86/vm/stubGenerator_x86_32.cpp	Tue Apr 14 14:47:40 2015 +0400
+++ b/hotspot/src/cpu/x86/vm/stubGenerator_x86_32.cpp	Tue Apr 14 12:10:01 2015 -0700
@@ -706,7 +706,6 @@
     assert_different_registers(start, count);
     BarrierSet* bs = Universe::heap()->barrier_set();
     switch (bs->kind()) {
-      case BarrierSet::G1SATBCT:
       case BarrierSet::G1SATBCTLogging:
         // With G1, don't generate the call if we statically know that the target in uninitialized
         if (!uninitialized_target) {
@@ -739,7 +738,6 @@
     BarrierSet* bs = Universe::heap()->barrier_set();
     assert_different_registers(start, count);
     switch (bs->kind()) {
-      case BarrierSet::G1SATBCT:
       case BarrierSet::G1SATBCTLogging:
         {
           __ pusha();                      // push registers
--- a/hotspot/src/cpu/x86/vm/stubGenerator_x86_64.cpp	Tue Apr 14 14:47:40 2015 +0400
+++ b/hotspot/src/cpu/x86/vm/stubGenerator_x86_64.cpp	Tue Apr 14 12:10:01 2015 -0700
@@ -1207,7 +1207,6 @@
   void  gen_write_ref_array_pre_barrier(Register addr, Register count, bool dest_uninitialized) {
     BarrierSet* bs = Universe::heap()->barrier_set();
     switch (bs->kind()) {
-      case BarrierSet::G1SATBCT:
       case BarrierSet::G1SATBCTLogging:
         // With G1, don't generate the call if we statically know that the target in uninitialized
         if (!dest_uninitialized) {
@@ -1252,7 +1251,6 @@
     assert_different_registers(start, count, scratch);
     BarrierSet* bs = Universe::heap()->barrier_set();
     switch (bs->kind()) {
-      case BarrierSet::G1SATBCT:
       case BarrierSet::G1SATBCTLogging:
         {
           __ pusha();             // push registers (overkill)
--- a/hotspot/src/cpu/x86/vm/templateTable_x86.cpp	Tue Apr 14 14:47:40 2015 +0400
+++ b/hotspot/src/cpu/x86/vm/templateTable_x86.cpp	Tue Apr 14 12:10:01 2015 -0700
@@ -156,7 +156,6 @@
   assert(val == noreg || val == rax, "parameter is just for looks");
   switch (barrier) {
 #if INCLUDE_ALL_GCS
-    case BarrierSet::G1SATBCT:
     case BarrierSet::G1SATBCTLogging:
       {
         // flatten object address if needed
--- a/hotspot/src/cpu/zero/vm/globals_zero.hpp	Tue Apr 14 14:47:40 2015 +0400
+++ b/hotspot/src/cpu/zero/vm/globals_zero.hpp	Tue Apr 14 12:10:01 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
  * Copyright 2007, 2008, 2009, 2010, 2011 Red Hat, Inc.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
@@ -57,7 +57,7 @@
 define_pd_global(bool,  UseMembar,            true);
 
 // GC Ergo Flags
-define_pd_global(uintx, CMSYoungGenPerWorker, 16*M);  // default max size of CMS young gen, per GC worker thread
+define_pd_global(size_t, CMSYoungGenPerWorker, 16*M);  // default max size of CMS young gen, per GC worker thread
 
 define_pd_global(uintx, TypeProfileLevel, 0);
 
--- a/hotspot/src/cpu/zero/vm/shark_globals_zero.hpp	Tue Apr 14 14:47:40 2015 +0400
+++ b/hotspot/src/cpu/zero/vm/shark_globals_zero.hpp	Tue Apr 14 12:10:01 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
  * Copyright 2008, 2009, 2010 Red Hat, Inc.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
@@ -50,7 +50,7 @@
 define_pd_global(intx,     OnStackReplacePercentage,     933  );
 define_pd_global(intx,     FreqInlineSize,               325  );
 define_pd_global(uintx,    NewRatio,                     12   );
-define_pd_global(intx,     NewSizeThreadIncrease,        4*K  );
+define_pd_global(size_t,   NewSizeThreadIncrease,        4*K  );
 define_pd_global(intx,     InitialCodeCacheSize,         160*K);
 define_pd_global(intx,     ReservedCodeCacheSize,        32*M );
 define_pd_global(intx,     NonProfiledCodeHeapSize,      13*M );
@@ -61,7 +61,7 @@
 define_pd_global(uintx,    CodeCacheMinBlockLength,      1    );
 define_pd_global(uintx,    CodeCacheMinimumUseSpace,     200*K);
 
-define_pd_global(uintx,    MetaspaceSize,                12*M );
+define_pd_global(size_t,   MetaspaceSize,                12*M );
 define_pd_global(bool,     NeverActAsServerClassMachine, true );
 define_pd_global(uint64_t, MaxRAM,                       1ULL*G);
 define_pd_global(bool,     CICompileOSR,                 true );
--- a/hotspot/src/os_cpu/aix_ppc/vm/globals_aix_ppc.hpp	Tue Apr 14 14:47:40 2015 +0400
+++ b/hotspot/src/os_cpu/aix_ppc/vm/globals_aix_ppc.hpp	Tue Apr 14 12:10:01 2015 -0700
@@ -40,13 +40,13 @@
 define_pd_global(intx, CompilerThreadStackSize,  4096);
 
 // Allow extra space in DEBUG builds for asserts.
-define_pd_global(uintx,JVMInvokeMethodSlack,     8192);
+define_pd_global(size_t, JVMInvokeMethodSlack,   8192);
 
 define_pd_global(intx, StackYellowPages,         6);
 define_pd_global(intx, StackRedPages,            1);
 define_pd_global(intx, StackShadowPages,         6 DEBUG_ONLY(+2));
 
 // Only used on 64 bit platforms
-define_pd_global(uintx,HeapBaseMinAddress,       2*G);
+define_pd_global(size_t, HeapBaseMinAddress,     2*G);
 
 #endif // OS_CPU_AIX_OJDKPPC_VM_GLOBALS_AIX_PPC_HPP
--- a/hotspot/src/os_cpu/bsd_x86/vm/globals_bsd_x86.hpp	Tue Apr 14 14:47:40 2015 +0400
+++ b/hotspot/src/os_cpu/bsd_x86/vm/globals_bsd_x86.hpp	Tue Apr 14 12:10:01 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2015, 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,9 +43,9 @@
 
 define_pd_global(intx, CompilerThreadStackSize,  0);
 
-define_pd_global(uintx, JVMInvokeMethodSlack,    8192);
+define_pd_global(size_t, JVMInvokeMethodSlack,   8192);
 
 // Used on 64 bit platforms for UseCompressedOops base address
-define_pd_global(uintx, HeapBaseMinAddress,      2*G);
+define_pd_global(size_t, HeapBaseMinAddress,     2*G);
 
 #endif // OS_CPU_BSD_X86_VM_GLOBALS_BSD_X86_HPP
--- a/hotspot/src/os_cpu/bsd_zero/vm/globals_bsd_zero.hpp	Tue Apr 14 14:47:40 2015 +0400
+++ b/hotspot/src/os_cpu/bsd_zero/vm/globals_bsd_zero.hpp	Tue Apr 14 12:10:01 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
  * Copyright 2007, 2008, 2010 Red Hat, Inc.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
@@ -39,9 +39,9 @@
 define_pd_global(intx,  VMThreadStackSize,       512);
 #endif // _LP64
 define_pd_global(intx,  CompilerThreadStackSize, 0);
-define_pd_global(uintx, JVMInvokeMethodSlack,    8192);
+define_pd_global(size_t, JVMInvokeMethodSlack,   8192);
 
 // Used on 64 bit platforms for UseCompressedOops base address
-define_pd_global(uintx, HeapBaseMinAddress,      2*G);
+define_pd_global(size_t, HeapBaseMinAddress,     2*G);
 
 #endif // OS_CPU_BSD_ZERO_VM_GLOBALS_BSD_ZERO_HPP
--- a/hotspot/src/os_cpu/linux_aarch64/vm/os_linux_aarch64.cpp	Tue Apr 14 14:47:40 2015 +0400
+++ b/hotspot/src/os_cpu/linux_aarch64/vm/os_linux_aarch64.cpp	Tue Apr 14 12:10:01 2015 -0700
@@ -116,6 +116,14 @@
 #endif
 }
 
+void os::Linux::ucontext_set_pc(ucontext_t * uc, address pc) {
+#ifdef BUILTIN_SIM
+  uc->uc_mcontext.gregs[REG_PC] = (intptr_t)pc;
+#else
+  uc->uc_mcontext.pc = (intptr_t)pc;
+#endif
+}
+
 intptr_t* os::Linux::ucontext_get_sp(ucontext_t * uc) {
 #ifdef BUILTIN_SIM
   return (intptr_t*)uc->uc_mcontext.gregs[REG_SP];
@@ -311,7 +319,7 @@
     }
 #else
     if (StubRoutines::is_safefetch_fault(pc)) {
-      uc->uc_mcontext.pc = intptr_t(StubRoutines::continuation_for_safefetch_fault(pc));
+      os::Linux::ucontext_set_pc(uc, StubRoutines::continuation_for_safefetch_fault(pc));
       return 1;
     }
 #endif
@@ -432,11 +440,7 @@
     // save all thread context in case we need to restore it
     if (thread != NULL) thread->set_saved_exception_pc(pc);
 
-#ifdef BUILTIN_SIM
-    uc->uc_mcontext.gregs[REG_PC] = (greg_t)stub;
-#else
-    uc->uc_mcontext.pc = (__u64)stub;
-#endif
+    os::Linux::ucontext_set_pc(uc, stub);
     return true;
   }
 
--- a/hotspot/src/os_cpu/linux_ppc/vm/globals_linux_ppc.hpp	Tue Apr 14 14:47:40 2015 +0400
+++ b/hotspot/src/os_cpu/linux_ppc/vm/globals_linux_ppc.hpp	Tue Apr 14 12:10:01 2015 -0700
@@ -40,13 +40,13 @@
 define_pd_global(intx, CompilerThreadStackSize,  4096);
 
 // Allow extra space in DEBUG builds for asserts.
-define_pd_global(uintx,JVMInvokeMethodSlack,     8192);
+define_pd_global(size_t, JVMInvokeMethodSlack,   8192);
 
 define_pd_global(intx, StackYellowPages,         6);
 define_pd_global(intx, StackRedPages,            1);
 define_pd_global(intx, StackShadowPages,         6 DEBUG_ONLY(+2));
 
 // Only used on 64 bit platforms
-define_pd_global(uintx,HeapBaseMinAddress,       2*G);
+define_pd_global(size_t, HeapBaseMinAddress,     2*G);
 
 #endif // OS_CPU_LINUX_PPC_VM_GLOBALS_LINUX_PPC_HPP
--- a/hotspot/src/os_cpu/linux_sparc/vm/globals_linux_sparc.hpp	Tue Apr 14 14:47:40 2015 +0400
+++ b/hotspot/src/os_cpu/linux_sparc/vm/globals_linux_sparc.hpp	Tue Apr 14 12:10:01 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2015, 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,10 +30,10 @@
 // runtime system.  (see globals.hpp)
 //
 
-define_pd_global(uintx, JVMInvokeMethodSlack,    12288);
+define_pd_global(size_t, JVMInvokeMethodSlack,   12288);
 define_pd_global(intx, CompilerThreadStackSize,  0);
 
 // Used on 64 bit platforms for UseCompressedOops base address
-define_pd_global(uintx, HeapBaseMinAddress,      CONST64(4)*G);
+define_pd_global(size_t, HeapBaseMinAddress,     CONST64(4)*G);
 
 #endif // OS_CPU_LINUX_SPARC_VM_GLOBALS_LINUX_SPARC_HPP
--- a/hotspot/src/os_cpu/linux_x86/vm/globals_linux_x86.hpp	Tue Apr 14 14:47:40 2015 +0400
+++ b/hotspot/src/os_cpu/linux_x86/vm/globals_linux_x86.hpp	Tue Apr 14 12:10:01 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2015, 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
@@ -42,9 +42,9 @@
 
 define_pd_global(intx, CompilerThreadStackSize,  0);
 
-define_pd_global(uintx,JVMInvokeMethodSlack,     8192);
+define_pd_global(size_t, JVMInvokeMethodSlack,   8192);
 
 // Used on 64 bit platforms for UseCompressedOops base address
-define_pd_global(uintx,HeapBaseMinAddress,       2*G);
+define_pd_global(size_t, HeapBaseMinAddress,     2*G);
 
 #endif // OS_CPU_LINUX_X86_VM_GLOBALS_LINUX_X86_HPP
--- a/hotspot/src/os_cpu/linux_zero/vm/globals_linux_zero.hpp	Tue Apr 14 14:47:40 2015 +0400
+++ b/hotspot/src/os_cpu/linux_zero/vm/globals_linux_zero.hpp	Tue Apr 14 12:10:01 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
  * Copyright 2007, 2008, 2010 Red Hat, Inc.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
@@ -39,9 +39,9 @@
 define_pd_global(intx,  VMThreadStackSize,       512);
 #endif // _LP64
 define_pd_global(intx,  CompilerThreadStackSize, 0);
-define_pd_global(uintx, JVMInvokeMethodSlack,    8192);
+define_pd_global(size_t, JVMInvokeMethodSlack,   8192);
 
 // Used on 64 bit platforms for UseCompressedOops base address
-define_pd_global(uintx, HeapBaseMinAddress,      2*G);
+define_pd_global(size_t, HeapBaseMinAddress,     2*G);
 
 #endif // OS_CPU_LINUX_ZERO_VM_GLOBALS_LINUX_ZERO_HPP
--- a/hotspot/src/os_cpu/solaris_sparc/vm/globals_solaris_sparc.hpp	Tue Apr 14 14:47:40 2015 +0400
+++ b/hotspot/src/os_cpu/solaris_sparc/vm/globals_solaris_sparc.hpp	Tue Apr 14 12:10:01 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2015, 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,16 +30,16 @@
 // (see globals.hpp)
 //
 
-define_pd_global(uintx, JVMInvokeMethodSlack,    12288);
+define_pd_global(size_t, JVMInvokeMethodSlack,   12288);
 define_pd_global(intx, CompilerThreadStackSize,  0);
 
 // Used on 64 bit platforms for UseCompressedOops base address
 #ifdef _LP64
 // use 6G as default base address because by default the OS maps the application
 // to 4G on Solaris-Sparc. This leaves at least 2G for the native heap.
-define_pd_global(uintx, HeapBaseMinAddress,      CONST64(6)*G);
+define_pd_global(size_t, HeapBaseMinAddress,     CONST64(6)*G);
 #else
-define_pd_global(uintx, HeapBaseMinAddress,      2*G);
+define_pd_global(size_t, HeapBaseMinAddress,     2*G);
 #endif
 
 
--- a/hotspot/src/os_cpu/solaris_x86/vm/globals_solaris_x86.hpp	Tue Apr 14 14:47:40 2015 +0400
+++ b/hotspot/src/os_cpu/solaris_x86/vm/globals_solaris_x86.hpp	Tue Apr 14 12:10:01 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2015, 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,18 +32,18 @@
 #ifdef AMD64
 define_pd_global(intx, ThreadStackSize,          1024); // 0 => use system default
 define_pd_global(intx, VMThreadStackSize,        1024);
-define_pd_global(uintx,JVMInvokeMethodSlack,     8*K);
+define_pd_global(size_t, JVMInvokeMethodSlack,   8*K);
 #else
 // ThreadStackSize 320 allows a couple of test cases to run while
 // keeping the number of threads that can be created high.
 define_pd_global(intx, ThreadStackSize,          320);
 define_pd_global(intx, VMThreadStackSize,        512);
-define_pd_global(uintx,JVMInvokeMethodSlack,     10*K);
+define_pd_global(size_t, JVMInvokeMethodSlack,   10*K);
 #endif // AMD64
 
 define_pd_global(intx, CompilerThreadStackSize,  0);
 
 // Used on 64 bit platforms for UseCompressedOops base address
-define_pd_global(uintx,HeapBaseMinAddress,       2*G);
+define_pd_global(size_t, HeapBaseMinAddress,     2*G);
 
 #endif // OS_CPU_SOLARIS_X86_VM_GLOBALS_SOLARIS_X86_HPP
--- a/hotspot/src/os_cpu/windows_x86/vm/globals_windows_x86.hpp	Tue Apr 14 14:47:40 2015 +0400
+++ b/hotspot/src/os_cpu/windows_x86/vm/globals_windows_x86.hpp	Tue Apr 14 12:10:01 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2015, 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,9 +43,9 @@
 define_pd_global(intx, CompilerThreadStackSize,  0);
 #endif
 
-define_pd_global(uintx, JVMInvokeMethodSlack,    8192);
+define_pd_global(size_t, JVMInvokeMethodSlack,   8192);
 
 // Used on 64 bit platforms for UseCompressedOops base address
-define_pd_global(uintx, HeapBaseMinAddress,      2*G);
+define_pd_global(size_t, HeapBaseMinAddress,     2*G);
 
 #endif // OS_CPU_WINDOWS_X86_VM_GLOBALS_WINDOWS_X86_HPP
--- a/hotspot/src/share/vm/c1/c1_LIRGenerator.cpp	Tue Apr 14 14:47:40 2015 +0400
+++ b/hotspot/src/share/vm/c1/c1_LIRGenerator.cpp	Tue Apr 14 12:10:01 2015 -0700
@@ -1421,7 +1421,6 @@
   // Do the pre-write barrier, if any.
   switch (_bs->kind()) {
 #if INCLUDE_ALL_GCS
-    case BarrierSet::G1SATBCT:
     case BarrierSet::G1SATBCTLogging:
       G1SATBCardTableModRef_pre_barrier(addr_opr, pre_val, do_load, patch, info);
       break;
@@ -1442,7 +1441,6 @@
 void LIRGenerator::post_barrier(LIR_OprDesc* addr, LIR_OprDesc* new_val) {
   switch (_bs->kind()) {
 #if INCLUDE_ALL_GCS
-    case BarrierSet::G1SATBCT:
     case BarrierSet::G1SATBCTLogging:
       G1SATBCardTableModRef_post_barrier(addr,  new_val);
       break;
--- a/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/cmsCollectorPolicy.cpp	Tue Apr 14 14:47:40 2015 +0400
+++ b/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/cmsCollectorPolicy.cpp	Tue Apr 14 12:10:01 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,10 @@
 }
 
 void ConcurrentMarkSweepPolicy::initialize_generations() {
-  _generations = NEW_C_HEAP_ARRAY(GenerationSpecPtr, number_of_generations(), mtGC);
-  _generations[0] = new GenerationSpec(Generation::ParNew, _initial_young_size, _max_young_size);
-  _generations[1] = new GenerationSpec(Generation::ConcurrentMarkSweep, _initial_old_size, _max_old_size);
+  _young_gen_spec = new GenerationSpec(Generation::ParNew, _initial_young_size,
+                                       _max_young_size, _gen_alignment);
+  _old_gen_spec   = new GenerationSpec(Generation::ConcurrentMarkSweep,
+                                       _initial_old_size, _max_old_size, _gen_alignment);
 }
 
 void ConcurrentMarkSweepPolicy::initialize_size_policy(size_t init_eden_size,
--- a/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp	Tue Apr 14 14:47:40 2015 +0400
+++ b/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp	Tue Apr 14 12:10:01 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2015, 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
@@ -186,7 +186,7 @@
       cp->space->set_compaction_top(compact_top);
       cp->space = cp->space->next_compaction_space();
       if (cp->space == NULL) {
-        cp->gen = GenCollectedHeap::heap()->prev_gen(cp->gen);
+        cp->gen = GenCollectedHeap::heap()->young_gen();
         assert(cp->gen != NULL, "compaction must succeed");
         cp->space = cp->gen->first_compaction_space();
         assert(cp->space != NULL, "generation must have a first compaction space");
@@ -900,7 +900,6 @@
   }
 }
 
-
 // Callers of this iterator beware: The closure application should
 // be robust in the face of uninitialized objects and should (always)
 // return a correct size so that the next addr + size below gives us a
@@ -2663,8 +2662,8 @@
       // Need to smooth wrt historical average
       if (ResizeOldPLAB) {
         _blocks_to_claim[i].sample(
-          MAX2((size_t)CMSOldPLABMin,
-          MIN2((size_t)CMSOldPLABMax,
+          MAX2(CMSOldPLABMin,
+          MIN2(CMSOldPLABMax,
                _global_num_blocks[i]/(_global_num_workers[i]*CMSOldPLABNumRefills))));
       }
       // Reset counters for next round
--- a/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.hpp	Tue Apr 14 14:47:40 2015 +0400
+++ b/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.hpp	Tue Apr 14 12:10:01 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2015, 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
@@ -36,7 +36,9 @@
 // space, in this case a CompactibleFreeListSpace.
 
 // Forward declarations
+class CMSCollector;
 class CompactibleFreeListSpace;
+class ConcurrentMarkSweepGeneration;
 class BlkClosure;
 class BlkClosureCareful;
 class FreeChunk;
@@ -396,6 +398,10 @@
   // Resizing support
   void set_end(HeapWord* value);  // override
 
+  // Never mangle CompactibleFreeListSpace
+  void mangle_unused_area() {}
+  void mangle_unused_area_complete() {}
+
   // Mutual exclusion support
   Mutex* freelistLock() const { return &_freelistLock; }
 
--- a/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp	Tue Apr 14 14:47:40 2015 +0400
+++ b/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp	Tue Apr 14 12:10:01 2015 -0700
@@ -65,8 +65,6 @@
 #include "services/memoryService.hpp"
 #include "services/runtimeService.hpp"
 
-PRAGMA_FORMAT_MUTE_WARNINGS_FOR_GCC
-
 // statics
 CMSCollector* ConcurrentMarkSweepGeneration::_collector = NULL;
 bool CMSCollector::_full_gc_requested = false;
@@ -369,7 +367,7 @@
 double CMSStats::time_until_cms_gen_full() const {
   size_t cms_free = _cms_gen->cmsSpace()->free();
   GenCollectedHeap* gch = GenCollectedHeap::heap();
-  size_t expected_promotion = MIN2(gch->get_gen(0)->capacity(),
+  size_t expected_promotion = MIN2(gch->young_gen()->capacity(),
                                    (size_t) _cms_gen->gc_stats()->avg_promoted()->padded_average());
   if (cms_free > expected_promotion) {
     // Start a cms collection if there isn't enough space to promote
@@ -506,7 +504,7 @@
   _collector_policy(cp),
   _should_unload_classes(CMSClassUnloadingEnabled),
   _concurrent_cycles_since_last_unload(0),
-  _roots_scanning_options(SharedHeap::SO_None),
+  _roots_scanning_options(GenCollectedHeap::SO_None),
   _inter_sweep_estimate(CMS_SweepWeight, CMS_SweepPadding),
   _intra_sweep_estimate(CMS_SweepWeight, CMS_SweepPadding),
   _gc_tracer_cm(new (ResourceObj::C_HEAP, mtGC) CMSTracer()),
@@ -626,8 +624,8 @@
 
   // Support for parallelizing young gen rescan
   GenCollectedHeap* gch = GenCollectedHeap::heap();
-  assert(gch->prev_gen(_cmsGen)->kind() == Generation::ParNew, "CMS can only be used with ParNew");
-  _young_gen = (ParNewGeneration*)gch->prev_gen(_cmsGen);
+  assert(gch->young_gen()->kind() == Generation::ParNew, "CMS can only be used with ParNew");
+  _young_gen = (ParNewGeneration*)gch->young_gen();
   if (gch->supports_inline_contig_alloc()) {
     _top_addr = gch->top_addr();
     _end_addr = gch->end_addr();
@@ -869,7 +867,7 @@
       if (prev_level >= 0) {
         size_t prev_size = 0;
         GenCollectedHeap* gch = GenCollectedHeap::heap();
-        Generation* prev_gen = gch->get_gen(prev_level);
+        Generation* prev_gen = gch->young_gen();
         prev_size = prev_gen->capacity();
           gclog_or_tty->print_cr("  Younger gen size "SIZE_FORMAT,
                                  prev_size/1000);
@@ -1049,11 +1047,8 @@
     // expand and retry
     size_t s = _cmsSpace->expansionSpaceRequired(obj_size);  // HeapWords
     expand_for_gc_cause(s*HeapWordSize, MinHeapDeltaBytes, CMSExpansionCause::_satisfy_promotion);
-    // Since there's currently no next generation, we don't try to promote
+    // Since this is the old generation, we don't try to promote
     // into a more senior generation.
-    assert(next_gen() == NULL, "assumption, based upon which no attempt "
-                               "is made to pass on a possibly failing "
-                               "promotion to next generation");
     res = _cmsSpace->promote(obj, obj_size);
   }
   if (res != NULL) {
@@ -1596,7 +1591,7 @@
   bitMapLock()->lock_without_safepoint_check();
   if (TraceCMSState) {
     gclog_or_tty->print_cr("CMS foreground collector has asked for control "
-      INTPTR_FORMAT " with first state %d", Thread::current(), first_state);
+      INTPTR_FORMAT " with first state %d", p2i(Thread::current()), first_state);
     gclog_or_tty->print_cr("    gets control with state %d", _collectorState);
   }
 
@@ -1766,27 +1761,27 @@
   // Eden
   if (_eden_chunk_array != NULL) {
     gclog_or_tty->print_cr("eden " PTR_FORMAT "-" PTR_FORMAT "-" PTR_FORMAT "(" SIZE_FORMAT ")",
-                           eden_space->bottom(), eden_space->top(),
-                           eden_space->end(), eden_space->capacity());
+                           p2i(eden_space->bottom()), p2i(eden_space->top()),
+                           p2i(eden_space->end()), eden_space->capacity());
     gclog_or_tty->print_cr("_eden_chunk_index=" SIZE_FORMAT ", "
                            "_eden_chunk_capacity=" SIZE_FORMAT,
                            _eden_chunk_index, _eden_chunk_capacity);
     for (size_t i = 0; i < _eden_chunk_index; i++) {
       gclog_or_tty->print_cr("_eden_chunk_array[" SIZE_FORMAT "]=" PTR_FORMAT,
-                             i, _eden_chunk_array[i]);
+                             i, p2i(_eden_chunk_array[i]));
     }
   }
   // Survivor
   if (_survivor_chunk_array != NULL) {
     gclog_or_tty->print_cr("survivor " PTR_FORMAT "-" PTR_FORMAT "-" PTR_FORMAT "(" SIZE_FORMAT ")",
-                           from_space->bottom(), from_space->top(),
-                           from_space->end(), from_space->capacity());
+                           p2i(from_space->bottom()), p2i(from_space->top()),
+                           p2i(from_space->end()), from_space->capacity());
     gclog_or_tty->print_cr("_survivor_chunk_index=" SIZE_FORMAT ", "
                            "_survivor_chunk_capacity=" SIZE_FORMAT,
                            _survivor_chunk_index, _survivor_chunk_capacity);
     for (size_t i = 0; i < _survivor_chunk_index; i++) {
       gclog_or_tty->print_cr("_survivor_chunk_array[" SIZE_FORMAT "]=" PTR_FORMAT,
-                             i, _survivor_chunk_array[i]);
+                             i, p2i(_survivor_chunk_array[i]));
     }
   }
 }
@@ -1893,7 +1888,7 @@
   while (_collectorState != Idling) {
     if (TraceCMSState) {
       gclog_or_tty->print_cr("Thread " INTPTR_FORMAT " in CMS state %d",
-        Thread::current(), _collectorState);
+        p2i(Thread::current()), _collectorState);
     }
     // The foreground collector
     //   holds the Heap_lock throughout its collection.
@@ -1927,7 +1922,7 @@
         if (TraceCMSState) {
           gclog_or_tty->print_cr("CMS Thread " INTPTR_FORMAT
             " exiting collection CMS state %d",
-            Thread::current(), _collectorState);
+            p2i(Thread::current()), _collectorState);
         }
         return;
       } else {
@@ -2034,7 +2029,7 @@
     }
     if (TraceCMSState) {
       gclog_or_tty->print_cr("  Thread " INTPTR_FORMAT " done - next CMS state %d",
-        Thread::current(), _collectorState);
+        p2i(Thread::current()), _collectorState);
     }
     assert(_foregroundGCShouldWait, "block post-condition");
   }
@@ -2057,7 +2052,7 @@
   if (TraceCMSState) {
     gclog_or_tty->print_cr("CMS Thread " INTPTR_FORMAT
       " exiting collection CMS state %d",
-      Thread::current(), _collectorState);
+      p2i(Thread::current()), _collectorState);
   }
   if (PrintGC && Verbose) {
     _cmsGen->print_heap_change(prev_used);
@@ -2115,7 +2110,7 @@
     CGC_lock->notify();
     if (TraceCMSState) {
       gclog_or_tty->print_cr("CMS Thread " INTPTR_FORMAT " waiting at CMS state %d",
-        Thread::current(), _collectorState);
+        p2i(Thread::current()), _collectorState);
     }
     while (_foregroundGCIsActive) {
       CGC_lock->wait(Mutex::_no_safepoint_check_flag);
@@ -2127,7 +2122,7 @@
   }
   if (TraceCMSState) {
     gclog_or_tty->print_cr("CMS Thread " INTPTR_FORMAT " continuing at CMS state %d",
-      Thread::current(), _collectorState);
+      p2i(Thread::current()), _collectorState);
   }
   return res;
 }
@@ -2359,13 +2354,13 @@
 
   // Clear the marking bit map array before starting, but, just
   // for kicks, first report if the given address is already marked
-  gclog_or_tty->print_cr("Start: Address " PTR_FORMAT " is%s marked", addr,
+  gclog_or_tty->print_cr("Start: Address " PTR_FORMAT " is%s marked", p2i(addr),
                 _markBitMap.isMarked(addr) ? "" : " not");
 
   if (verify_after_remark()) {
     MutexLockerEx x(verification_mark_bm()->lock(), Mutex::_no_safepoint_check_flag);
     bool result = verification_mark_bm()->isMarked(addr);
-    gclog_or_tty->print_cr("TransitiveMark: Address " PTR_FORMAT " %s marked", addr,
+    gclog_or_tty->print_cr("TransitiveMark: Address " PTR_FORMAT " %s marked", p2i(addr),
                            result ? "IS" : "is NOT");
     return result;
   } else {
@@ -2380,13 +2375,13 @@
   CMSCollector* collector = ConcurrentMarkSweepGeneration::_collector;
   if (collector != NULL) {
     CMSBitMap* bitmap = &collector->_markBitMap;
-    st->print_cr("Marking Bits: (CMSBitMap*) " PTR_FORMAT, bitmap);
+    st->print_cr("Marking Bits: (CMSBitMap*) " PTR_FORMAT, p2i(bitmap));
     bitmap->print_on_error(st, " Bits: ");
 
     st->cr();
 
     CMSBitMap* mut_bitmap = &collector->_modUnionTable;
-    st->print_cr("Mod Union Table: (CMSBitMap*) " PTR_FORMAT, mut_bitmap);
+    st->print_cr("Mod Union Table: (CMSBitMap*) " PTR_FORMAT, p2i(mut_bitmap));
     mut_bitmap->print_on_error(st, " Bits: ");
   }
 }
@@ -2409,7 +2404,7 @@
     HeapWord* addr = _marks->offsetToHeapWord(offset);
     if (!_marks->isMarked(addr)) {
       oop(addr)->print_on(gclog_or_tty);
-      gclog_or_tty->print_cr(" ("INTPTR_FORMAT" should have been marked)", addr);
+      gclog_or_tty->print_cr(" ("INTPTR_FORMAT" should have been marked)", p2i(addr));
       _failed = true;
     }
     return true;
@@ -2477,7 +2472,7 @@
     // presumably, a mutation to A failed to be picked up by preclean/remark?
     verify_after_remark_work_2();
   } else {
-    warning("Unrecognized value %d for CMSRemarkVerifyVariant",
+    warning("Unrecognized value " UINTX_FORMAT " for CMSRemarkVerifyVariant",
             CMSRemarkVerifyVariant);
   }
   if (!silent) gclog_or_tty->print(" done] ");
@@ -2499,7 +2494,7 @@
   gch->gen_process_roots(_cmsGen->level(),
                          true,   // younger gens are roots
                          true,   // activate StrongRootsScope
-                         SharedHeap::ScanningOption(roots_scanning_options()),
+                         GenCollectedHeap::ScanningOption(roots_scanning_options()),
                          should_unload_classes(),
                          &notOlder,
                          NULL,
@@ -2567,7 +2562,7 @@
   gch->gen_process_roots(_cmsGen->level(),
                          true,   // younger gens are roots
                          true,   // activate StrongRootsScope
-                         SharedHeap::ScanningOption(roots_scanning_options()),
+                         GenCollectedHeap::ScanningOption(roots_scanning_options()),
                          should_unload_classes(),
                          &notOlder,
                          NULL,
@@ -2751,7 +2746,7 @@
 void CMSCollector::setup_cms_unloading_and_verification_state() {
   const  bool should_verify =   VerifyBeforeGC || VerifyAfterGC || VerifyDuringGC
                              || VerifyBeforeExit;
-  const  int  rso           =   SharedHeap::SO_AllCodeCache;
+  const  int  rso           =   GenCollectedHeap::SO_AllCodeCache;
 
   // We set the proper root for this CMS cycle here.
   if (should_unload_classes()) {   // Should unload classes this cycle
@@ -3000,7 +2995,6 @@
   report_heap_summary(GCWhen::BeforeGC);
 
   ReferenceProcessor* rp = ref_processor();
-  SpecializationStats::clear();
   assert(_restart_addr == NULL, "Control point invariant");
   {
     // acquire locks for subsequent manipulations
@@ -3011,7 +3005,6 @@
     rp->enable_discovery();
     _collectorState = Marking;
   }
-  SpecializationStats::print();
 }
 
 void CMSCollector::checkpointRootsInitialWork() {
@@ -3092,7 +3085,7 @@
       gch->gen_process_roots(_cmsGen->level(),
                              true,   // younger gens are roots
                              true,   // activate StrongRootsScope
-                             SharedHeap::ScanningOption(roots_scanning_options()),
+                             GenCollectedHeap::ScanningOption(roots_scanning_options()),
                              should_unload_classes(),
                              &notOlder,
                              NULL,
@@ -4329,7 +4322,6 @@
   verify_work_stacks_empty();
   verify_overflow_empty();
 
-  SpecializationStats::clear();
   if (PrintGCDetails) {
     gclog_or_tty->print("[YG occupancy: "SIZE_FORMAT" K ("SIZE_FORMAT" K)]",
                         _young_gen->used() / K,
@@ -4360,7 +4352,6 @@
   }
   verify_work_stacks_empty();
   verify_overflow_empty();
-  SpecializationStats::print();
 }
 
 void CMSCollector::checkpointRootsFinalWork() {
@@ -4528,13 +4519,13 @@
   gch->gen_process_roots(_collector->_cmsGen->level(),
                          false,     // yg was scanned above
                          false,     // this is parallel code
-                         SharedHeap::ScanningOption(_collector->CMSCollector::roots_scanning_options()),
+                         GenCollectedHeap::ScanningOption(_collector->CMSCollector::roots_scanning_options()),
                          _collector->should_unload_classes(),
                          &par_mri_cl,
                          NULL,
                          &cld_closure);
   assert(_collector->should_unload_classes()
-         || (_collector->CMSCollector::roots_scanning_options() & SharedHeap::SO_AllCodeCache),
+         || (_collector->CMSCollector::roots_scanning_options() & GenCollectedHeap::SO_AllCodeCache),
          "if we didn't scan the code cache, we have to be ready to drop nmethods with expired weak oops");
   _timer.stop();
   if (PrintCMSStatistics != 0) {
@@ -4664,14 +4655,14 @@
   gch->gen_process_roots(_collector->_cmsGen->level(),
                          false,     // yg was scanned above
                          false,     // this is parallel code
-                         SharedHeap::ScanningOption(_collector->CMSCollector::roots_scanning_options()),
+                         GenCollectedHeap::ScanningOption(_collector->CMSCollector::roots_scanning_options()),
                          _collector->should_unload_classes(),
                          &par_mrias_cl,
                          NULL,
                          NULL);     // The dirty klasses will be handled below
 
   assert(_collector->should_unload_classes()
-         || (_collector->CMSCollector::roots_scanning_options() & SharedHeap::SO_AllCodeCache),
+         || (_collector->CMSCollector::roots_scanning_options() & GenCollectedHeap::SO_AllCodeCache),
          "if we didn't scan the code cache, we have to be ready to drop nmethods with expired weak oops");
   _timer.stop();
   if (PrintCMSStatistics != 0) {
@@ -5063,7 +5054,7 @@
       for (size_t i = 0; i < total - 1; i++) {
         if (PrintCMSStatistics > 0) {
           gclog_or_tty->print(" (chunk" SIZE_FORMAT ":" INTPTR_FORMAT ") ",
-                              i, _survivor_chunk_array[i]);
+                              i, p2i(_survivor_chunk_array[i]));
         }
         assert(_survivor_chunk_array[i] < _survivor_chunk_array[i+1],
                "Not sorted");
@@ -5255,14 +5246,14 @@
     gch->gen_process_roots(_cmsGen->level(),
                            true,  // younger gens as roots
                            false, // use the local StrongRootsScope
-                           SharedHeap::ScanningOption(roots_scanning_options()),
+                           GenCollectedHeap::ScanningOption(roots_scanning_options()),
                            should_unload_classes(),
                            &mrias_cl,
                            NULL,
                            NULL); // The dirty klasses will be handled below
 
     assert(should_unload_classes()
-           || (roots_scanning_options() & SharedHeap::SO_AllCodeCache),
+           || (roots_scanning_options() & GenCollectedHeap::SO_AllCodeCache),
            "if we didn't scan the code cache, we have to be ready to drop nmethods with expired weak oops");
   }
 
@@ -5707,8 +5698,8 @@
     gclog_or_tty->print_cr(
       "CMS: Large Block: " PTR_FORMAT ";"
       " Proximity: " PTR_FORMAT " -> " PTR_FORMAT,
-      largestAddr,
-      _cmsSpace->nearLargestChunk(), minAddr + nearLargestOffset);
+      p2i(largestAddr),
+      p2i(_cmsSpace->nearLargestChunk()), p2i(minAddr + nearLargestOffset));
   }
   _cmsSpace->set_nearLargestChunk(minAddr + nearLargestOffset);
 }
@@ -6191,7 +6182,7 @@
     _verification_bm->mark(addr);
     if (!_cms_bm->isMarked(addr)) {
       oop(addr)->print();
-      gclog_or_tty->print_cr(" (" INTPTR_FORMAT " should have been marked)", addr);
+      gclog_or_tty->print_cr(" (" INTPTR_FORMAT " should have been marked)", p2i(addr));
       fatal("... aborting");
     }
   }
@@ -6986,7 +6977,7 @@
     if (!_cms_bm->isMarked(addr)) {
       oop(addr)->print();
       gclog_or_tty->print_cr(" (" INTPTR_FORMAT " should have been marked)",
-                             addr);
+                             p2i(addr));
       fatal("... aborting");
     }
 
@@ -7382,16 +7373,16 @@
          "sweep _limit out of bounds");
   if (CMSTraceSweeper) {
     gclog_or_tty->print_cr("\n====================\nStarting new sweep with limit " PTR_FORMAT,
-                        _limit);
+                        p2i(_limit));
   }
 }
 
 void SweepClosure::print_on(outputStream* st) const {
   tty->print_cr("_sp = [" PTR_FORMAT "," PTR_FORMAT ")",
-                _sp->bottom(), _sp->end());
-  tty->print_cr("_limit = " PTR_FORMAT, _limit);
-  tty->print_cr("_freeFinger = " PTR_FORMAT, _freeFinger);
-  NOT_PRODUCT(tty->print_cr("_last_fc = " PTR_FORMAT, _last_fc);)
+                p2i(_sp->bottom()), p2i(_sp->end()));
+  tty->print_cr("_limit = " PTR_FORMAT, p2i(_limit));
+  tty->print_cr("_freeFinger = " PTR_FORMAT, p2i(_freeFinger));
+  NOT_PRODUCT(tty->print_cr("_last_fc = " PTR_FORMAT, p2i(_last_fc));)
   tty->print_cr("_inFreeRange = %d, _freeRangeInFreeLists = %d, _lastFreeRangeCoalesced = %d",
                 _inFreeRange, _freeRangeInFreeLists, _lastFreeRangeCoalesced);
 }
@@ -7435,7 +7426,7 @@
   }
   if (CMSTraceSweeper) {
     gclog_or_tty->print_cr("end of sweep with _limit = " PTR_FORMAT "\n================",
-                           _limit);
+                           p2i(_limit));
   }
 }
 #endif  // PRODUCT
@@ -7444,7 +7435,7 @@
     bool freeRangeInFreeLists) {
   if (CMSTraceSweeper) {
     gclog_or_tty->print("---- Start free range at " PTR_FORMAT " with free block (%d)\n",
-               freeFinger, freeRangeInFreeLists);
+               p2i(freeFinger), freeRangeInFreeLists);
   }
   assert(!inFreeRange(), "Trampling existing free range");
   set_inFreeRange(true);
@@ -7508,14 +7499,14 @@
     // coalesced chunk to the appropriate free list.
     if (inFreeRange()) {
       assert(freeFinger() >= _sp->bottom() && freeFinger() < _limit,
-             err_msg("freeFinger() " PTR_FORMAT" is out-of-bounds", freeFinger()));
+             err_msg("freeFinger() " PTR_FORMAT" is out-of-bounds", p2i(freeFinger())));
       flush_cur_free_chunk(freeFinger(),
                            pointer_delta(addr, freeFinger()));
       if (CMSTraceSweeper) {
         gclog_or_tty->print("Sweep: last chunk: ");
         gclog_or_tty->print("put_free_blk " PTR_FORMAT " ("SIZE_FORMAT") "
                    "[coalesced:%d]\n",
-                   freeFinger(), pointer_delta(addr, freeFinger()),
+                   p2i(freeFinger()), pointer_delta(addr, freeFinger()),
                    lastFreeRangeCoalesced() ? 1 : 0);
       }
     }
@@ -7659,7 +7650,7 @@
         // the midst of a free range, we are coalescing
         print_free_block_coalesced(fc);
         if (CMSTraceSweeper) {
-          gclog_or_tty->print("  -- pick up free block " PTR_FORMAT " (" SIZE_FORMAT ")\n", fc, size);
+          gclog_or_tty->print("  -- pick up free block " PTR_FORMAT " (" SIZE_FORMAT ")\n", p2i(fc), size);
         }
         // remove it from the free lists
         _sp->removeFreeChunkFromFreeLists(fc);
@@ -7721,7 +7712,7 @@
       // this will be swept up when we hit the end of the
       // free range
       if (CMSTraceSweeper) {
-        gclog_or_tty->print("  -- pick up garbage " PTR_FORMAT " (" SIZE_FORMAT ")\n", fc, size);
+        gclog_or_tty->print("  -- pick up garbage " PTR_FORMAT " (" SIZE_FORMAT ")\n", p2i(fc), size);
       }
       // If the chunk is being coalesced and the current free range is
       // in the free lists, remove the current free range so that it
@@ -7814,7 +7805,7 @@
   }
 
   if (CMSTraceSweeper) {
-    gclog_or_tty->print_cr("  -- pick up another chunk at " PTR_FORMAT " (" SIZE_FORMAT ")", fc, chunkSize);
+    gclog_or_tty->print_cr("  -- pick up another chunk at " PTR_FORMAT " (" SIZE_FORMAT ")", p2i(fc), chunkSize);
   }
 
   HeapWord* const fc_addr = (HeapWord*) fc;
@@ -7913,14 +7904,14 @@
          err_msg("eob = " PTR_FORMAT " eob-1 = " PTR_FORMAT " _limit = " PTR_FORMAT
                  " out of bounds wrt _sp = [" PTR_FORMAT "," PTR_FORMAT ")"
                  " when examining fc = " PTR_FORMAT "(" SIZE_FORMAT ")",
-                 eob, eob-1, _limit, _sp->bottom(), _sp->end(), fc, chunk_size));
+                 p2i(eob), p2i(eob-1), p2i(_limit), p2i(_sp->bottom()), p2i(_sp->end()), p2i(fc), chunk_size));
   if (eob >= _limit) {
     assert(eob == _limit || fc->is_free(), "Only a free chunk should allow us to cross over the limit");
     if (CMSTraceSweeper) {
       gclog_or_tty->print_cr("_limit " PTR_FORMAT " reached or crossed by block "
                              "[" PTR_FORMAT "," PTR_FORMAT ") in space "
                              "[" PTR_FORMAT "," PTR_FORMAT ")",
-                             _limit, fc, eob, _sp->bottom(), _sp->end());
+                             p2i(_limit), p2i(fc), p2i(eob), p2i(_sp->bottom()), p2i(_sp->end()));
     }
     // Return the storage we are tracking back into the free lists.
     if (CMSTraceSweeper) {
@@ -7944,7 +7935,7 @@
     }
     if (CMSTraceSweeper) {
       gclog_or_tty->print_cr(" -- add free block " PTR_FORMAT " (" SIZE_FORMAT ") to free lists",
-                    chunk, size);
+                    p2i(chunk), size);
     }
     // A new free range is going to be starting.  The current
     // free range has not been added to the free lists yet or
@@ -8017,7 +8008,7 @@
 void SweepClosure::print_free_block_coalesced(FreeChunk* fc) const {
   if (CMSTraceSweeper) {
     gclog_or_tty->print_cr("Sweep:coal_free_blk " PTR_FORMAT " (" SIZE_FORMAT ")",
-                           fc, fc->size());
+                           p2i(fc), fc->size());
   }
 }
 
--- a/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp	Tue Apr 14 14:47:40 2015 +0400
+++ b/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp	Tue Apr 14 12:10:01 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2015, 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
@@ -25,6 +25,7 @@
 #ifndef SHARE_VM_GC_IMPLEMENTATION_CONCURRENTMARKSWEEP_CONCURRENTMARKSWEEPGENERATION_HPP
 #define SHARE_VM_GC_IMPLEMENTATION_CONCURRENTMARKSWEEP_CONCURRENTMARKSWEEPGENERATION_HPP
 
+#include "gc_implementation/concurrentMarkSweep/cmsOopClosures.hpp"
 #include "gc_implementation/shared/gcHeapSummary.hpp"
 #include "gc_implementation/shared/gSpaceCounters.hpp"
 #include "gc_implementation/shared/gcStats.hpp"
@@ -55,6 +56,7 @@
 // means of a sliding mark-compact.
 
 class AdaptiveSizePolicy;
+class CMSCollector;
 class CMSConcMarkingTask;
 class CMSGCAdaptivePolicyCounters;
 class CMSTracer;
@@ -64,6 +66,7 @@
 class ConcurrentMarkSweepThread;
 class CompactibleFreeListSpace;
 class FreeChunk;
+class ParNewGeneration;
 class PromotionInfo;
 class ScanMarkedObjectsAgainCarefullyClosure;
 class TenuredGeneration;
--- a/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/freeChunk.cpp	Tue Apr 14 14:47:40 2015 +0400
+++ b/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/freeChunk.cpp	Tue Apr 14 12:10:01 2015 -0700
@@ -27,8 +27,6 @@
 #include "memory/freeBlockDictionary.hpp"
 #include "utilities/copy.hpp"
 
-PRAGMA_FORMAT_MUTE_WARNINGS_FOR_GCC
-
 #ifndef PRODUCT
 
 #define baadbabeHeapWord badHeapWordVal
@@ -74,5 +72,5 @@
 
 void FreeChunk::print_on(outputStream* st) {
   st->print_cr("Next: " PTR_FORMAT " Prev: " PTR_FORMAT " %s",
-    next(), prev(), cantCoalesce() ? "[can't coalesce]" : "");
+    p2i(next()), p2i(prev()), cantCoalesce() ? "[can't coalesce]" : "");
 }
--- a/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/promotionInfo.cpp	Tue Apr 14 14:47:40 2015 +0400
+++ b/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/promotionInfo.cpp	Tue Apr 14 12:10:01 2015 -0700
@@ -28,8 +28,6 @@
 #include "oops/markOop.inline.hpp"
 #include "oops/oop.inline.hpp"
 
-PRAGMA_FORMAT_MUTE_WARNINGS_FOR_GCC
-
 /////////////////////////////////////////////////////////////////////////
 //// PromotionInfo
 /////////////////////////////////////////////////////////////////////////
@@ -360,6 +358,6 @@
 
 void SpoolBlock::print_on(outputStream* st) const {
   st->print("[" PTR_FORMAT "," PTR_FORMAT "), " SIZE_FORMAT " HeapWords -> " PTR_FORMAT,
-            this, (HeapWord*)displacedHdr + bufferSize,
-            bufferSize, nextSpoolBlock);
+            p2i(this), p2i((HeapWord*)displacedHdr + bufferSize),
+            bufferSize, p2i(nextSpoolBlock));
 }
--- a/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/vmCMSOperations.cpp	Tue Apr 14 14:47:40 2015 +0400
+++ b/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/vmCMSOperations.cpp	Tue Apr 14 12:10:01 2015 -0700
@@ -34,8 +34,6 @@
 #include "runtime/os.hpp"
 #include "utilities/dtrace.hpp"
 
-PRAGMA_FORMAT_MUTE_WARNINGS_FOR_GCC
-
 //////////////////////////////////////////////////////////
 // Methods in abstract class VM_CMS_Operation
 //////////////////////////////////////////////////////////
--- a/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp	Tue Apr 14 14:47:40 2015 +0400
+++ b/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp	Tue Apr 14 12:10:01 2015 -0700
@@ -696,32 +696,32 @@
   }
 
   if (FLAG_IS_DEFAULT(MarkStackSize)) {
-    uintx mark_stack_size =
+    size_t mark_stack_size =
       MIN2(MarkStackSizeMax,
-          MAX2(MarkStackSize, (uintx) (parallel_marking_threads() * TASKQUEUE_SIZE)));
+          MAX2(MarkStackSize, (size_t) (parallel_marking_threads() * TASKQUEUE_SIZE)));
     // Verify that the calculated value for MarkStackSize is in range.
     // It would be nice to use the private utility routine from Arguments.
     if (!(mark_stack_size >= 1 && mark_stack_size <= MarkStackSizeMax)) {
-      warning("Invalid value calculated for MarkStackSize (" UINTX_FORMAT "): "
-              "must be between " UINTX_FORMAT " and " UINTX_FORMAT,
-              mark_stack_size, (uintx) 1, MarkStackSizeMax);
+      warning("Invalid value calculated for MarkStackSize (" SIZE_FORMAT "): "
+              "must be between 1 and " SIZE_FORMAT,
+              mark_stack_size, MarkStackSizeMax);
       return;
     }
-    FLAG_SET_ERGO(uintx, MarkStackSize, mark_stack_size);
+    FLAG_SET_ERGO(size_t, MarkStackSize, mark_stack_size);
   } else {
     // Verify MarkStackSize is in range.
     if (FLAG_IS_CMDLINE(MarkStackSize)) {
       if (FLAG_IS_DEFAULT(MarkStackSizeMax)) {
         if (!(MarkStackSize >= 1 && MarkStackSize <= MarkStackSizeMax)) {
-          warning("Invalid value specified for MarkStackSize (" UINTX_FORMAT "): "
-                  "must be between " UINTX_FORMAT " and " UINTX_FORMAT,
-                  MarkStackSize, (uintx) 1, MarkStackSizeMax);
+          warning("Invalid value specified for MarkStackSize (" SIZE_FORMAT "): "
+                  "must be between 1 and " SIZE_FORMAT,
+                  MarkStackSize, MarkStackSizeMax);
           return;
         }
       } else if (FLAG_IS_CMDLINE(MarkStackSizeMax)) {
         if (!(MarkStackSize >= 1 && MarkStackSize <= MarkStackSizeMax)) {
-          warning("Invalid value specified for MarkStackSize (" UINTX_FORMAT ")"
-                  " or for MarkStackSizeMax (" UINTX_FORMAT ")",
+          warning("Invalid value specified for MarkStackSize (" SIZE_FORMAT ")"
+                  " or for MarkStackSizeMax (" SIZE_FORMAT ")",
                   MarkStackSize, MarkStackSizeMax);
           return;
         }
@@ -745,7 +745,7 @@
   // so that the assertion in MarkingTaskQueue::task_queue doesn't fail
   _active_tasks = _max_worker_id;
 
-  size_t max_regions = (size_t) _g1h->max_regions();
+  uint max_regions = _g1h->max_regions();
   for (uint i = 0; i < _max_worker_id; ++i) {
     CMTaskQueue* task_queue = new CMTaskQueue();
     task_queue->initialize();
@@ -2088,10 +2088,7 @@
   _cleanup_times.add((end - start) * 1000.0);
 
   if (G1Log::fine()) {
-    g1h->print_size_transition(gclog_or_tty,
-                               start_used_bytes,
-                               g1h->used(),
-                               g1h->capacity());
+    g1h->g1_policy()->print_heap_transition(start_used_bytes);
   }
 
   // Clean up will have freed any regions completely full of garbage.
@@ -2584,7 +2581,7 @@
  public:
   G1RemarkThreadsClosure(G1CollectedHeap* g1h, CMTask* task) :
     _cm_obj(task), _cm_cl(g1h, g1h->concurrent_mark(), task), _code_cl(&_cm_cl, !CodeBlobToOopClosure::FixRelocations),
-    _thread_parity(SharedHeap::heap()->strong_roots_parity()) {}
+    _thread_parity(Threads::thread_claim_parity()) {}
 
   void do_thread(Thread* thread) {
     if (thread->is_Java_thread()) {
--- a/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.hpp	Tue Apr 14 14:47:40 2015 +0400
+++ b/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.hpp	Tue Apr 14 12:10:01 2015 -0700
@@ -34,6 +34,7 @@
 class G1CollectedHeap;
 class CMBitMap;
 class CMTask;
+class ConcurrentMark;
 typedef GenericTaskQueue<oop, mtGC>            CMTaskQueue;
 typedef GenericTaskQueueSet<CMTaskQueue, mtGC> CMTaskQueueSet;
 
--- a/hotspot/src/share/vm/gc_implementation/g1/g1CardCounts.cpp	Tue Apr 14 14:47:40 2015 +0400
+++ b/hotspot/src/share/vm/gc_implementation/g1/g1CardCounts.cpp	Tue Apr 14 12:10:01 2015 -0700
@@ -31,8 +31,6 @@
 #include "services/memTracker.hpp"
 #include "utilities/copy.hpp"
 
-PRAGMA_FORMAT_MUTE_WARNINGS_FOR_GCC
-
 void G1CardCountsMappingChangedListener::on_commit(uint start_idx, size_t num_regions, bool zero_filled) {
   if (zero_filled) {
     return;
--- a/hotspot/src/share/vm/gc_implementation/g1/g1CodeCacheRemSet.cpp	Tue Apr 14 14:47:40 2015 +0400
+++ b/hotspot/src/share/vm/gc_implementation/g1/g1CodeCacheRemSet.cpp	Tue Apr 14 12:10:01 2015 -0700
@@ -33,8 +33,6 @@
 #include "utilities/hashtable.inline.hpp"
 #include "utilities/stack.inline.hpp"
 
-PRAGMA_FORMAT_MUTE_WARNINGS_FOR_GCC
-
 class CodeRootSetTable : public Hashtable<nmethod*, mtGC> {
   friend class G1CodeRootSetTest;
   typedef HashtableEntry<nmethod*, mtGC> Entry;
--- a/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp	Tue Apr 14 14:47:40 2015 +0400
+++ b/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp	Tue Apr 14 12:10:01 2015 -0700
@@ -48,6 +48,7 @@
 #include "gc_implementation/g1/g1ParScanThreadState.inline.hpp"
 #include "gc_implementation/g1/g1RegionToSpaceMapper.hpp"
 #include "gc_implementation/g1/g1RemSet.inline.hpp"
+#include "gc_implementation/g1/g1RootProcessor.hpp"
 #include "gc_implementation/g1/g1StringDedup.hpp"
 #include "gc_implementation/g1/g1YCTypes.hpp"
 #include "gc_implementation/g1/heapRegion.inline.hpp"
@@ -65,7 +66,6 @@
 #include "memory/iterator.hpp"
 #include "memory/referenceProcessor.hpp"
 #include "oops/oop.inline.hpp"
-#include "oops/oop.pcgc.inline.hpp"
 #include "runtime/atomic.inline.hpp"
 #include "runtime/orderAccess.inline.hpp"
 #include "runtime/vmThread.hpp"
@@ -89,18 +89,6 @@
 // apply to TLAB allocation, which is not part of this interface: it
 // is done by clients of this interface.)
 
-// Notes on implementation of parallelism in different tasks.
-//
-// G1ParVerifyTask uses heap_region_par_iterate() for parallelism.
-// The number of GC workers is passed to heap_region_par_iterate().
-// It does use run_task() which sets _n_workers in the task.
-// G1ParTask executes g1_process_roots() ->
-// SharedHeap::process_roots() which calls eventually to
-// CardTableModRefBS::par_non_clean_card_iterate_work() which uses
-// SequentialSubTasksDone.  SharedHeap::process_roots() also
-// directly uses SubTasksDone (_process_strong_tasks field in SharedHeap).
-//
-
 // Local to this file.
 
 class RefineCardTableEntryClosure: public CardTableEntryClosure {
@@ -414,25 +402,6 @@
   return hr;
 }
 
-#ifdef ASSERT
-// A region is added to the collection set as it is retired
-// so an address p can point to a region which will be in the
-// collection set but has not yet been retired.  This method
-// therefore is only accurate during a GC pause after all
-// regions have been retired.  It is used for debugging
-// to check if an nmethod has references to objects that can
-// be move during a partial collection.  Though it can be
-// inaccurate, it is sufficient for G1 because the conservative
-// implementation of is_scavengable() for G1 will indicate that
-// all nmethods must be scanned during a partial collection.
-bool G1CollectedHeap::is_in_partial_collection(const void* p) {
-  if (p == NULL) {
-    return false;
-  }
-  return heap_region_containing(p)->in_collection_set();
-}
-#endif
-
 // Returns true if the reference points to an object that
 // can move in an incremental collection.
 bool G1CollectedHeap::is_scavengable(const void* p) {
@@ -1759,7 +1728,7 @@
 
 
 G1CollectedHeap::G1CollectedHeap(G1CollectorPolicy* policy_) :
-  SharedHeap(policy_),
+  SharedHeap(),
   _g1_policy(policy_),
   _dirty_card_queue_set(false),
   _into_cset_dirty_card_queue_set(false),
@@ -1767,7 +1736,6 @@
   _is_alive_closure_stw(this),
   _ref_processor_cm(NULL),
   _ref_processor_stw(NULL),
-  _process_strong_tasks(new SubTasksDone(G1H_PS_NumElements)),
   _bot_shared(NULL),
   _evac_failure_scan_stack(NULL),
   _mark_in_progress(false),
@@ -1801,9 +1769,6 @@
   _gc_tracer_cm(new (ResourceObj::C_HEAP, mtGC) G1OldTracer()) {
 
   _g1h = this;
-  if (_process_strong_tasks == NULL || !_process_strong_tasks->valid()) {
-    vm_exit_during_initialization("Failed necessary allocation.");
-  }
 
   _allocator = G1Allocator::create_allocator(_g1h);
   _humongous_object_threshold_in_words = HeapRegion::GrainWords / 2;
@@ -2026,10 +1991,6 @@
                                              Shared_DirtyCardQ_lock,
                                              &JavaThread::dirty_card_queue_set());
 
-  // In case we're keeping closure specialization stats, initialize those
-  // counts and that mechanism.
-  SpecializationStats::clear();
-
   // Here we allocate the dummy HeapRegion that is required by the
   // G1AllocRegion class.
   HeapRegion* dummy_region = _hrm.get_dummy_region();
@@ -2206,11 +2167,11 @@
   hot_card_cache->drain(worker_i, g1_rem_set(), into_cset_dcq);
 
   DirtyCardQueueSet& dcqs = JavaThread::dirty_card_queue_set();
-  int n_completed_buffers = 0;
+  size_t n_completed_buffers = 0;
   while (dcqs.apply_closure_to_completed_buffer(cl, worker_i, 0, true)) {
     n_completed_buffers++;
   }
-  g1_policy()->phase_times()->record_update_rs_processed_buffers(worker_i, n_completed_buffers);
+  g1_policy()->phase_times()->record_thread_work_item(G1GCPhaseTimes::UpdateRS, worker_i, n_completed_buffers);
   dcqs.clear_n_completed_buffers();
   assert(!dcqs.completed_buffers_exist_dirty(), "Completed buffers exist!");
 }
@@ -3111,11 +3072,12 @@
     G1VerifyCodeRootOopClosure codeRootsCl(this, &rootsCl, vo);
     G1VerifyCodeRootBlobClosure blobsCl(&codeRootsCl);
 
-    process_all_roots(true,            // activate StrongRootsScope
-                      SO_AllCodeCache, // roots scanning options
-                      &rootsCl,
-                      &cldCl,
-                      &blobsCl);
+    {
+      G1RootProcessor root_processor(this);
+      root_processor.process_all_roots(&rootsCl,
+                                       &cldCl,
+                                       &blobsCl);
+    }
 
     bool failures = rootsCl.failures() || codeRootsCl.failures();
 
@@ -3321,7 +3283,6 @@
     concurrent_mark()->print_summary_info();
   }
   g1_policy()->print_yg_surv_rate_info();
-  SpecializationStats::print();
 }
 
 #ifndef PRODUCT
@@ -3751,9 +3712,16 @@
 
     TraceCPUTime tcpu(G1Log::finer(), true, gclog_or_tty);
 
-    int active_workers = workers()->active_workers();
+    uint active_workers = AdaptiveSizePolicy::calc_active_workers(workers()->total_workers(),
+                                                                  workers()->active_workers(),
+                                                                  Threads::number_of_non_daemon_threads());
+    assert(UseDynamicNumberOfGCThreads ||
+           active_workers == workers()->total_workers(),
+           "If not dynamic should be using all the  workers");
+    workers()->set_active_workers(active_workers);
+
     double pause_start_sec = os::elapsedTime();
-    g1_policy()->phase_times()->note_gc_start(active_workers);
+    g1_policy()->phase_times()->note_gc_start(active_workers, mark_in_progress());
     log_gc_header();
 
     TraceCollectorStats tcs(g1mm()->incremental_collection_counters());
@@ -4365,60 +4333,11 @@
   }
 };
 
-class G1CodeBlobClosure : public CodeBlobClosure {
-  class HeapRegionGatheringOopClosure : public OopClosure {
-    G1CollectedHeap* _g1h;
-    OopClosure* _work;
-    nmethod* _nm;
-
-    template <typename T>
-    void do_oop_work(T* p) {
-      _work->do_oop(p);
-      T oop_or_narrowoop = oopDesc::load_heap_oop(p);
-      if (!oopDesc::is_null(oop_or_narrowoop)) {
-        oop o = oopDesc::decode_heap_oop_not_null(oop_or_narrowoop);
-        HeapRegion* hr = _g1h->heap_region_containing_raw(o);
-        assert(!_g1h->obj_in_cs(o) || hr->rem_set()->strong_code_roots_list_contains(_nm), "if o still in CS then evacuation failed and nm must already be in the remset");
-        hr->add_strong_code_root(_nm);
-      }
-    }
-
-  public:
-    HeapRegionGatheringOopClosure(OopClosure* oc) : _g1h(G1CollectedHeap::heap()), _work(oc), _nm(NULL) {}
-
-    void do_oop(oop* o) {
-      do_oop_work(o);
-    }
-
-    void do_oop(narrowOop* o) {
-      do_oop_work(o);
-    }
-
-    void set_nm(nmethod* nm) {
-      _nm = nm;
-    }
-  };
-
-  HeapRegionGatheringOopClosure _oc;
-public:
-  G1CodeBlobClosure(OopClosure* oc) : _oc(oc) {}
-
-  void do_code_blob(CodeBlob* cb) {
-    nmethod* nm = cb->as_nmethod_or_null();
-    if (nm != NULL) {
-      if (!nm->test_set_oops_do_mark()) {
-        _oc.set_nm(nm);
-        nm->oops_do(&_oc);
-        nm->fix_oop_relocations();
-      }
-    }
-  }
-};
-
 class G1ParTask : public AbstractGangTask {
 protected:
   G1CollectedHeap*       _g1h;
   RefToScanQueueSet      *_queues;
+  G1RootProcessor*       _root_processor;
   ParallelTaskTerminator _terminator;
   uint _n_workers;
 
@@ -4426,10 +4345,11 @@