changeset 587:08857a02d1a6

Merge
author briangoetz
date Mon, 28 Oct 2013 18:31:10 -0400
parents 356aaedbbe57 (current diff) a90e9efa4264 (diff)
children 154c0490d980
files .hgtags
diffstat 13 files changed, 306 insertions(+), 236 deletions(-) [+]
line wrap: on
line diff
--- a/.hgtags	Fri Oct 11 15:08:39 2013 -0700
+++ b/.hgtags	Mon Oct 28 18:31:10 2013 -0400
@@ -236,3 +236,5 @@
 a4bb3b4500164748a9c33b2283cfda76d89f25ab jdk8-b108
 428428cf5e06163322144cfb5367e1faa86acf20 jdk8-b109
 3d2b7ce93c5c2e3db748f29c3d29620a8b3b748a jdk8-b110
+85c1c94e723582f9a1dd0251502c42b73d6deea7 jdk8-b111
+43cec76d1d62587a07af07e2d9bec93aba2a506b jdk8-b112
--- a/makefiles/BuildCorba.gmk	Fri Oct 11 15:08:39 2013 -0700
+++ b/makefiles/BuildCorba.gmk	Mon Oct 28 18:31:10 2013 -0400
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2007, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -36,216 +36,230 @@
 include IdlCompilation.gmk
 
 # The Corba sources are old and generates a LOT of warnings.
-# Disable these using Xlint, until someone cares to fix them. 
-DISABLE_CORBA_WARNINGS:=-Xlint:all,-deprecation,-unchecked,-serial,-fallthrough,-cast,-rawtypes,-static,-dep-ann
+# Disable these using Xlint, until someone cares to fix them.
+DISABLE_CORBA_WARNINGS := -Xlint:all,-deprecation,-unchecked,-serial,-fallthrough,-cast,-rawtypes,-static,-dep-ann
 
 # The "generate old bytecode" javac setup uses the new compiler to compile for the
 # boot jdk to generate tools that need to be run with the boot jdk.
 # Thus we force the target bytecode to the boot jdk bytecode.
-$(eval $(call SetupJavaCompiler,GENERATE_OLDBYTECODE,\
-     JVM:=$(JAVA),\
-     JAVAC:=$(NEW_JAVAC),\
-     FLAGS:=$(BOOT_JDK_SOURCETARGET) -bootclasspath $(BOOT_RTJAR) $(DISABLE_CORBA_WARNINGS),\
-     SERVER_DIR:=$(SJAVAC_SERVER_DIR),\
-     SERVER_JVM:=$(SJAVAC_SERVER_JAVA)))
+$(eval $(call SetupJavaCompiler,GENERATE_OLDBYTECODE, \
+    JVM := $(JAVA), \
+    JAVAC := $(NEW_JAVAC), \
+    FLAGS := $(BOOT_JDK_SOURCETARGET) \
+         -bootclasspath "$(BOOT_RTJAR)$(PATH_SEP)$(BOOT_TOOLSJAR)" \
+         $(DISABLE_CORBA_WARNINGS), \
+    SERVER_DIR := $(SJAVAC_SERVER_DIR), \
+    SERVER_JVM := $(SJAVAC_SERVER_JAVA)))
 
 # The "generate new bytecode" uses the new compiler to generate bytecode
 # for the new jdk that is being built. The code compiled by this setup
 # cannot necessarily be run with the boot jdk.
-$(eval $(call SetupJavaCompiler,GENERATE_NEWBYTECODE,\
-     JVM:=$(JAVA),\
-     JAVAC:=$(NEW_JAVAC),\
-     FLAGS:=-cp $(BOOT_TOOLSJAR) -XDignore.symbol.file=true $(DISABLE_CORBA_WARNINGS),\
-     SERVER_DIR:=$(SJAVAC_SERVER_DIR),\
-     SERVER_JVM:=$(SJAVAC_SERVER_JAVA)))
+$(eval $(call SetupJavaCompiler,GENERATE_NEWBYTECODE, \
+    JVM := $(JAVA), \
+    JAVAC := $(NEW_JAVAC), \
+    FLAGS := -cp $(BOOT_TOOLSJAR) -XDignore.symbol.file=true $(DISABLE_CORBA_WARNINGS), \
+    SERVER_DIR := $(SJAVAC_SERVER_DIR), \
+    SERVER_JVM := $(SJAVAC_SERVER_JAVA)))
 
-$(eval $(call SetupJavaCompilation,BUILD_STRIPPROP,\
-		SETUP:=GENERATE_OLDBYTECODE,\
-		SRC:=$(CORBA_TOPDIR)/make/tools/src,\
-		BIN:=$(CORBA_OUTPUTDIR)/btclasses/stripprop_classes))
+$(eval $(call SetupJavaCompilation,BUILD_STRIPPROP, \
+    SETUP := GENERATE_OLDBYTECODE, \
+    SRC := $(CORBA_TOPDIR)/make/tools/src, \
+    BIN := $(CORBA_OUTPUTDIR)/btclasses/stripprop_classes))
 
-$(eval $(call SetupArchive,ARCHIVE_STRIPPROP,$(BUILD_STRIPPROP),\
-		SRCS:=$(CORBA_OUTPUTDIR)/btclasses/stripprop_classes,\
-		JAR:=$(CORBA_OUTPUTDIR)/btjars/stripproperties.jar,\
-		JARMAIN:=build.tools.stripproperties.StripPropertiesCorba))
+$(eval $(call SetupArchive,ARCHIVE_STRIPPROP, $(BUILD_STRIPPROP), \
+    SRCS := $(CORBA_OUTPUTDIR)/btclasses/stripprop_classes, \
+    JAR := $(CORBA_OUTPUTDIR)/btjars/stripproperties.jar, \
+    JARMAIN := build.tools.stripproperties.StripPropertiesCorba))
 
-$(eval $(call SetupJavaCompilation,BUILD_IDLJ,\
-		SETUP:=GENERATE_OLDBYTECODE,\
-		SRC:=$(CORBA_TOPDIR)/src/share/classes,\
-		BIN:=$(CORBA_OUTPUTDIR)/btclasses/idlj_classes,\
-		COPY:=.prp,\
-		INCLUDES:=com/sun/tools/corba/se/idl,\
-		EXCLUDE_FILES:=ResourceBundleUtil.java))
+$(eval $(call SetupJavaCompilation,BUILD_IDLJ, \
+    SETUP := GENERATE_OLDBYTECODE, \
+    SRC := $(CORBA_TOPDIR)/src/share/classes, \
+    BIN := $(CORBA_OUTPUTDIR)/btclasses/idlj_classes, \
+    COPY := .prp, \
+    INCLUDES := com/sun/tools/corba/se/idl, \
+    EXCLUDE_FILES := ResourceBundleUtil.java))
 
-$(eval $(call SetupArchive,ARCHIVE_IDLJ,$(BUILD_IDLJ),\
-		SRCS:=$(CORBA_OUTPUTDIR)/btclasses/idlj_classes,\
-		SUFFIXES:=.class .prp,\
-		JAR:=$(CORBA_OUTPUTDIR)/btjars/idlj.jar,\
-		JARMAIN:=com.sun.tools.corba.se.idl.toJavaPortable.Compile))
+$(eval $(call SetupArchive,ARCHIVE_IDLJ, $(BUILD_IDLJ), \
+    SRCS := $(CORBA_OUTPUTDIR)/btclasses/idlj_classes, \
+    SUFFIXES := .class .prp, \
+    JAR := $(CORBA_OUTPUTDIR)/btjars/idlj.jar, \
+    JARMAIN := com.sun.tools.corba.se.idl.toJavaPortable.Compile))
 
-$(eval $(call SetupJavaCompilation,BUILD_LOGUTIL,\
-		SETUP:=GENERATE_OLDBYTECODE,\
-		SRC:=$(CORBA_TOPDIR)/src/share/classes,\
-		BIN:=$(CORBA_OUTPUTDIR)/btclasses/logutil_classes,\
-		INCLUDES:=com/sun/tools/corba/se/logutil))
+$(eval $(call SetupJavaCompilation,BUILD_LOGUTIL, \
+    SETUP := GENERATE_OLDBYTECODE, \
+    SRC := $(CORBA_TOPDIR)/src/share/classes, \
+    BIN := $(CORBA_OUTPUTDIR)/btclasses/logutil_classes, \
+    INCLUDES := com/sun/tools/corba/se/logutil))
 
