RFR: 7113349 JDK8 port to macosx

David Holmes david.holmes at oracle.com
Mon Feb 27 15:47:25 PST 2012

Hi Michael,

Partial review of jdk changes. Sorry but it is too large to go through 
everything in detail.

General meta comment: When this stuff went into 7u my biggest complaint 
was that it introduced a mass of new platform-specific stuff in places 
that weren't otherwise platform specific. That still seems to be the 
case. I was really hoping/expecting that these issues could be resolved 
before it was merged with JDK8 otherwise they will never be fixed. Eg 
jdk/make/common/Rules.gmk, jdk/make/common/shared/Defs-java.gmk. It 
seems to me that many of the specializations could be placed into the 
platform-specific gmk file(s) instead of polluting the shared ones. In 
some case though (eg Makefiles where we have to change SUBDIR) it 
indicates we need a better way to specialize things.

Ditto for the Java code. I really hate to see platform specific changes 
added to Java code that previously was platform independent.

One other general nit (because it made it much harder to see real 
changes!): there is no need to add comments to every "else" and "endif" 
in the build files. When they are long sections sure, but not for one or 
two lines. That makes it harder to read things in my opinion. (Ref: 
jdk/make/common/Program.gmk in particular) Plus this was done 
inconsistently anyway (ref: jdk/make/common/Release.gmk)

A few specific comments:



  975 # The launcher source files we need for src.zip
  976 FILES_launcher = $(wildcard $(SHARE_SRC)/bin/*) \
  977                  $(wildcard $(PLATFORM_SRC)/bin/java_md*)

is picking up a couple of extra files compared to the original file 
list: defines.h, emessages.h, main.c



Can we fix the ToDos in here? Either do them or delete them.



  35 ifneq ($(PLATFORM), macosx)
   36 include $(BUILDDIR)/common/Subdirs.gmk
   37 SUBDIRS = sctp
   38 endif
   41 all build clean clobber::
   42         $(SUBDIRS-loop)

Don't we need the include of Subdirs.gmk to get the definition of 

Is sctp an optional JDK component? Or is it provided some other way on OSX?



       private native void resume0();
       private native void interrupt0();
+     private native void setNativeName(String name);

I don't see the change in setName to call setNativeName ???



On 28/02/2012 7:07 AM, Michael McMahon wrote:
> This is an updated webrev for the Mac OS X changes after comments so far:
> http://cr.openjdk.java.net/~michaelm/7113349/jdk8/webrev.3/
> The main changes from the original webrev are:
> - jprt configuration for macosx
> - problem list updates
> - removal of dud source files brought in from 7u-dev by mistake
> - langtools test updates
> - synchronized with TL now as opposed to master
> - removal of fix for 7087956, which wasn't part of mac os work
> Comments welcome.
> Thanks,
> Michael.
> On 22/02/12 21:50, Michael McMahon wrote:
>> This is the webrev for the Mac OS changes for JDK8. It is pretty much
>> a straight merge of the current jdk7u-dev changes. It builds and
>> passes most
>> JCK and regression tests with only a small number of failures.
>> http://cr.openjdk.java.net/~michaelm/7113349/jdk8/webrev.1/
>> There are three separate webrevs at the link above for the three separate
>> repositories affected (the top-level, corba and jdk). Obviously most
>> of the changes
>> are in the jdk webrev. Comments welcome!
>> Thanks,
>> Michael.

More information about the macosx-port-dev mailing list