United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-7098194 integrate macosx-port changes
JDK-7098194 : integrate macosx-port changes

Details
Type:
Bug
Submit Date:
2011-10-05
Status:
Closed
Updated Date:
2012-01-23
Project Name:
JDK
Resolved Date:
2012-01-23
Component:
hotspot
OS:
os_x
Sub-Component:
runtime
CPU:
x86
Priority:
P3
Resolution:
Fixed
Affected Versions:
hs23
Fixed Versions:
hs23 (b03)

Related Reports
Backport:
Relates:
Relates:
Relates:
Relates:
Relates:

Sub Tasks

Description
sync with the macosx-port repo

                                    

Comments
SUGGESTED FIX

See the attached 7098194-webrev-cr1.tgz for the proposed fix after
Code Review Round 0 changes.
                                     
2011-10-13
SUGGESTED FIX

See the attached 7098194-webrev-cr0.tgz for the initial proposed fix.
                                     
2011-10-13
EVALUATION

This is the OpenJDK review request. It pretty much covers what
is being done via this bug ID.

Greetings,

Tom R shepherded the the BSD Port into HotSpot Express 23 using:

    7089790 integrate bsd-port changes

and I'm following up on that work using the following bug:

    7098194 integrate macosx-port changes

The synopsis is a bit off. In reality, the 7098194changeset will
include additional changes from the BSD Port in addition the deltas
made by the MacOS X Port. The bsd-port/hotspot tip changeset for
this resync is:

    changeset:   2729:f1a18ada5853
    tag:         tip
    user:        Greg Lewis <###@###.###>
    date:        Wed Sep 21 22:29:10 2011 -0700
    summary:     . Finish removing hsearch_r.

The macosx-port/hotspot changeset for this merge is:

    changeset:   2756:69de8d34a370
    tag:         tip
    user:        ###@###.###
    date:        Thu Sep 29 18:10:16 2011 -0700
    summary:     Adding JAVA_LIBRARY_PATH for bundled app launching
                 (avoids stomping DYLD_LIBRARY_PATH)

The focus of 7098194 is to get the MacOS X port into HSX-23 without
regressing the non-MacOS X platforms. In other words, we're trying
to get HSX-23 caught up with the BSD Port and MacOS X Port projects.
Shaking out the MacOS X Port itself will be done with other changesets
on an as needed basis.

Just to be clear, the push target for this changeset is the RT_Baseline
sub-repo of HotSpot Express (currently HSX-23):

    http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot

Like what Tom did for 7089790, I'm posting multiple webrevs so folks
can review these changes in different ways. My primary focus here is
the common or shared code so I'm less worried about the BSD or MacOS X
specific changes. Obviously, if you see something I messed up in those
files, I'd like to know.

Here's the webrev for all the changes in one shot:

http://cr.openjdk.java.net/~dcubed/mac_os_x_port/7098194-webrev/0-all/

    The order of the files in the above webrev is the same as for
    for the subset webrevs below.

Here's the webrevs for the changes in subsets:

http://cr.openjdk.java.net/~dcubed/mac_os_x_port/7098194-webrev/0-bsd-resync/

    The above webrev has the changes to the bsd-port/hotspot repo made
    after Tom R's work on 7089790 (the 2011.08.02 wiki snapshot).

http://cr.openjdk.java.net/~dcubed/mac_os_x_port/7098194-webrev/0-macosx-other-code/

    The above webrev has the non-Dtrace and non-infrastructure changes
    made for the MacOS X port. There's a couple of files that also contain
    Dtrace related changes, but I decided it was better to include those
    files in this subset.

http://cr.openjdk.java.net/~dcubed/mac_os_x_port/7098194-webrev/0-macosx-dtrace-code/

    The above webrev has almost all of the changes to enable Dtrace on
    MacOS X (a couple of files are in the macosx-other-code subset).
    On MacOS X, a newer version of Dtrace is implemented than on Solaris
    which is why the code is #ifdef'ed. I had to change the original
    #ifdef'ing because the original implementation had put some non-Dtrace
    code into #ifdef USDT1 ... #endif blocks so the code didn't build on
    non-Solaris platforms. In order to be more clean with #ifdef'ing, I
    redid all MacOS X Dtrace #ifdef'ing in the following forms:

        #ifndef USDT2
<older Dtrace implementation is in this block>
<some non-Dtrace code (macros) that call the older Dtrace>
<implementation are also in this block>
        #else /* USDT2 */