-$(eval $(call SetupArchive,ARCHIVE_LOGUTIL,$(BUILD_LOGUTIL),\
-		SRCS:=$(CORBA_OUTPUTDIR)/btclasses/logutil_classes,\
-		JAR:=$(CORBA_OUTPUTDIR)/btjars/logutil.jar,\
-		JARMAIN:=com.sun.tools.corba.se.logutil.MC))
+$(eval $(call SetupArchive,ARCHIVE_LOGUTIL, $(BUILD_LOGUTIL), \
+    SRCS := $(CORBA_OUTPUTDIR)/btclasses/logutil_classes, \
+    JAR := $(CORBA_OUTPUTDIR)/btjars/logutil.jar, \
+    JARMAIN := com.sun.tools.corba.se.logutil.MC))
 
-# Generate LogWrapper classes 
-$(CORBA_OUTPUTDIR)/logwrappers/com/sun/corba/se/impl/logging/%SystemException.java : \
-			$(CORBA_TOPDIR)/src/share/classes/com/sun/corba/se/spi/logging/data/%.mc \
-			$(CORBA_OUTPUTDIR)/btjars/logutil.jar
+# Generate LogWrapper classes
+$(CORBA_OUTPUTDIR)/logwrappers/com/sun/corba/se/impl/logging/%SystemException.java: \
+    $(CORBA_TOPDIR)/src/share/classes/com/sun/corba/se/spi/logging/data/%.mc \
+    $(CORBA_OUTPUTDIR)/btjars/logutil.jar
 	$(MKDIR) -p $(@D)
 	$(RM) -f $(@D)/_the_wrappers.d
-	$(ECHO) $(LOG_INFO) Generating class file from $*.mc 
+	$(ECHO) $(LOG_INFO) Generating class file from $*.mc
 	$(JAVA) -jar $(CORBA_OUTPUTDIR)/btjars/logutil.jar make-class $< $(@D)
 
-# Generate LogWrapper properties file by concatening resource files 
+# Generate LogWrapper properties file by concatening resource files
 $(CORBA_OUTPUTDIR)/logwrappers/com/sun/corba/se/impl/logging/LogStrings.properties: \
-		$(CORBA_OUTPUTDIR)/logwrappers/ActivationSystemException.resource \
-		$(CORBA_OUTPUTDIR)/logwrappers/IORSystemException.resource \
-		$(CORBA_OUTPUTDIR)/logwrappers/InterceptorsSystemException.resource \
-		$(CORBA_OUTPUTDIR)/logwrappers/NamingSystemException.resource \
-		$(CORBA_OUTPUTDIR)/logwrappers/OMGSystemException.resource \
-		$(CORBA_OUTPUTDIR)/logwrappers/ORBUtilSystemException.resource \
-		$(CORBA_OUTPUTDIR)/logwrappers/POASystemException.resource \
-		$(CORBA_OUTPUTDIR)/logwrappers/UtilSystemException.resource
+    $(CORBA_OUTPUTDIR)/logwrappers/ActivationSystemException.resource \
+    $(CORBA_OUTPUTDIR)/logwrappers/IORSystemException.resource \
+    $(CORBA_OUTPUTDIR)/logwrappers/InterceptorsSystemException.resource \
+    $(CORBA_OUTPUTDIR)/logwrappers/NamingSystemException.resource \
+    $(CORBA_OUTPUTDIR)/logwrappers/OMGSystemException.resource \
+    $(CORBA_OUTPUTDIR)/logwrappers/ORBUtilSystemException.resource \
+    $(CORBA_OUTPUTDIR)/logwrappers/POASystemException.resource \
+    $(CORBA_OUTPUTDIR)/logwrappers/UtilSystemException.resource
 	$(MKDIR) -p $(@D)
 	$(ECHO) $(LOG_INFO) Concatenating 8 resource files into $(@F)
 	$(CAT) $^ > $@
 
 # The resources files are generated from lisp-like .mc files.
-$(CORBA_OUTPUTDIR)/logwrappers/%SystemException.resource : $(CORBA_TOPDIR)/src/share/classes/com/sun/corba/se/spi/logging/data/%.mc $(CORBA_OUTPUTDIR)/btjars/logutil.jar
+$(CORBA_OUTPUTDIR)/logwrappers/%SystemException.resource: $(CORBA_TOPDIR)/src/share/classes/com/sun/corba/se/spi/logging/data/%.mc $(CORBA_OUTPUTDIR)/btjars/logutil.jar
 	$(MKDIR) -p $(@D)
 	$(RM) -f $(@D)/_the_wrappers.d
-	$(ECHO) $(LOG_INFO) Generating resource file from $*.mc 
+	$(ECHO) $(LOG_INFO) Generating resource file from $*.mc
 	$(JAVA) -jar $(CORBA_OUTPUTDIR)/btjars/logutil.jar make-resource $< $(@D)
 
 
-$(CORBA_OUTPUTDIR)/logwrappers/_the_wrappers.d : $(CORBA_OUTPUTDIR)/btjars/logutil.jar \
-	$(CORBA_OUTPUTDIR)/logwrappers/com/sun/corba/se/impl/logging/ActivationSystemException.java \
-	$(CORBA_OUTPUTDIR)/logwrappers/com/sun/corba/se/impl/logging/IORSystemException.java \
-	$(CORBA_OUTPUTDIR)/logwrappers/com/sun/corba/se/impl/logging/InterceptorsSystemException.java \
-	$(CORBA_OUTPUTDIR)/logwrappers/com/sun/corba/se/impl/logging/NamingSystemException.java \
-	$(CORBA_OUTPUTDIR)/logwrappers/com/sun/corba/se/impl/logging/OMGSystemException.java \
-	$(CORBA_OUTPUTDIR)/logwrappers/com/sun/corba/se/impl/logging/ORBUtilSystemException.java \
-	$(CORBA_OUTPUTDIR)/logwrappers/com/sun/corba/se/impl/logging/POASystemException.java \
-	$(CORBA_OUTPUTDIR)/logwrappers/com/sun/corba/se/impl/logging/UtilSystemException.java \
-	$(CORBA_OUTPUTDIR)/logwrappers/com/sun/corba/se/impl/logging/LogStrings.properties
-	$(MKDIR) -p $(@D) 
-	$(ECHO) LOGWRAPPERS_ARE_CREATED=yes > $@
+$(CORBA_OUTPUTDIR)/logwrappers/_the_wrappers.d: $(CORBA_OUTPUTDIR)/btjars/logutil.jar \
+    $(CORBA_OUTPUTDIR)/logwrappers/com/sun/corba/se/impl/logging/ActivationSystemException.java \
+    $(CORBA_OUTPUTDIR)/logwrappers/com/sun/corba/se/impl/logging/IORSystemException.java \
+    $(CORBA_OUTPUTDIR)/logwrappers/com/sun/corba/se/impl/logging/InterceptorsSystemException.java \
+    $(CORBA_OUTPUTDIR)/logwrappers/com/sun/corba/se/impl/logging/NamingSystemException.java \
+    $(CORBA_OUTPUTDIR)/logwrappers/com/sun/corba/se/impl/logging/OMGSystemException.java \
+    $(CORBA_OUTPUTDIR)/logwrappers/com/sun/corba/se/impl/logging/ORBUtilSystemException.java \
+    $(CORBA_OUTPUTDIR)/logwrappers/com/sun/corba/se/impl/logging/POASystemException.java \
+    $(CORBA_OUTPUTDIR)/logwrappers/com/sun/corba/se/impl/logging/UtilSystemException.java \
+    $(CORBA_OUTPUTDIR)/logwrappers/com/sun/corba/se/impl/logging/LogStrings.properties
+	$(MKDIR) -p $(@D)
+	$(ECHO) LOGWRAPPERS_ARE_CREATED = yes > $@
 
 # Trigger the generation of the logwrappers. After the logwrapper classes and
 # resources have been created, then the makefile will restart and the newly
 # created java files will become part of the build further along in the makefile.
 -include $(CORBA_OUTPUTDIR)/logwrappers/_the_wrappers.d
 
