RFC: JamVM - Taste the New Flavour! --enable-jamvm commited.

Robert Lougher rob.lougher at gmail.com
Tue Feb 22 07:40:23 PST 2011


On 22 February 2011 15:04, Xerxes Rånby <xerxes at zafena.se> wrote:
> On 2011-02-22 10:54, Xerxes Rånby wrote:
>> On 2011-02-22 03:33, Dr Andrew John Hughes wrote:
>>> On 02:48 Tue 22 Feb     , Xerxes Rånby wrote:
>>>> On 2011-02-21 22:40, Robert Lougher wrote:
>>>>> Hi,
>>>>>
>>>>> On 21 February 2011 21:22, Dr Andrew John Hughes<ahughes at redhat.com>   wrote:
>>>>>> On 21:20 Sat 19 Feb     , Xerxes Ranby wrote:
>>>>>>> Greetings!
>>>>>>>
>>>>>>> "JamVM's got a shiny new Git repository, which contains the port to the
>>>>>>> OpenJDK class-library."
>>>>>>> http://draenog.blogspot.com/2011/02/openjdkjamvm-git-repository.html
>>>>>>>
>>>>>>> The attached patch adds Robert Lougher's new JamVM flavour to Icedtea6!
>>>>>>>
>>>>>> See comments below on the --enable-jamvm option.
>>>>>> I'll leave comments on addvm to doko.
>>>>
>>>> I will split this patch in two commits, one for each option, to ease
>>>> review, In this mail i have added the patch for the --enable-jamvm option.
>>>>
>>>> I will add --with-additional-vms=jamvm in a follow up patch.
>>>>
>>>
>>> This looks fine now and can go in for me.
>>> It looks like a simple rename issue for WITH_CACAO.  Either you or I can
>>> do it, but lets get this patch in first so those changes don't break this.
>>>
>>> Once this is in, I plan to branch for 1.10.
>>>
>>
>> Hi
>>
>> I have regenerated the --enable-jamvm patch to apply on top of the current IcedTea6 trunk after last nights AC_ to IT_ macro renaming.
>>
>> enable-jamvm.22feb-v2.patch
>>
>
> Greetings
>
> I have commited this first --enable-jamvm patch into IcedTea6!
> http://icedtea.classpath.org/hg/icedtea6/rev/7d23f65c73a8
>
> configuring a IcedTea6 build with
> ./autogen.sh
> ./configure --enable-jamvm --disable-bootstrap
> make
> now work out of the box!
>
> When the build finish then you can run
> make check
> to run all the OpenJDK jtreg checks on JamVM!
>
>
>
>
> I have started looking into if it is possible to bootstrap OpenJDK using JamVM itself.
> http://icedtea.classpath.org/hg/icedtea6/rev/18260ff5be1d
>
> ./autogen.sh
> ./configure --enable-jamvm
> make
>
> When testing to perform a full bootstrap build then I am hitting a internal JamVM error when running ANT:
>
> JAVA_HOME=/home/xerxes/icedtea6-jamvm/bootstrap/jdk1.6.0 ANT_OPTS=-Djava.io.tmpdir='/home/xerxes/icedtea6-jamvm/openjdk.build/langtools/build/ant-tmp' /usr/bin/ant -diagnostics > /home/xerxes/icedtea6-jamvm/openjdk.build/langtools/build/ant-diagnostics.log ; \
>      JAVA_HOME=/home/xerxes/icedtea6-jamvm/bootstrap/jdk1.6.0 ANT_OPTS=-Djava.io.tmpdir='/home/xerxes/icedtea6-jamvm/openjdk.build/langtools/build/ant-tmp' /usr/bin/ant -version >> /home/xerxes/icedtea6-jamvm/openjdk.build/langtools/build/ant-diagnostics.log
> bootclasspath is empty!
> bootclasspath is empty!
>
> I assume that JamVM itself needs to be patched to work with the large flora of bootclasspaths used by the OpenJDK build.
>

Hi Xerxes,

I know why this happens.  JAVA_HOME overrides the value of java.home,
and is a hangover from GNU Classpath (somebody requested it, I can't
remember who, when or why!).  On the JDK, java.home points to the jre
dir, and is not the same as JAVA_HOME.

To test, you can comment out the lines in properties.c as follows:

  52 void setJavaHome() {
  53     java_home = getCommandLineProperty("java.home");
  54
  55 //    if(java_home == NULL)
  56 //        java_home = getenv("JAVA_HOME");
  57
  58     if(java_home == NULL)
  59         java_home = classlibDefaultJavaHome();
  60 }

I'll check the fix in tonight.

Rob.

> xerxes at xerxes-J464X:~/icedtea6-jamvm$ /home/xerxes/icedtea6-jamvm/bootstrap/jdk1.6.0/bin/java -version
> java version "1.6.0_21"
> IcedTea6 Runtime Environment (1.10pre+r18260ff5be1d) (Ubuntu build 1.6.0_21-b21)
> JamVM (build 1.6.0-devel, inline-threaded interpreter with stack-caching)
>
> Cheers
> Xerxes
>



More information about the distro-pkg-dev mailing list