<new Dtrace implementation for MacOS X in this block>
        #endif /* USDT2 */

        #ifndef USDT2
<older Dtrace implementation is in this block>
<no #else because the newer Dtrace doesn't need/have the equivalent>
        #endif /* ! USDT2 */

    Yes, I realize that the MacOS X Dtrace implementation does not follow
    HotSpot style guidelines very consistently, but I decided not to fix
    that so I could diff against the macosx-port/hotspot more reliably.

    I have to consult with Keith McGuigan about how to migrate the Solaris
    Dtrace implementation to the newer version. However, that work will be
    done independently of this bug (7098194).

http://cr.openjdk.java.net/~dcubed/mac_os_x_port/7098194-webrev/0-macosx-infra/

    The above webrev has all the infrastructure (e.g., Makefile) related
    changes. Many/most folks aren't interested in Makefile stuff so I've
    put these changes in their own subset. Of course, I need Kelly O'Hair
    to bless these changes...

Builds done so far:

- Solaris X86 builds of {Client, Server} VM * {product, fastdebug, jvmg}
- WinXP builds of {Client, Server} VM * {product, fastdebug, debug}
- MacOS 10.6.8/Xcode 3.2.6 build of the macosx-port forest with new HSX repo
- MacOS 10.7/Xcode 4.1.1 build of the macosx-port forest with new HSX repo

Testing done so far:

- Serviceability stack (25 subsuites):
  VM/NSK: jvmti, jvmti_unit, jdwp, jdi, sa-jdi, heapdump, hprof, jdb,
          logging, mm
  SDK/JDK: jdi, jdi_closed, jli, logging, mm_csjmx, mm_csm, mm_jlm,
           mm_jlm_closed, mm_jmx, mm_jmx_closed, mm_sm, mm_sm_closed,
           misc_attach, misc_jvmstat, misc_tools
- Tested configs (8 configs)
{Solaris X86, WinXP} * {Client, Server} VM * {-Xmixed, -Xcomp}

- MacOS X builds have only had minimal 'java -version' type testing,
  i.e., did the build "work"?

No regressions have been seen in the Solaris X86 testing and WinXP
testing should be finished later today.

Things still to do (in no particular order):

- gather the list of contributors for the changeset comment
- JPRT test jobs when the JPRT-hotspotwest queue settles down
- dtrace testing on Solaris X86
- code review
- start bring up of more formal dev testing on MacOS X

Thanks, in advance, for any review comments.

Dan
                                     
2011-10-13
EVALUATION

And here's the OpenJDK message for Code Review Round 1


Greetings,

I've closed out Code Review Round 0 and I'm posting new webrevs
for Code Review Round 1:

Here's the webrev for just the deltas between Code Review Round 0
and Code Review Round 1:

http://cr.openjdk.java.net/~dcubed/mac_os_x_port/7098194-webrev/1-deltas-only

Here's the webrev for all the changes in one shot:

http://cr.openjdk.java.net/~dcubed/mac_os_x_port/7098194-webrev/1-all/

And here are the same subset webrevs:

http://cr.openjdk.java.net/~dcubed/mac_os_x_port/7098194-webrev/1-bsd-resync/
http://cr.openjdk.java.net/~dcubed/mac_os_x_port/7098194-webrev/1-macosx-other-code/
http://cr.openjdk.java.net/~dcubed/mac_os_x_port/7098194-webrev/1-macosx-dtrace-code/
http://cr.openjdk.java.net/~dcubed/mac_os_x_port/7098194-webrev/1-macosx-infra/


Here's my current commit message:

> 7098194: integrate macosx-port changes
> Summary: Integrate macosx-port/hotspot changes as of 2011.09.29.
> Reviewed-by: kvn, dholmes, never, phh
> Contributed-by: Christos Zoulas <###@###.###>, Greg Lewis <###@###.###>, Kurt Miller <###@###.###>, Alexander Strange <###@###.###>, Mike Swingler <###@###.###>, Roger Hoover <###@###.###>

Thanks, in advance, for any final feedback for this changeset.

Dan
                                     
2011-10-13
EVALUATION

http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/436b4a3231bf
                                     
2011-10-14
EVALUATION

http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/436b4a3231bf
                                     
2011-10-21
EVALUATION

See main CR
                                     
2011-10-28



Hardware and Software, Engineered to Work Together