-ifeq ($(LOGWRAPPERS_ARE_CREATED),yes)
-        $(eval $(call SetupIdlCompilation,BUILD_IDLS,\
-                IDLJ:=$(JAVA) -jar $(CORBA_OUTPUTDIR)/btjars/idlj.jar,\
-		SRC:=$(CORBA_TOPDIR)/src/share/classes,\
-		BIN:=$(CORBA_OUTPUTDIR)/gensrc,\
-		EXCLUDES:=com/sun/tools/corba/se/idl/% \
-			org/omg/CORBA/% \
-			com/sun/corba/se/GiopIDL/% \
-			org/omg/PortableServer/corba.idl,\
-		INCLUDES:=%,\
-		OLDIMPLBASES:=com/sun/corba/se/PortableActivationIDL/activation.idl \
-			      com/sun/corba/se/spi/activation/activation.idl,\
-		DELETES:=DYNANYDELETEFILES org/omg/DynamicAny/*POA* org/omg/DynamicAny/*Holder* org/omg/DynamicAny/DynValueBoxHelper.java org/omg/DynamicAny/DynValueCommonHelper.java org/omg/DynamicAny/_DynValueCommonStub.java org/omg/DynamicAny/_DynValueBoxStub.java org/omg/DynamicAny/DynAnyPackage/TypeMismatchHolder.java org/omg/DynamicAny/DynAnyPackage/InvalidValueHolder.java org/omg/DynamicAny/DynAnyFactoryPackage/InconsistentTypeCodeHolder.java IOPDELETEFILES org/omg/IOP/BI_DIR_IIOP.java org/omg/IOP/ChainBypassCheck.java org/omg/IOP/ChainBypassInfo.java org/omg/IOP/FORWARDED_IDENTITY.java org/omg/IOP/INVOCATION_POLICIES.java org/omg/IOP/LogicalThreadId.java org/omg/IOP/SendingContextRunTime.java org/omg/IOP/UnknownExceptionInfo.java org/omg/IOP/TaggedComponentSeqHolder.java POAHELHOLFILES org/omg/PortableServer/CurrentPackage/NoContextHolder.java org/omg/PortableServer/ForwardRequestHolder.java org/omg/PortableServer/IdAssignmentPolicyValueHelper.java org/omg/PortableServer/IdAssignmentPolicyValueHolder.java org/omg/PortableServer/IdUniquenessPolicyValueHelper.java org/omg/PortableServer/IdUniquenessPolicyValueHolder.java org/omg/PortableServer/ImplicitActivationPolicyValueHelper.java org/omg/PortableServer/ImplicitActivationPolicyValueHolder.java org/omg/PortableServer/LifespanPolicyValueHelper.java org/omg/PortableServer/LifespanPolicyValueHolder.java org/omg/PortableServer/ServantRetentionPolicyValueHelper.java org/omg/PortableServer/ServantRetentionPolicyValueHolder.java org/omg/PortableServer/ObjectIdHelper.java org/omg/PortableServer/ObjectIdHolder.java org/omg/PortableServer/POAListHelper.java org/omg/PortableServer/POAListHolder.java org/omg/PortableServer/POAManagerPackage/AdapterInactiveHolder.java org/omg/PortableServer/POAManagerPackage/StateHelper.java org/omg/PortableServer/POAManagerPackage/StateHolder.java org/omg/PortableServer/POAPackage/AdapterAlreadyExistsHolder.java org/omg/PortableServer/POAPackage/AdapterNonExistentHolder.java org/omg/PortableServer/POAPackage/InvalidPolicyHolder.java org/omg/PortableServer/POAPackage/NoServantHolder.java org/omg/PortableServer/POAPackage/ObjectAlreadyActiveHolder.java org/omg/PortableServer/POAPackage/ObjectNotActiveHolder.java org/omg/PortableServer/POAPackage/ServantAlreadyActiveHolder.java org/omg/PortableServer/POAPackage/ServantNotActiveHolder.java org/omg/PortableServer/POAPackage/WrongAdapterHolder.java org/omg/PortableServer/POAPackage/WrongPolicyHolder.java org/omg/PortableServer/RequestProcessingPolicyValueHelper.java org/omg/PortableServer/RequestProcessingPolicyValueHolder.java org/omg/PortableServer/ServantActivatorHolder.java org/omg/PortableServer/ServantLocatorHolder.java org/omg/PortableServer/ThreadPolicyValueHelper.java org/omg/PortableServer/ThreadPolicyValueHolder.java PIHELHOLFILES org/omg/PortableInterceptor/ClientRequestInfoHelper.java org/omg/PortableInterceptor/ClientRequestInterceptorHelper.java org/omg/PortableInterceptor/IORInfoHelper.java org/omg/PortableInterceptor/IORInterceptorHelper.java org/omg/PortableInterceptor/InterceptorHelper.java org/omg/PortableInterceptor/ORBInitInfoHelper.java org/omg/PortableInterceptor/ORBInitializerHelper.java org/omg/PortableInterceptor/PolicyFactoryHelper.java org/omg/PortableInterceptor/ReplyStatusHelper.java org/omg/PortableInterceptor/RequestInfoHelper.java org/omg/PortableInterceptor/ServerRequestInfoHelper.java org/omg/PortableInterceptor/ServerRequestInterceptorHelper.java org/omg/PortableInterceptor/SlotIdHelper.java org/omg/PortableInterceptor/ClientRequestInfoHolder.java org/omg/PortableInterceptor/ClientRequestInterceptorHolder.java org/omg/PortableInterceptor/CurrentHolder.java org/omg/PortableInterceptor/ForwardRequestHolder.java org/omg/PortableInterceptor/IORInfoHolder.java org/omg/PortableInterceptor/IORInterceptorHolder.java org/omg/PortableInterceptor/InterceptorHolder.java org/omg/PortableInterceptor/InvalidSlotHolder.java org/omg/PortableInterceptor/ORBInitInfoHolder.java org/omg/PortableInterceptor/ORBInitializerHolder.java org/omg/PortableInterceptor/PolicyFactoryHolder.java org/omg/PortableInterceptor/RequestInfoHolder.java org/omg/PortableInterceptor/ServerRequestInfoHolder.java org/omg/PortableInterceptor/ServerRequestInterceptorHolder.java org/omg/PortableInterceptor/TaggedComponentSeqHolder.java org/omg/PortableInterceptor/ORBInitInfoPackage/DuplicateNameHolder.java org/omg/PortableInterceptor/ORBInitInfoPackage/InvalidNameHolder.java org/omg/IOP/CodecPackage/FormatMismatchHolder.java org/omg/IOP/CodecPackage/InvalidTypeForEncodingHolder.java org/omg/IOP/CodecPackage/TypeMismatchHolder.java org/omg/IOP/CodecHelper.java org/omg/IOP/EncodingFormatHelper.java org/omg/IOP/EncodingHelper.java org/omg/IOP/CodecFactoryPackage/UnknownEncodingHolder.java org/omg/IOP/CodecFactoryHolder.java org/omg/IOP/CodecHolder.java org/omg/IOP/EncodingHolder.java org/omg/IOP/TaggedComponentSeqHelper.java org/omg/Dynamic/ContextListHelper.java org/omg/Dynamic/ExceptionListHelper.java org/omg/Dynamic/ParameterHolder.java org/omg/Dynamic/ParameterListHolder.java org/omg/Dynamic/ExceptionListHolder.java org/omg/Dynamic/ParameterHelper.java org/omg/Dynamic/ParameterListHelper.java org/omg/Dynamic/RequestContextHelper.java CORBAX org/omg/CORBA/OctetSeqHelper.java org/omg/CORBA/OctetSeqHolder.java org/omg/CORBA/PolicyError.java org/omg/CORBA/RepositoryIdHelper.java)) 
+ifeq ($(LOGWRAPPERS_ARE_CREATED), yes)
 
-        $(BUILD_IDLS) : $(CORBA_OUTPUTDIR)/btjars/idlj.jar
+  $(eval $(call SetupIdlCompilation,BUILD_IDLS, \
+      IDLJ := $(JAVA) -jar $(CORBA_OUTPUTDIR)/btjars/idlj.jar, \
+      SRC := $(CORBA_TOPDIR)/src/share/classes, \
+      BIN := $(CORBA_OUTPUTDIR)/gensrc, \
+      EXCLUDES := com/sun/tools/corba/se/idl/% \
+          org/omg/CORBA/% \
+          com/sun/corba/se/GiopIDL/% \
+          org/omg/PortableServer/corba.idl, \
+      INCLUDES := %, \
+      OLDIMPLBASES := com/sun/corba/se/PortableActivationIDL/activation.idl \
+          com/sun/corba/se/spi/activation/activation.idl, \
+      DELETES := DYNANYDELETEFILES org/omg/DynamicAny/*POA* org/omg/DynamicAny/*Holder* org/omg/DynamicAny/DynValueBoxHelper.java org/omg/DynamicAny/DynValueCommonHelper.java org/omg/DynamicAny/_DynValueCommonStub.java org/omg/DynamicAny/_DynValueBoxStub.java org/omg/DynamicAny/DynAnyPackage/TypeMismatchHolder.java org/omg/DynamicAny/DynAnyPackage/InvalidValueHolder.java org/omg/DynamicAny/DynAnyFactoryPackage/InconsistentTypeCodeHolder.java IOPDELETEFILES org/omg/IOP/BI_DIR_IIOP.java org/omg/IOP/ChainBypassCheck.java org/omg/IOP/ChainBypassInfo.java org/omg/IOP/FORWARDED_IDENTITY.java org/omg/IOP/INVOCATION_POLICIES.java org/omg/IOP/LogicalThreadId.java org/omg/IOP/SendingContextRunTime.java org/omg/IOP/UnknownExceptionInfo.java org/omg/IOP/TaggedComponentSeqHolder.java POAHELHOLFILES org/omg/PortableServer/CurrentPackage/NoContextHolder.java org/omg/PortableServer/ForwardRequestHolder.java org/omg/PortableServer/IdAssignmentPolicyValueHelper.java org/omg/PortableServer/IdAssignmentPolicyValueHolder.java org/omg/PortableServer/IdUniquenessPolicyValueHelper.java org/omg/PortableServer/IdUniquenessPolicyValueHolder.java org/omg/PortableServer/ImplicitActivationPolicyValueHelper.java org/omg/PortableServer/ImplicitActivationPolicyValueHolder.java org/omg/PortableServer/LifespanPolicyValueHelper.java org/omg/PortableServer/LifespanPolicyValueHolder.java org/omg/PortableServer/ServantRetentionPolicyValueHelper.java org/omg/PortableServer/ServantRetentionPolicyValueHolder.java org/omg/PortableServer/ObjectIdHelper.java org/omg/PortableServer/ObjectIdHolder.java org/omg/PortableServer/POAListHelper.java org/omg/PortableServer/POAListHolder.java org/omg/PortableServer/POAManagerPackage/AdapterInactiveHolder.java org/omg/PortableServer/POAManagerPackage/StateHelper.java org/omg/PortableServer/POAManagerPackage/StateHolder.java org/omg/PortableServer/POAPackage/AdapterAlreadyExistsHolder.java org/omg/PortableServer/POAPackage/AdapterNonExistentHolder.java org/omg/PortableServer/POAPackage/InvalidPolicyHolder.java org/omg/PortableServer/POAPackage/NoServantHolder.java org/omg/PortableServer/POAPackage/ObjectAlreadyActiveHolder.java org/omg/PortableServer/POAPackage/ObjectNotActiveHolder.java org/omg/PortableServer/POAPackage/ServantAlreadyActiveHolder.java org/omg/PortableServer/POAPackage/ServantNotActiveHolder.java org/omg/PortableServer/POAPackage/WrongAdapterHolder.java org/omg/PortableServer/POAPackage/WrongPolicyHolder.java org/omg/PortableServer/RequestProcessingPolicyValueHelper.java org/omg/PortableServer/RequestProcessingPolicyValueHolder.java org/omg/PortableServer/ServantActivatorHolder.java org/omg/PortableServer/ServantLocatorHolder.java org/omg/PortableServer/ThreadPolicyValueHelper.java org/omg/PortableServer/ThreadPolicyValueHolder.java PIHELHOLFILES org/omg/PortableInterceptor/ClientRequestInfoHelper.java org/omg/PortableInterceptor/ClientRequestInterceptorHelper.java org/omg/PortableInterceptor/IORInfoHelper.java org/omg/PortableInterceptor/IORInterceptorHelper.java org/omg/PortableInterceptor/InterceptorHelper.java org/omg/PortableInterceptor/ORBInitInfoHelper.java org/omg/PortableInterceptor/ORBInitializerHelper.java org/omg/PortableInterceptor/PolicyFactoryHelper.java org/omg/PortableInterceptor/ReplyStatusHelper.java org/omg/PortableInterceptor/RequestInfoHelper.java org/omg/PortableInterceptor/ServerRequestInfoHelper.java org/omg/PortableInterceptor/ServerRequestInterceptorHelper.java org/omg/PortableInterceptor/SlotIdHelper.java org/omg/PortableInterceptor/ClientRequestInfoHolder.java org/omg/PortableInterceptor/ClientRequestInterceptorHolder.java org/omg/PortableInterceptor/CurrentHolder.java org/omg/PortableInterceptor/ForwardRequestHolder.java org/omg/PortableInterceptor/IORInfoHolder.java org/omg/PortableInterceptor/IORInterceptorHolder.java org/omg/PortableInterceptor/InterceptorHolder.java org/omg/PortableInterceptor/InvalidSlotHolder.java org/omg/PortableInterceptor/ORBInitInfoHolder.java org/omg/PortableInterceptor/ORBInitializerHolder.java org/omg/PortableInterceptor/PolicyFactoryHolder.java org/omg/PortableInterceptor/RequestInfoHolder.java org/omg/PortableInterceptor/ServerRequestInfoHolder.java org/omg/PortableInterceptor/ServerRequestInterceptorHolder.java org/omg/PortableInterceptor/TaggedComponentSeqHolder.java org/omg/PortableInterceptor/ORBInitInfoPackage/DuplicateNameHolder.java org/omg/PortableInterceptor/ORBInitInfoPackage/InvalidNameHolder.java org/omg/IOP/CodecPackage/FormatMismatchHolder.java org/omg/IOP/CodecPackage/InvalidTypeForEncodingHolder.java org/omg/IOP/CodecPackage/TypeMismatchHolder.java org/omg/IOP/CodecHelper.java org/omg/IOP/EncodingFormatHelper.java org/omg/IOP/EncodingHelper.java org/omg/IOP/CodecFactoryPackage/UnknownEncodingHolder.java org/omg/IOP/CodecFactoryHolder.java org/omg/IOP/CodecHolder.java org/omg/IOP/EncodingHolder.java org/omg/IOP/TaggedComponentSeqHelper.java org/omg/Dynamic/ContextListHelper.java org/omg/Dynamic/ExceptionListHelper.java org/omg/Dynamic/ParameterHolder.java org/omg/Dynamic/ParameterListHolder.java org/omg/Dynamic/ExceptionListHolder.java org/omg/Dynamic/ParameterHelper.java org/omg/Dynamic/ParameterListHelper.java org/omg/Dynamic/RequestContextHelper.java CORBAX org/omg/CORBA/OctetSeqHelper.java org/omg/CORBA/OctetSeqHolder.java org/omg/CORBA/PolicyError.java org/omg/CORBA/RepositoryIdHelper.java))
 
-        $(CORBA_OUTPUTDIR)/gensrc/_the_idls.d : $(BUILD_IDLS) $(CORBA_OUTPUTDIR)/btjars/idlj.jar
-		$(MKDIR) -p $(@D)
-		$(ECHO) IDLS_ARE_CREATED=yes > $@
+  $(BUILD_IDLS): $(CORBA_OUTPUTDIR)/btjars/idlj.jar
 
-        -include $(CORBA_OUTPUTDIR)/gensrc/_the_idls.d
+  $(CORBA_OUTPUTDIR)/gensrc/_the_idls.d: $(BUILD_IDLS) $(CORBA_OUTPUTDIR)/btjars/idlj.jar
+	$(MKDIR) -p $(@D)
+	$(ECHO) IDLS_ARE_CREATED = yes > $@
+
+  -include $(CORBA_OUTPUTDIR)/gensrc/_the_idls.d
+
+  ifeq ($(IDLS_ARE_CREATED), yes)
 
-        ifeq ($(IDLS_ARE_CREATED),yes)
-                $(eval $(call SetupJavaCompilation,BUILD_CORBA,\
-		    SETUP:=GENERATE_NEWBYTECODE,\
-		    SRC:=$(CORBA_TOPDIR)/src/share/classes $(CORBA_OUTPUTDIR)/gensrc $(CORBA_OUTPUTDIR)/logwrappers,\
-		    EXCLUDES:=com/sun/corba/se/PortableActivationIDL\
-			      com/sun/tools/corba/se/logutil,\
-		    EXCLUDE_FILES:=com/sun/corba/se/impl/presentation/rmi/JNDIStateFactoryImpl.java \
-				   com/sun/corba/se/spi/presentation/rmi/StubWrapper.java \
-				   com/sun/org/omg/CORBA/IDLTypeOperations.java \
-				   com/sun/org/omg/CORBA/IRObjectOperations.java \
-				   org/omg/PortableInterceptor/UNKNOWN.java \
-				   com/sun/tools/corba/se/idl/ResourceBundleUtil.java\
-				   com/sun/corba/se/impl/presentation/rmi/jndi.properties,\
-		    COPY:=.prp LogStrings.properties,\
-		    BIN:=$(CORBA_OUTPUTDIR)/classes))
+    $(eval $(call SetupJavaCompilation,BUILD_CORBA, \
+        SETUP := GENERATE_NEWBYTECODE, \
+        SRC := $(CORBA_TOPDIR)/src/share/classes $(CORBA_OUTPUTDIR)/gensrc $(CORBA_OUTPUTDIR)/logwrappers, \
+        EXCLUDES := com/sun/corba/se/PortableActivationIDL \
+            com/sun/tools/corba/se/logutil, \
+        EXCLUDE_FILES := com/sun/corba/se/impl/presentation/rmi/JNDIStateFactoryImpl.java \
+            com/sun/corba/se/spi/presentation/rmi/StubWrapper.java \
+            com/sun/org/omg/CORBA/IDLTypeOperations.java \
+            com/sun/org/omg/CORBA/IRObjectOperations.java \
+            org/omg/PortableInterceptor/UNKNOWN.java \
+            com/sun/tools/corba/se/idl/ResourceBundleUtil.java \
+            com/sun/corba/se/impl/presentation/rmi/jndi.properties, \
+        COPY := .prp LogStrings.properties, \
+        BIN := $(CORBA_OUTPUTDIR)/classes))
 
-                # Separate src.zip call to include sources that were excluded in the build to 
-                # mimic behavior in old build system.
-                $(eval $(call SetupZipArchive,ARCHIVE_BUILD_CORBA,\
-		    SRC:=$(CORBA_TOPDIR)/src/share/classes $(CORBA_OUTPUTDIR)/gensrc $(CORBA_OUTPUTDIR)/logwrappers,\
-		    ZIP:=$(CORBA_OUTPUTDIR)/dist/lib/src.zip))
+    $(eval $(call SetupJavaCompilation,BUILD_BOOTSTRAP_CORBA, \
+        SETUP := GENERATE_OLDBYTECODE, \
+        SRC := $(BUILD_CORBA_SRC), \
+        EXCLUDES := $(BUILD_CORBA_EXCLUDES), \
+        EXCLUDE_FILES := $(BUILD_CORBA_EXCLUDE_FILES), \
+        COPY := $(BUILD_CORBA_COPY), \
+        BIN := $(CORBA_OUTPUTDIR)/btclasses/corba_classes, \
+        JAR := $(CORBA_OUTPUTDIR)/btjars/btcorba.jar))
 
-                $(BUILD_CORBA) : $(BUILD_IDLS) $(LOGWRAPPER_DEPENDENCIES)
+    # Separate src.zip call to include sources that were excluded in the build to
+    # mimic behavior in old build system.
+    $(eval $(call SetupZipArchive,ARCHIVE_BUILD_CORBA, \
+        SRC := $(CORBA_TOPDIR)/src/share/classes $(CORBA_OUTPUTDIR)/gensrc $(CORBA_OUTPUTDIR)/logwrappers, \
+        ZIP := $(CORBA_OUTPUTDIR)/dist/lib/src.zip))
 
-                # Run stripproperties on all sunorb resource files.
-                STRIP_PROP_SRC_FILES:=$(shell $(FIND) $(CORBA_TOPDIR)/src/share/classes -name "sunorb*.properties")
-                STRIP_PROP_FILES:=$(patsubst  $(CORBA_TOPDIR)/src/share/classes/%,$(CORBA_OUTPUTDIR)/classes/%,\
-			$(STRIP_PROP_SRC_FILES))
-                # Simple delivery of zh_HK properties files just copies zh_TW properties files
-                STRIP_PROP_FILES+=$(patsubst  $(CORBA_TOPDIR)/src/share/classes/%_zh_TW.properties,\
-			$(CORBA_OUTPUTDIR)/classes/%_zh_HK.properties,\
-			$(shell $(FIND) $(CORBA_TOPDIR)/src/share/classes -name "sunorb_zh_TW.properties"))
-                STRIP_PROP_SRC_FILES+=$(shell $(FIND) $(CORBA_TOPDIR)/src/share/classes -name "sunorb_zh_TW.properties")
-		STRIP_PROP_CMDLINE:=$(subst _SPACE_,$(SPACE),\
-			$(join $(addprefix -clean_SPACE_,$(STRIP_PROP_SRC_FILES)), \
-			$(addprefix _SPACE_,$(STRIP_PROP_FILES))))
+    $(BUILD_CORBA): $(BUILD_IDLS) $(LOGWRAPPER_DEPENDENCIES)
 
-                $(CORBA_OUTPUTDIR)/_the.stripped_properties: $(STRIP_PROP_SRC_FILES) \
-					$(CORBA_OUTPUTDIR)/btjars/stripproperties.jar
-			$(MKDIR) -p $(sort $(dir $(STRIP_PROP_FILES)))
-			$(call ListPathsSafely,STRIP_PROP_CMDLINE,\n, >> $(CORBA_OUTPUTDIR)/_the.strip_prop.cmdline)
-			$(JAVA) -jar $(CORBA_OUTPUTDIR)/btjars/stripproperties.jar \
-				@$(CORBA_OUTPUTDIR)/_the.strip_prop.cmdline
-			$(TOUCH) $@
+    # Run stripproperties on all sunorb resource files.
+    STRIP_PROP_SRC_FILES := $(shell $(FIND) $(CORBA_TOPDIR)/src/share/classes -name "sunorb*.properties")
+    STRIP_PROP_FILES := $(patsubst $(CORBA_TOPDIR)/src/share/classes/%, $(CORBA_OUTPUTDIR)/classes/%, \
+        $(STRIP_PROP_SRC_FILES))
+    # Simple delivery of zh_HK properties files just copies zh_TW properties files
+    STRIP_PROP_FILES += $(patsubst $(CORBA_TOPDIR)/src/share/classes/%_zh_TW.properties, \
+        $(CORBA_OUTPUTDIR)/classes/%_zh_HK.properties, \
+        $(shell $(FIND) $(CORBA_TOPDIR)/src/share/classes -name "sunorb_zh_TW.properties"))
+    STRIP_PROP_SRC_FILES += $(shell $(FIND) $(CORBA_TOPDIR)/src/share/classes -name "sunorb_zh_TW.properties")
+    STRIP_PROP_CMDLINE := $(subst _SPACE_, $(SPACE), \
+        $(join $(addprefix -clean_SPACE_, $(STRIP_PROP_SRC_FILES)), \
+        $(addprefix _SPACE_, $(STRIP_PROP_FILES))))
 
-                $(eval $(call SetupArchive,ARCHIVE_CORBA,\
-		     $(BUILD_CORBA) $(CORBA_OUTPUTDIR)/_the.stripped_properties,\
-		     SRCS:=$(CORBA_OUTPUTDIR)/classes,\
-		     SUFFIXES:=.class .prp .properties,\
-		     JAR:=$(CORBA_OUTPUTDIR)/dist/lib/classes.jar))
+    $(CORBA_OUTPUTDIR)/_the.stripped_properties: $(STRIP_PROP_SRC_FILES) \
+        $(CORBA_OUTPUTDIR)/btjars/stripproperties.jar
+		$(MKDIR) -p $(sort $(dir $(STRIP_PROP_FILES)))
+		$(call ListPathsSafely,STRIP_PROP_CMDLINE,\n, >> $(CORBA_OUTPUTDIR)/_the.strip_prop.cmdline)
+		$(JAVA) -jar $(CORBA_OUTPUTDIR)/btjars/stripproperties.jar \
+		    @$(CORBA_OUTPUTDIR)/_the.strip_prop.cmdline
+		$(TOUCH) $@
+
+    $(eval $(call SetupArchive,ARCHIVE_CORBA, \
+        $(BUILD_CORBA) $(CORBA_OUTPUTDIR)/_the.stripped_properties, \
+        SRCS := $(CORBA_OUTPUTDIR)/classes, \
+        SUFFIXES := .class .prp .properties, \
+        JAR := $(CORBA_OUTPUTDIR)/dist/lib/classes.jar))
 
-                # The created classes.jar now contains Corba compiled to run on the target JDK
-                # and is ready for inclusion in jdk rt.jar.
+    # The created classes.jar now contains Corba compiled to run on the target JDK
+    # and is ready for inclusion in jdk rt.jar.
 
-                # The created src.zip now contains .java and .properties files used to create the classes in classes.jar
-                # and is ready for inclusion into the jdk src.zip
+    # The created src.zip now contains .java and .properties files used to create the classes in classes.jar
+    # and is ready for inclusion into the jdk src.zip
 
-                BIN_FILES:=$(CORBA_TOPDIR)/src/share/classes/com/sun/tools/corba/se/idl/orb.idl \
-			   $(CORBA_TOPDIR)/src/share/classes/com/sun/tools/corba/se/idl/ir.idl
+    BIN_FILES := $(CORBA_TOPDIR)/src/share/classes/com/sun/tools/corba/se/idl/orb.idl \
+        $(CORBA_TOPDIR)/src/share/classes/com/sun/tools/corba/se/idl/ir.idl
 
-                $(CORBA_OUTPUTDIR)/dist/lib/bin.zip : $(BIN_FILES) $(CORBA_OUTPUTDIR)/dist/lib/classes.jar
-			$(MKDIR) -p $(CORBA_OUTPUTDIR)/dist/lib
-			$(MKDIR) -p $(CORBA_OUTPUTDIR)/lib
-			$(RM) -f $@
-			$(ECHO) Creating `basename $@`
-			$(CP) $(BIN_FILES) $(CORBA_OUTPUTDIR)/lib
-			$(CHMOD) ug+w $(CORBA_OUTPUTDIR)/lib/*
-			(cd $(CORBA_OUTPUTDIR); $(ZIP) -q $@ lib/orb.idl lib/ir.idl)
+    $(CORBA_OUTPUTDIR)/dist/lib/bin.zip: $(BIN_FILES) $(CORBA_OUTPUTDIR)/dist/lib/classes.jar
+	$(MKDIR) -p $(CORBA_OUTPUTDIR)/dist/lib
+	$(MKDIR) -p $(CORBA_OUTPUTDIR)/lib
+	$(RM) -f $@
+	$(ECHO) Creating `basename $@`
+	$(CP) $(BIN_FILES) $(CORBA_OUTPUTDIR)/lib
+	$(CHMOD) ug+w $(CORBA_OUTPUTDIR)/lib/*
+	(cd $(CORBA_OUTPUTDIR); $(ZIP) -q $@ lib/orb.idl lib/ir.idl)
 
-                # The created bin.zip now contains the corba specific binaries: orb.idl, ir.idl
+    # The created bin.zip now contains the corba specific binaries: orb.idl, ir.idl
 
-                all: 	$(CORBA_OUTPUTDIR)/btjars/stripproperties.jar \
-			$(CORBA_OUTPUTDIR)/btjars/idlj.jar \
-			$(CORBA_OUTPUTDIR)/btjars/logutil.jar \
-			$(CORBA_OUTPUTDIR)/dist/lib/classes.jar \
-			$(CORBA_OUTPUTDIR)/dist/lib/src.zip \
-			$(CORBA_OUTPUTDIR)/dist/lib/bin.zip
-        endif
+    all: $(CORBA_OUTPUTDIR)/btjars/stripproperties.jar \
+        $(CORBA_OUTPUTDIR)/btjars/idlj.jar \
+        $(CORBA_OUTPUTDIR)/btjars/logutil.jar \
+        $(CORBA_OUTPUTDIR)/btjars/btcorba.jar \
+        $(CORBA_OUTPUTDIR)/dist/lib/classes.jar \
+        $(CORBA_OUTPUTDIR)/dist/lib/src.zip \
+        $(CORBA_OUTPUTDIR)/dist/lib/bin.zip
+  endif
 endif
 
 clean:
 	$(RM) -rf $(CORBA_OUTPUTDIR)
 
-.PHONY: default all clean clobber 
+.PHONY: default all clean clobber
--- a/makefiles/Makefile	Fri Oct 11 15:08:39 2013 -0700
+++ b/makefiles/Makefile	Mon Oct 28 18:31:10 2013 -0400
@@ -24,19 +24,19 @@
 #
 
 # Locate this Makefile
-ifeq ($(filter /%,$(lastword $(MAKEFILE_LIST))),)
-    makefile_path:=$(CURDIR)/$(lastword $(MAKEFILE_LIST))
+ifeq ($(filter /%, $(lastword $(MAKEFILE_LIST))), )
+  makefile_path := $(CURDIR)/$(lastword $(MAKEFILE_LIST))
 else
-    makefile_path:=$(lastword $(MAKEFILE_LIST))
+  makefile_path := $(lastword $(MAKEFILE_LIST))
 endif
-repo_dir:=$(patsubst %/makefiles/Makefile,%,$(makefile_path))
+repo_dir := $(patsubst %/makefiles/Makefile, %, $(makefile_path))
 
 # What is the name of this subsystem (langtools, corba, etc)?
-subsystem_name:=$(notdir $(repo_dir))
+subsystem_name := $(notdir $(repo_dir))
 
 # Try to locate top-level makefile
-top_level_makefile:=$(repo_dir)/../common/makefiles/Makefile
-ifneq ($(wildcard $(top_level_makefile)),)
+top_level_makefile := $(repo_dir)/../common/makefiles/Makefile
+ifneq ($(wildcard $(top_level_makefile)), )
   $(info Will run $(subsystem_name) target on top-level Makefile)
   $(info WARNING: This is a non-recommended way of building!)
   $(info ===================================================)
--- a/src/share/classes/com/sun/corba/se/impl/corba/AnyImpl.java	Fri Oct 11 15:08:39 2013 -0700
+++ b/src/share/classes/com/sun/corba/se/impl/corba/AnyImpl.java	Mon Oct 28 18:31:10 2013 -0400
@@ -580,7 +580,7 @@
             java.lang.Object[] objholder = new java.lang.Object[1];
             objholder[0] = object;
             long[] longholder = new long[1];
-            TCUtility.unmarshalIn(in, typeCode, longholder, objholder);
+            TCUtility.unmarshalIn(in, realType(), longholder, objholder);
             value = longholder[0];
             object = objholder[0];
             stream = null;
--- a/src/share/classes/com/sun/corba/se/impl/presentation/rmi/IDLNameTranslatorImpl.java	Fri Oct 11 15:08:39 2013 -0700
+++ b/src/share/classes/com/sun/corba/se/impl/presentation/rmi/IDLNameTranslatorImpl.java	Mon Oct 28 18:31:10 2013 -0400
@@ -905,28 +905,4 @@
 
         return contents.toString();
     }
-
-    public static void main(String[] args) {
-
-        Class remoteInterface = java.rmi.Remote.class;
-
-        if( args.length > 0 ) {
-            String className = args[0];
-            try {
-                remoteInterface = Class.forName(className);
-            } catch(Exception e) {
-                e.printStackTrace();
-                System.exit(-1);
-            }
-        }
-
-        System.out.println("Building name translation for " + remoteInterface);
-        try {
-            IDLNameTranslator nameTranslator =
-                IDLNameTranslatorImpl.get(remoteInterface);
-            System.out.println(nameTranslator);
-        } catch(IllegalStateException ise) {
-            ise.printStackTrace();
-        }
-    }
 }
--- a/src/share/classes/com/sun/corba/se/impl/presentation/rmi/InvocationHandlerFactoryImpl.java	Fri Oct 11 15:08:39 2013 -0700
+++ b/src/share/classes/com/sun/corba/se/impl/presentation/rmi/InvocationHandlerFactoryImpl.java	Mon Oct 28 18:31:10 2013 -0400
@@ -43,6 +43,8 @@
 import com.sun.corba.se.spi.orbutil.proxy.DelegateInvocationHandlerImpl ;
 import com.sun.corba.se.spi.orbutil.proxy.CompositeInvocationHandler ;
 import com.sun.corba.se.spi.orbutil.proxy.CompositeInvocationHandlerImpl ;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
 
 public class InvocationHandlerFactoryImpl implements InvocationHandlerFactory
 {
@@ -114,24 +116,32 @@
         // which extends org.omg.CORBA.Object.  This handler delegates all
         // calls directly to a DynamicStubImpl, which extends
         // org.omg.CORBA.portable.ObjectImpl.
-        InvocationHandler dynamicStubHandler =
+        final InvocationHandler dynamicStubHandler =
             DelegateInvocationHandlerImpl.create( stub ) ;
 
         // Create an invocation handler that handles any remote interface
         // methods.
-        InvocationHandler stubMethodHandler = new StubInvocationHandlerImpl(
+        final InvocationHandler stubMethodHandler = new StubInvocationHandlerImpl(
             pm, classData, stub ) ;
 
         // Create a composite handler that handles the DynamicStub interface
         // as well as the remote interfaces.
         final CompositeInvocationHandler handler =
             new CustomCompositeInvocationHandlerImpl( stub ) ;
+
+        AccessController.doPrivileged(new PrivilegedAction<Void>() {
+            @Override
+            public Void run() {
         handler.addInvocationHandler( DynamicStub.class,
             dynamicStubHandler ) ;
         handler.addInvocationHandler( org.omg.CORBA.Object.class,
             dynamicStubHandler ) ;
         handler.addInvocationHandler( Object.class,
             dynamicStubHandler ) ;
+                return null;
+            }
+        });
+
 
         // If the method passed to invoke is not from DynamicStub or its superclasses,
         // it must be from an implemented interface, so we just handle
--- a/src/share/classes/com/sun/corba/se/impl/transport/SelectorImpl.java	Fri Oct 11 15:08:39 2013 -0700
+++ b/src/share/classes/com/sun/corba/se/impl/transport/SelectorImpl.java	Mon Oct 28 18:31:10 2013 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -55,7 +55,7 @@
 /**
  * @author Harold Carr
  */
-public class SelectorImpl
+class SelectorImpl
     extends
         Thread
     implements
--- a/src/share/classes/com/sun/corba/se/spi/orbutil/proxy/CompositeInvocationHandlerImpl.java	Fri Oct 11 15:08:39 2013 -0700
+++ b/src/share/classes/com/sun/corba/se/spi/orbutil/proxy/CompositeInvocationHandlerImpl.java	Mon Oct 28 18:31:10 2013 -0400
@@ -36,6 +36,7 @@
 
 import com.sun.corba.se.spi.logging.CORBALogDomains ;
 import com.sun.corba.se.impl.logging.ORBUtilSystemException ;
+import com.sun.corba.se.impl.presentation.rmi.DynamicAccessPermission;
 
 public class CompositeInvocationHandlerImpl implements
     CompositeInvocationHandler
@@ -46,11 +47,13 @@
     public void addInvocationHandler( Class interf,
         InvocationHandler handler )
     {
+        checkAccess();
         classToInvocationHandler.put( interf, handler ) ;
     }
 
     public void setDefaultHandler( InvocationHandler handler )
     {
+        checkAccess();
         defaultHandler = handler ;
     }
 
@@ -78,4 +81,12 @@
 
         return handler.invoke( proxy, method, args ) ;
     }
+
+    private static final DynamicAccessPermission perm = new DynamicAccessPermission("access");
+    private void checkAccess() {
+        final SecurityManager sm = System.getSecurityManager();
+        if (sm != null) {
+            sm.checkPermission(perm);
 }
+    }
+}
--- a/src/share/classes/javax/rmi/CORBA/Stub.java	Fri Oct 11 15:08:39 2013 -0700
+++ b/src/share/classes/javax/rmi/CORBA/Stub.java	Mon Oct 28 18:31:10 2013 -0400
@@ -61,13 +61,11 @@
     private transient StubDelegate stubDelegate = null;
     private static Class stubDelegateClass = null;
     private static final String StubClassKey = "javax.rmi.CORBA.StubClass";
