RVM
  1. RVM
  2. RVM-358

Initial support for Apache Harmony class library

    Details

    • Number of attachments :
      0

      Description

      Apache Harmony and IcedTea provide alternatives to GNU Classpath for our class library implementation. We should support these class libraries as they provide a work around for when functionality is missing from GNU Classpath or to see what performance issues there are.

        Activity

        Hide
        Steve Blackburn added a comment -

        I think this is an important goal. If Jikes RVM were a) to be class library-independent, and b) to have Apache Harmony bindings, it would be a great step forward.

        Does anyone know of any other JVMs out there with both GNU classpath and Apache Harmony bindings?

        Apparently the new Google VM to be used in their phone is using the Apache libraries, and it appears (from some stack traces I've seen that the latest product JVM from IBM is now using some version of the apache libraries too (as of mid-December 2007). So it is definitely one to keep an eye on.

        --Steve

        Show
        Steve Blackburn added a comment - I think this is an important goal. If Jikes RVM were a) to be class library-independent, and b) to have Apache Harmony bindings, it would be a great step forward. Does anyone know of any other JVMs out there with both GNU classpath and Apache Harmony bindings? Apparently the new Google VM to be used in their phone is using the Apache libraries, and it appears (from some stack traces I've seen that the latest product JVM from IBM is now using some version of the apache libraries too (as of mid-December 2007). So it is definitely one to keep an eye on. --Steve
        Hide
        Andrew John Hughes added a comment -

        For OpenJDK/IcedTea integration, it may be worth checking CACAO (http://www.cacaovm.org/) which already supports both that and GNU Classpath. I think the biggest issue there for JikesRVM will be that it relies on libjvm.so which I don't believe we currently provide.

        That seems the most fruitful endeavour. I don't see the advantage of supporting another incomplete class library implementation, and the general shift in the GNU Classpath community is towards OpenJDK.

        Show
        Andrew John Hughes added a comment - For OpenJDK/IcedTea integration, it may be worth checking CACAO ( http://www.cacaovm.org/ ) which already supports both that and GNU Classpath. I think the biggest issue there for JikesRVM will be that it relies on libjvm.so which I don't believe we currently provide. That seems the most fruitful endeavour. I don't see the advantage of supporting another incomplete class library implementation, and the general shift in the GNU Classpath community is towards OpenJDK.
        Hide
        Andrew John Hughes added a comment -

        Is there any news on Apache Harmony integration? With regards to OpenJDK, I can see some difficulties in integrating it with JikesRVM. For example, just looking at java.lang.Object shows a number of native methods in that class (e.g. hashCode(), clone()) which GNU Classpath would house in VMObject.

        Show
        Andrew John Hughes added a comment - Is there any news on Apache Harmony integration? With regards to OpenJDK, I can see some difficulties in integrating it with JikesRVM. For example, just looking at java.lang.Object shows a number of native methods in that class (e.g. hashCode(), clone()) which GNU Classpath would house in VMObject.
        Hide
        Ian Rogers added a comment -

        For situations like Object we provide our own implementation in the common library interface. For IcedTea/OpenJDK integration it may be better for us to work on BrandWeg and recycle the work we have for Classpath. I'll start sticking the harmony integration code I have into the repository when I get a bit more going.

        Show
        Ian Rogers added a comment - For situations like Object we provide our own implementation in the common library interface. For IcedTea/OpenJDK integration it may be better for us to work on BrandWeg and recycle the work we have for Classpath. I'll start sticking the harmony integration code I have into the repository when I get a bit more going.
        Hide
        Ian Rogers added a comment -

        In r14352 and r14353 I created a Harmony branch in the Jikes RVM [1] and added support for downloading and building Harmony. The next task is to remove dependencies Jikes RVM has on Classpath.

        [1] https://jikesrvm.svn.sourceforge.net/svnroot/jikesrvm/rvmroot/branches/RVM-358-Harmony/

        Show
        Ian Rogers added a comment - In r14352 and r14353 I created a Harmony branch in the Jikes RVM [1] and added support for downloading and building Harmony. The next task is to remove dependencies Jikes RVM has on Classpath. [1] https://jikesrvm.svn.sourceforge.net/svnroot/jikesrvm/rvmroot/branches/RVM-358-Harmony/
        Hide
        Ian Rogers added a comment -

        Initial support for Harmony is now provided in r14455. Issues that haven't yet been addressed should be placed under the "Runtime: Class Library: Apache Harmony" category.

        Show
        Ian Rogers added a comment - Initial support for Harmony is now provided in r14455. Issues that haven't yet been addressed should be placed under the "Runtime: Class Library: Apache Harmony" category.
        Hide
        David Grove added a comment -

        reopening so I can modify fix target to 3.0

        Show
        David Grove added a comment - reopening so I can modify fix target to 3.0

          People

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

            Dates

            • Created:
              Updated:
              Resolved: