Request for Review: Conditionalize source so that functionality can be easily included or excluded

Joe Provino joseph.provino at oracle.com
Tue Sep 18 10:17:38 PDT 2012



On 9/18/2012 2:44 AM, David Holmes wrote:
> Hi Joe,
>
> On 18/09/2012 10:30 AM, Joe Provino wrote:
>> Sorry, I forgot to provide a link to the new webrev:
>>
>> http://cr.openjdk.java.net/~jprovino/7189254/webrev.04
>
> The webrev is missing excludeSrc.gmk and the new minimal1.make 
> files.(perhaps they were not "hg add"ed?)
>
> I applied your patch to a fresh checkout of hotspot-rt that was 
> situated in a jdk8 forest. Initially I hadn't noticed that 
> minimal1.make was missing which was a good in a way because it 
> highlighted a logic error in make/Makefile in generic_buildminimal1:
>
> +         @if [ -r $(GAMMADIR)/make/$(OSNAME)/makefiles/minimal1.make 
> ] ; then \
> +           $(CD) $(OUTPUTDIR); \
> +           $(MAKE) -f $(ABS_OS_MAKEFILE) $(MAKE_ARGS) $(VM_TARGET) ; \
> +         else \
> +           $(ECHO) "No $(VM_TARGET) for $(OSNAME) 
> ARCH_DATA_MODEL=$(ARCH_DATA_MODEL)" ; \
> +         fi
>
> If minimal1.make is missing this needs to be a fatal error, because 
> the build will fail later anyway because you have added minimal1 
> related targets to the EXPORT_LIST.

minimal1.make shouldn't be missing.  Do I need the @if or can I just get 
rid of it?

joe

>
> FYI I was unable to complete a full build due to build machine issues 
> unrelated to this, but I could see minimal get built ok and gamma ran.
>
>>> David, I made all of the changes you wanted (listed in the link below)
>>> except for the rule to make optimizedminimal1. optimizedminimal1 would
>>> be the same as productminimal1.
>
> Thanks. They all seem to be addressed. One minor modification. In 
> make/defs.make can you move:
>
>  102 ifeq ($(USER),)
>  103   USER=$(USERNAME)
>  104 endif
>
> back up under
>
>   32 # Directory paths and user name
>   33 # Unless GAMMADIR is set on the command line, search upward from
>   34 # the current directory for a parent directory containing 
> "src/share/vm".
>   35 # If that fails, look for $GAMMADIR in the environment.
>   36 # When the tree of subdirs is built, this setting is stored in 
> each flags.make.
>   37 GAMMADIR := $(shell until ([ -d dev ]&&echo 
> $${GAMMADIR:-/GAMMADIR/}) || ([ -d src/share/vm ]&&pwd); do cd ..; done)
>   38 HS_SRC_DIR=$(GAMMADIR)/src
>   39 HS_MAKE_DIR=$(GAMMADIR)/make
>   40 HS_BUILD_DIR=$(GAMMADIR)/build
>
> so that the comment at #32 remains accurate. No need to regenerate 
> webrev just for that.
>
> Looking at the source changes there is an inconsistency with CDS 
> handling (as per my direct email re the JPRT crash). arguments.cpp is 
> guarding the CDS code using !INCLUDE_SERVICES not !INCLUDE_CDS:
>
> 2427 #elif !INCLUDE_SERVICES
> 2428       vm_exit_during_initialization(
> 2429           "Dumping a shared archive is not supported int this 
> VM.", NULL);
> 2430 #else
>
> and
>
> 3171 #if !INCLUDE_SERVICES
> 3172   no_shared_spaces();
> 3173 #endif // INCLUDE_SERVICES
>
> Also note there is a minor type on #2429: int -> in
>
> Thanks,
> David
>
>
>>>
>>> joe
>>>
>>> http://mail.openjdk.java.net/pipermail/hotspot-dev/2012-August/006406.html 
>>>
>>>
>>


More information about the hotspot-dev mailing list