harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ian Rogers" <rogers.em...@gmail.com>
Subject Re: Re: Re: [general] features
Date Thu, 08 Jan 2009 23:27:11 GMT
2009/1/8 Jin Mingjian <jin.phd@gmail.com>

> Ian:
>
> Very very very good news for me:)
>
> I've seen "WIP" for windows building. I try jikes rvm 3.0.1 several
> month ago, But There is no target for windows
> indeed(RVMROOT/build/targets/...). I do some modification to a
> ia32-linux.properties with ia32-cygwin.properties(/build/hosts /...).
> But I failed again. ..
> I first tried Mingw, failed...(if no special functions used, I guess
> mingw=cygwin basically), then tried cygwin, failed..., the error is,
> some bsh script(seem gnuclasspath compiling cmd, invoked by ant. I use
> ant. ) can not work under windows. I'm not a linux guy. so stop...
>
> I pick up joeq, I find it is really awesome work as jikesrvm.
> Comparing bootstrapping implementation idea with jikes rvm, I like
> joeq more, Joeq just has 2-3 .c file reletive to native and can be
> build by any c compiler. That's, we can use msvc or intel cpp compiler
> at windows. And more, java codes building and native codes building
> can be decoupled completely. This makes porting work very easy.  I
> like jikesrvm's ant based build method too.  But some ant scripts use
> native shell cmd broke the beauty of ant(pure java?^_^).
>
> The other different thing in bootstraping phase is, the joeq use the
> jre binary, but jikesrvm download the sources and compile them to
> build. The jikesvm need much time to be built.
> *One Interesting thing is, if we bootstrap the jikesrvm under the
> harmony jre/jdk, can we use the just harmony installation directly?:)
>
> I sugguest jikes rvm team use the harmony as default build enviroment
> if harmony is proven to be compatible with jikesrvm. Harmony provide a
> full enviroment than gnuclasspath. Openjdk is the other alternative.
> but it is also an anti-windows-users example:) Maybe those guys want
> to avoid some license problem.
> *Another interesting thing, if use the harmony class library, can
> jikesrvn provide a binary version for later rvm release?
>
> I would like to wait the windows-friendly Jikes RVM with harmony:) it
> will be delicious...
>
> Jin
>

Hi Jin,

so the status of Jikes RVM + Harmony on Windows is that the build works.
I've a modified build file I need to put back in the repository but the
biggest difficulty for me in getting the Windows build going was that there
is a dependence on the Windows build of Harmony on the ATL, which doesn't
come with the "free" versions of MSVC. The easiest way around this was to
pick up a pre-built version of Harmony, which saves on build time as you
suggest. Most of my "fixes for Windows" are in the Jikes RVM svn repository,
but the support for using a pre-built Harmony isn't.

The remaining issue is that we have our syscalls written to conform with
POSIX, so pthread_create underlies our threading code. I've begun work on
converting these calls into the Apache Portable Runtime (APR) and Harmony so
that we can be OS agnostic in the C code. Unfortunately this work has come
on top of two things, a refactor of the thread model in Jikes RVM to support
native OS scheduling [1], and support for 64bit Intel. These 2 things have
understandably produced merge conflicts which I am in the process of sorting
out. The plan is to get the new thread model into the code base and then the
conversion of the syscalls to use Harmony and the APR. Hopefully we can
release a natively threaded, 32/64 bit Intel & PowerPC version of Jikes RVM
supporting Windows early this year. Support on resolving issues is of course
appreciated.

As part of a GSoC project support for OpenJDK as a class library for Jikes
RVM has been begun and is capable of bootstrapping an image [2]. Problems
remain, one of which is that multiple development versions of
OpenJDK/IcedTea/Java 7 are needed for the build. I imagine on Windows the
story could well be worse.

Regards,
Ian

[1]
http://jikesrvm.svn.sf.net/viewvc/jikesrvm/rvmroot/branches/RVM-PureNativeThread/
[2]
http://jikesrvm.svn.sf.net/viewvc/jikesrvm/rvmroot/branches/RVM-549-OpenJDK/

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message