-    private static final String defaultStubImplName = "com.sun.corba.se.impl.javax.rmi.CORBA.StubDelegateImpl";
 
     static {
-        Object stubDelegateInstance = (Object) createDelegateIfSpecified(StubClassKey, defaultStubImplName);
+        Object stubDelegateInstance = createDelegate(StubClassKey);
         if (stubDelegateInstance != null)
             stubDelegateClass = stubDelegateInstance.getClass();
-
     }
 
 
@@ -207,7 +205,7 @@
     // are in different packages and the visibility needs to be package for
     // security reasons. If you know a better solution how to share this code
     // then remove it from PortableRemoteObject. Also in Util.java
-    private static Object createDelegateIfSpecified(String classKey, String defaultClassName) {
+    private static Object createDelegate(String classKey) {
         String className = (String)
             AccessController.doPrivileged(new GetPropertyAction(classKey));
         if (className == null) {
@@ -218,7 +216,7 @@
         }
 
         if (className == null) {
-            className = defaultClassName;
+            return new com.sun.corba.se.impl.javax.rmi.CORBA.StubDelegateImpl();
         }
 
         try {
--- a/src/share/classes/javax/rmi/CORBA/Util.java	Fri Oct 11 15:08:39 2013 -0700
+++ b/src/share/classes/javax/rmi/CORBA/Util.java	Mon Oct 28 18:31:10 2013 -0400
@@ -60,14 +60,11 @@
 public class Util {
 
     // This can only be set at static initialization time (no sync necessary).
-    private static javax.rmi.CORBA.UtilDelegate utilDelegate = null;
+    private static final javax.rmi.CORBA.UtilDelegate utilDelegate;
     private static final String UtilClassKey = "javax.rmi.CORBA.UtilClass";
-    private static final String defaultUtilImplName =
-"com.sun.corba.se.impl.javax.rmi.CORBA.Util";
 
     static {
-        utilDelegate = (javax.rmi.CORBA.UtilDelegate)
-            createDelegateIfSpecified(UtilClassKey, defaultUtilImplName);
+        utilDelegate = (javax.rmi.CORBA.UtilDelegate)createDelegate(UtilClassKey);
     }
 
     private Util(){}
@@ -338,9 +335,7 @@
     // are in different packages and the visibility needs to be package for
     // security reasons. If you know a better solution how to share this code
     // then remove it from PortableRemoteObject. Also in Stub.java
-    private static Object createDelegateIfSpecified(String classKey,
-        String defaultClassName)
-    {
+    private static Object createDelegate(String classKey) {
         String className = (String)
             AccessController.doPrivileged(new GetPropertyAction(classKey));
         if (className == null) {
@@ -351,7 +346,7 @@
         }
 
         if (className == null) {
-            className = defaultClassName;
+            return new com.sun.corba.se.impl.javax.rmi.CORBA.Util();
         }
 
         try {
--- a/src/share/classes/javax/rmi/PortableRemoteObject.java	Fri Oct 11 15:08:39 2013 -0700
+++ b/src/share/classes/javax/rmi/PortableRemoteObject.java	Mon Oct 28 18:31:10 2013 -0400
@@ -65,17 +65,14 @@
  */
 public class PortableRemoteObject {
 
-    private static javax.rmi.CORBA.PortableRemoteObjectDelegate proDelegate = null;
+    private static final javax.rmi.CORBA.PortableRemoteObjectDelegate proDelegate;
 
     private static final String PortableRemoteObjectClassKey =
             "javax.rmi.CORBA.PortableRemoteObjectClass";
 
-    private static final String defaultPortableRemoteObjectImplName =
-            "com.sun.corba.se.impl.javax.rmi.PortableRemoteObject";
-
     static {
         proDelegate = (javax.rmi.CORBA.PortableRemoteObjectDelegate)
-            createDelegateIfSpecified(PortableRemoteObjectClassKey);
+            createDelegate(PortableRemoteObjectClassKey);
     }
 
     /**
@@ -181,7 +178,7 @@
     // are in different packages and the visibility needs to be package for
     // security reasons. If you know a better solution how to share this code
     // then remove it from here.
-    private static Object createDelegateIfSpecified(String classKey) {
+    private static Object createDelegate(String classKey) {
         String className = (String)
             AccessController.doPrivileged(new GetPropertyAction(classKey));
         if (className == null) {
@@ -191,7 +188,7 @@
             }
         }
         if (className == null) {
-                className = defaultPortableRemoteObjectImplName;
+            return new com.sun.corba.se.impl.javax.rmi.PortableRemoteObject();
         }
 
         try {
--- a/src/share/classes/org/omg/CORBA/ORB.java	Fri Oct 11 15:08:39 2013 -0700
+++ b/src/share/classes/org/omg/CORBA/ORB.java	Mon Oct 28 18:31:10 2013 -0400
@@ -174,15 +174,6 @@
     private static final String ORBSingletonClassKey = "org.omg.CORBA.ORBSingletonClass";
 
     //
-    // The last resort fallback ORB implementation classes in case
-    // no ORB implementation class is dynamically configured through
-    // properties or applet parameters. Change these values to
-    // vendor-specific class names.
-    //
-    private static final String defaultORB = "com.sun.corba.se.impl.orb.ORBImpl";
-    private static final String defaultORBSingleton = "com.sun.corba.se.impl.orb.ORBSingleton";
-
-    //
     // The global instance of the singleton ORB implementation which
     // acts as a factory for typecodes for generated Helper classes.
     // TypeCodes should be immutable since they may be shared across
@@ -294,10 +285,11 @@
             String className = getSystemProperty(ORBSingletonClassKey);
             if (className == null)
                 className = getPropertyFromFile(ORBSingletonClassKey);
-            if (className == null)
-                className = defaultORBSingleton;
-
-            singleton = create_impl(className);
+            if (className == null) {
+                singleton = new com.sun.corba.se.impl.orb.ORBSingleton();
+            } else {
+                singleton = create_impl(className);
+            }
         }
         return singleton;
     }
@@ -347,10 +339,12 @@
             className = getSystemProperty(ORBClassKey);
         if (className == null)
             className = getPropertyFromFile(ORBClassKey);
-        if (className == null)
-            className = defaultORB;
+        if (className == null) {
+            orb = new com.sun.corba.se.impl.orb.ORBImpl();
+        } else {
+            orb = create_impl(className);
+        }
 
-        orb = create_impl(className);
         orb.set_parameters(args, props);
         return orb;
     }
@@ -375,10 +369,12 @@
             className = getSystemProperty(ORBClassKey);
         if (className == null)
             className = getPropertyFromFile(ORBClassKey);
-        if (className == null)
-            className = defaultORB;
+        if (className == null) {
+            orb = new com.sun.corba.se.impl.orb.ORBImpl();
+        } else {
+            orb = create_impl(className);
+        }
 
-        orb = create_impl(className);
         orb.set_parameters(app, props);
         return orb;
     }
--- a/src/share/classes/sun/rmi/rmic/iiop/StubGenerator.java	Fri Oct 11 15:08:39 2013 -0700
+++ b/src/share/classes/sun/rmi/rmic/iiop/StubGenerator.java	Mon Oct 28 18:31:10 2013 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -34,6 +34,9 @@
 
 import java.io.File;
 import java.io.IOException;
+import java.io.SerializablePermission;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
 import java.util.Vector;
 import java.util.Hashtable;
 import java.util.Enumeration;
@@ -49,6 +52,7 @@
 import com.sun.corba.se.impl.util.PackagePrefixChecker;
 import sun.rmi.rmic.Main;
 
+
 /**
  * An IIOP stub/tie generator for rmic.
  *
@@ -78,6 +82,7 @@
     protected boolean castArray = false;
     protected Hashtable transactionalObjects = new Hashtable() ;
     protected boolean POATie = false ;
+    protected boolean emitPermissionCheck = false;
 
     /**
      * Default constructor for Main to use.
@@ -193,6 +198,9 @@
                     } else if (argv[i].equals("-standardPackage")) {
                         standardPackage = true;
                         argv[i] = null;
+                    } else if (argv[i].equals("-emitPermissionCheck")) {
+                        emitPermissionCheck = true;
+                        argv[i] = null;
                     } else if (arg.equals("-xstubbase")) {
                         argv[i] = null;
                         if (++i < argv.length && argv[i] != null && !argv[i].startsWith("-")) {
@@ -390,9 +398,22 @@
 
         writePackageAndImports(p);
 
+//        generate
+//        import java.security.AccessController;
+//        import java.security.PrivilegedAction;
+//        import java.io.SerializablePermission;
+        if (emitPermissionCheck) {
+            p.pln("import java.security.AccessController;");
+            p.pln("import java.security.PrivilegedAction;");
+            p.pln("import java.io.SerializablePermission;");
+            p.pln();
+            p.pln();
+        }
+
         // Declare the stub class; implement all remote interfaces.
 
         p.p("public class " + currentClass);
+
         p.p(" extends " + getName(stubBaseClass));
         p.p(" implements ");
         if (remoteInterfaces.length > 0) {
@@ -422,6 +443,57 @@
         writeIds( p, theType, false );
         p.pln();
 
+        if (emitPermissionCheck) {
+
+            // produce the following generated code for example
+            // private static Void checkPermission() {
+            // SecurityManager sm = System.getSecurityManager();
+            // if (sm != null) {
+            //     sm.checkPermission(new SerializablePermission(
+            // "enableSubclassImplementation")); // testing
+            // }
+            // return null;
+            // }
+            //
+            // private _XXXXX_Stub(Void ignore) {
+            // }
+            //
+            // public _XXXXX_Stub() {
+            // this(checkPermission());
+            // }
+            //
+            // where XXXXX is the name of the remote interface
+
+                p.pln();
+                p.plnI("private static Void checkPermission() {");
+                p.plnI("SecurityManager sm = System.getSecurityManager();");
+                p.pln("if (sm != null) {");
+                p.pI();
+                p.plnI("sm.checkPermission(new SerializablePermission(");
+                p.plnI("\"enableSubclassImplementation\"));");
+                p.pO();
+                p.pO();
+                p.pOln("}");
+                p.pln("return null;");
+                p.pO();
+                p.pOln("}");
+                p.pln();
+                p.pO();
+
+                p.pI();
+                p.pln("private " + currentClass + "(Void ignore) {  }");
+                p.pln();
+
+                p.plnI("public " + currentClass + "() { ");
+                p.pln("this(checkPermission());");
+                p.pOln("}");
+                p.pln();
+        }
+
+       if (!emitPermissionCheck) {
+            p.pI();
+       }
+
         // Write the _ids() method...
 
         p.plnI("public String[] _ids() { ");
@@ -815,7 +887,6 @@
                             CompoundType theType) throws IOException {
 
         // Wtite the method declaration and opening brace...
-
         String methodName = method.getName();
         String methodIDLName = method.getIDLName();