Open JDK build with mlvm patches

John Rose John.Rose at Sun.COM
Thu Apr 24 11:48:31 PDT 2008


[cc-ing mlvm-dev in reply, because of general interest]

On Apr 24, 2008, at 5:06 AM, Thamaraiselvan Poomalai wrote:

> Hello John,
>
> I have successfully compiled hotsopt and jdk with mlvm patches from  
> http://hg.openjdk.java.net/mlvm/mlvm.

Thanks for  giving it a spin, Selvan.

> 1) Though i did full jdk build after applying patches, java/dyn  
> package is skipped by build process (i couldn't trace compiled java/ 
> dyn packages under sources/build/openjdk_full_debug/classes/java).  
> Could we also include necessary make files for java/dyn package in  
> our patch?

Yes, that's coming.

> 2) Here are the things i did to make build successful,
>
> After executing below commands from README.txt,
> $ mkdir davinci
> ... ... ...
> ... ... ...
> $ sh patches/make/each-patch-repo.sh hg qselect --reapply $guards
>
> i executed below command to push patch changes to source repository,
>
> $ sh patches/make/each-patch-repo.sh hg qpush -a

Hmm.  I thought --reapply would do this; We'll add that to the  
instructions.

> Output of above command was,
> ===========================
> [root at iwsg OpenJDK]# sh patches/make/each-patch-repo.sh hg qpush -a
> + (cd sources/hotspot; hg qpush -a)
> applying anonk.patch
> skipping callcc.patch - guarded by '-testable'
> Now at: anonk.patch
> + (cd sources/jdk; hg qpush -a)
> applying anonk.patch
> skipping callcc.patch - guarded by '-testable'
> Now at: anonk.patch
> ===========================
>
> It skipped callcc.patch for hotspot and jdk. When i try to do build  
> with callcc.patch skipped, i got following error,

Yes, callcc.patch is very rough right now.  Lukas Stadler has a much  
more complete version which I think he'll be releasing soon.

> ===========================
> /share/software/OpenJDK/sources/hotspot/src/share/vm/classfile/ 
> classFileParser.cpp: In member function 'constantPoolHandle  
> ClassFileParser::parse_constant_pool(Thread*)':
> /share/software/OpenJDK/sources/hotspot/src/share/vm/classfile/ 
> classFileParser.cpp:316: error: 'find_well_known_klass' is not a  
> member of 'SystemDictionary'
> /share/software/OpenJDK/sources/hotspot/src/share/vm/classfile/ 
> classFileParser.cpp: In member function 'void  
> ClassFileParser::patch_constant_pool(constantPoolHandle, int,  
> Handle, Thread*)':
> /share/software/OpenJDK/sources/hotspot/src/share/vm/classfile/ 
> classFileParser.cpp:434: error: 'is_instance' is not a member of  
> 'java_lang_Class'
> make[5]: *** [classFileParser.o] Error 1
> make[5]: Leaving directory `/share/software/OpenJDK/sources/build/ 
> openjdk_full_debug/hotspot/outputdir/linux_i486_compiler2/jvmg'
> make[4]: *** [the_vm] Error 2
> ===========================

Thanks.  It looks like callcc.patch has a tweak that anonk.patch  
should have instead.  The well-known-klass fix is not yet in the  
baseline (I'm working on it today).

> I removed "#-testable" from sources/jdk/.hg/patches/series, sources/ 
> hotspot/.hg/patches/series and re-applied callcc.patch.After  
> removing "#-testable", series file looks as below
>
> anonk.patch #-/anonk #+jdk7-b25
> #meth.patch #-/meth #+jdk7-b25 #-buildable
> #indy.patch #-/indy #+jdk7-b25 #-buildable
> #inti.patch #-/inti #+jdk7-b25 #-buildable
> callcc.patch #-/callcc #+jdk7-b25

To get callcc in, it would be better to qselect buildable (not  
buildable + testable).  The series file is supposed to represent the  
rough development status of each patch.

> After applying anonk.patch and callcc.patch to sources, hotspot and  
> full jdk build was successful.
>
> My login name for wiki (http://wikis.sun.com/display/mlvm/Home) is  
> p.thamarai at gmail.com

OK, I added you (user id selvan) as an author to http://wikis.sun.com/ 
display/mlvm .
Please feel free to record useful information on the wiki.

-- John
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/mlvm-dev/attachments/20080424/e8a26cca/attachment.html 


More information about the mlvm-dev mailing list