Uploaded image for project: 'JikesRVM'
  1. JikesRVM
  2. RVM-549

Initial support for OpenJDK class library

    Details

      Description

      This issue will track work in adding support for OpenJDK as a class library provider for Jikes RVM.

      Quick status:

      • code is on the branch RVM-549-OpenJDK in the main repository
      • there is still a lot of work to be done before the branch can be merged: not even pre-commit passes.
      • A suitable next step would be to rewrite the build file to download and build OpenJDK 6 (or possibly IcedTea 6 because OpenJDK 6 has no security support anymore) rather than downloading binaries. An investigation is necessary to determine whether building OpenJDK/IcedTea 6 from source is viable for Mac OS.

        Attachments

        1. mac-dyld.diff
          0.7 kB
        2. ojdk.zip
          243 kB
        3. osxbuild.zip
          286 kB
        4. statementOfOriginSingle.txt
          0.5 kB

          Issue Links

            Activity

            Show
            ianrogers Ian Rogers added a comment - A branch has been created: http://jikesrvm.svn.sourceforge.net/viewvc/jikesrvm/rvmroot/branches/RVM-549-OpenJDK/ that can be downloaded with: svn co https://jikesrvm.svn.sourceforge.net/svnroot/jikesrvm/rvmroot/branches/RVM-549-OpenJDK/ jikesrvm
            Hide
            gnu_andrew Andrew John Hughes added a comment -

            Who's working on this suddenly?

            The patch that just went through seems to have major flaws.

            Show
            gnu_andrew Andrew John Hughes added a comment - Who's working on this suddenly? The patch that just went through seems to have major flaws.
            Hide
            ianrogers Ian Rogers added a comment -

            The recent commit was to a branch. Georgios Gousios is looking at this as part of the JNODE integration. Can you highlight the flaws?

            Show
            ianrogers Ian Rogers added a comment - The recent commit was to a branch. Georgios Gousios is looking at this as part of the JNODE integration. Can you highlight the flaws?
            Hide
            gnu_andrew Andrew John Hughes added a comment -

            I've done so on the mailing list, but it comes down mainly to ignoring the tremendous amount of work already done by the IcedTea developers and effectively going it alone.
            I can't help but be a little bit annoyed about this, especially as it means what I see as a positive development for JikesRVM is completely inaccessible by requiring proprietary software.

            If there are issues with IcedTea/OpenJDK, please discuss them on the mailing lists and/or OFTC's #openjdk channel.

            Show
            gnu_andrew Andrew John Hughes added a comment - I've done so on the mailing list, but it comes down mainly to ignoring the tremendous amount of work already done by the IcedTea developers and effectively going it alone. I can't help but be a little bit annoyed about this, especially as it means what I see as a positive development for JikesRVM is completely inaccessible by requiring proprietary software. If there are issues with IcedTea/OpenJDK, please discuss them on the mailing lists and/or OFTC's #openjdk channel.
            Hide
            dgrove David Grove added a comment -

            Assigning to Steve as a proxy for work underway at ANU.

            Setting fix target to 3.1.3 as we hope to have this available real soon now...

            Show
            dgrove David Grove added a comment - Assigning to Steve as a proxy for work underway at ANU. Setting fix target to 3.1.3 as we hope to have this available real soon now...
            Hide
            coder Xi Yang added a comment -

            You can download and play openjdk with JikesRVM from https://code.google.com/p/openjdk4jikesrvm/

            hg clone https://code.google.com/p/openjdk4jikesrvm and there is a openjdk branch.

            The current status is that we can build jikesrvm and run some dacapo benchmarks, such as fop.

            Show
            coder Xi Yang added a comment - You can download and play openjdk with JikesRVM from https://code.google.com/p/openjdk4jikesrvm/ hg clone https://code.google.com/p/openjdk4jikesrvm and there is a openjdk branch. The current status is that we can build jikesrvm and run some dacapo benchmarks, such as fop.
            Hide
            dmakarov Dmitri Makarov added a comment -

            This is an archive of patches made from Xi Yang changesets (one per his commit, total of 21 patches). These can be applied directly to changeset 0300e76993fd, like this

            $ hg summary
            parent: 10524:0300e76993fd
            RVM-965 : Consolidation of EmptyIterator implementations (patch from Andreas, updated to tip by Erik).
            branch: default
            commit: (clean)
            update: (current)
            $ hg branch <branch_name>
            $ hg import <path_to_unziped_ojdk.zip>/ojdk*

            Show
            dmakarov Dmitri Makarov added a comment - This is an archive of patches made from Xi Yang changesets (one per his commit, total of 21 patches). These can be applied directly to changeset 0300e76993fd, like this $ hg summary parent: 10524:0300e76993fd RVM-965 : Consolidation of EmptyIterator implementations (patch from Andreas, updated to tip by Erik). branch: default commit: (clean) update: (current) $ hg branch <branch_name> $ hg import <path_to_unziped_ojdk.zip>/ojdk*
            Hide
            dgrove David Grove added a comment -

            Thanks Dimitri. We're going to create a branch to try to push along the OpenJDK work. I'll do that and import the changesets tomorrow.

            Show
            dgrove David Grove added a comment - Thanks Dimitri. We're going to create a branch to try to push along the OpenJDK work. I'll do that and import the changesets tomorrow.
            Hide
            dgrove David Grove added a comment -

            Created branch RVM-549-OpenJDK and imported Xi's changesets

            Show
            dgrove David Grove added a comment - Created branch RVM-549 -OpenJDK and imported Xi's changesets
            Hide
            dmakarov Dmitri Makarov added a comment -

            I'm attaching a patch that makes the build of Jikes RVM with OpenJDK work on Mac OS X.

            The build process successfully creates the RVM boot image.

            It was tested both on Mac and Linux.

            I renamed all occurrences of "Openjdk" to "OpenJDK" for consistency with the standard naming.

            Show
            dmakarov Dmitri Makarov added a comment - I'm attaching a patch that makes the build of Jikes RVM with OpenJDK work on Mac OS X. The build process successfully creates the RVM boot image. It was tested both on Mac and Linux. I renamed all occurrences of "Openjdk" to "OpenJDK" for consistency with the standard naming.
            Hide
            ebrangs Erik Brangs added a comment -

            Dmitri, could you please change the patches so that all the changes for the OpenJDK renaming are in the first patch and the changes for Mac OS X are in the second patch? That would make it easy to commit them separately.

            I don't have access to a Mac OS X system so it would be nice if someone else could confirm that the Mac OS X changes work.

            Show
            ebrangs Erik Brangs added a comment - Dmitri, could you please change the patches so that all the changes for the OpenJDK renaming are in the first patch and the changes for Mac OS X are in the second patch? That would make it easy to commit them separately. I don't have access to a Mac OS X system so it would be nice if someone else could confirm that the Mac OS X changes work.
            Hide
            dmakarov Dmitri Makarov added a comment -

            I'm attaching updated series of Openjdk to OpenJDK renaming and OS X build patches. The first three patches are for OpenJDK renaming and the last one for the OS X build.

            Show
            dmakarov Dmitri Makarov added a comment - I'm attaching updated series of Openjdk to OpenJDK renaming and OS X build patches. The first three patches are for OpenJDK renaming and the last one for the OS X build.
            Hide
            dmakarov Dmitri Makarov added a comment -

            If it's not too much trouble, it would be nice to merge 'default' into RVM-549-OpenJDK. As far as I checked there are no conflicts. It would keep the RVM-549-OpenJDK updated with quite a few recent changes committed to 'default'.

            Show
            dmakarov Dmitri Makarov added a comment - If it's not too much trouble, it would be nice to merge 'default' into RVM-549 -OpenJDK. As far as I checked there are no conflicts. It would keep the RVM-549 -OpenJDK updated with quite a few recent changes committed to 'default'.
            Hide
            jbornholt James Bornholt added a comment -

            Yes, this fixes the build on OS X. It still crashes when running, but that's progress

            Show
            jbornholt James Bornholt added a comment - Yes, this fixes the build on OS X. It still crashes when running, but that's progress
            Hide
            jbornholt James Bornholt added a comment -

            Here is a patch to be applied after Dmitri's patches. This fixes the crash on boot on OS X.

            The VM now runs correctly with no arguments, but I was getting "java.lang.ClassNotFoundException: org.apache.fop.cli.Main" when trying to run fop.

            Show
            jbornholt James Bornholt added a comment - Here is a patch to be applied after Dmitri's patches. This fixes the crash on boot on OS X. The VM now runs correctly with no arguments, but I was getting "java.lang.ClassNotFoundException: org.apache.fop.cli.Main" when trying to run fop.
            Hide
            ebrangs Erik Brangs added a comment -

            I'll deal with the patches and merges today.

            It would be great if someone could confirm that James' changes are ok.

            Show
            ebrangs Erik Brangs added a comment - I'll deal with the patches and merges today. It would be great if someone could confirm that James' changes are ok.
            Hide
            dmakarov Dmitri Makarov added a comment -

            I confirm James' patch works for me.

            Show
            dmakarov Dmitri Makarov added a comment - I confirm James' patch works for me.
            Hide
            ebrangs Erik Brangs added a comment -

            I've committed Dmitri's and James' patches and merged the recent changes on default into the RVM-549 branch. Thanks to both of you for providing and testing the patches.

            Show
            ebrangs Erik Brangs added a comment - I've committed Dmitri's and James' patches and merged the recent changes on default into the RVM-549 branch. Thanks to both of you for providing and testing the patches.
            Hide
            ebrangs Erik Brangs added a comment -

            I've added the issue for Da Feng's OpenJDK fixes as a dependency.

            Show
            ebrangs Erik Brangs added a comment - I've added the issue for Da Feng's OpenJDK fixes as a dependency.
            Hide
            dgrove David Grove added a comment -

            defer to 3.1.4

            Show
            dgrove David Grove added a comment - defer to 3.1.4

              People

              • Assignee:
                Unassigned
                Reporter:
                ianrogers Ian Rogers
              • Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                Dates

                • Created:
                  Updated: