* OpenJDK-6 ARM Shark LLVM JIT testing
@ 2010-07-14 17:37 Xerxes Rånby
2010-07-14 19:47 ` Henning Heinold
2010-07-14 20:43 ` Marcin Juszkiewicz
0 siblings, 2 replies; 4+ messages in thread
From: Xerxes Rånby @ 2010-07-14 17:37 UTC (permalink / raw)
To: openembedded-devel, jalimo-info
Hi all!
I have committed some ARM Shark CPU features auto-detection code into
oe.dev.
http://cgit.openembedded.org/cgit.cgi/openembedded/commit/?id=1ea15a2cd73178c3fbab36b544a6601b1d1c32bf
This patch will make OpenJDK use the best ARM CPU features available
when generating code using the Shark JIT.
To test shark build the openjdk-6 package and run your favorite java
application with the -shark switch.
java -shark foo
The Shark JIT uses LLVM for its in memory code generation and the
stability of Shark depends on
how much the LLVM JIT have been tested on various ARM CPUs.
I need your help in order to find and catch the LLVM JIT bugs by testing
running Shark and report if
LLVM asserts during code generation.
If LLVM asserts then you can help generate LLVM testcases by running
shark with this switch:
java -shark
-XX:SharkPrintBitcodeOf=insert::problematic:method::name::here foo
And attach the output in the report.
I have written a small guide on how to get Shark LLVM JIT CodeGen crash
bugs fixed:
http://labb.zafena.se/?p=362
Cheers and have a great day!
Xerxes
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: OpenJDK-6 ARM Shark LLVM JIT testing
2010-07-14 17:37 OpenJDK-6 ARM Shark LLVM JIT testing Xerxes Rånby
@ 2010-07-14 19:47 ` Henning Heinold
2010-07-14 20:43 ` Marcin Juszkiewicz
1 sibling, 0 replies; 4+ messages in thread
From: Henning Heinold @ 2010-07-14 19:47 UTC (permalink / raw)
To: openembedded-devel; +Cc: jalimo-info
Hi,
when you install the shark-vm package. Shark will be the default vm.
Bye Henning
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: OpenJDK-6 ARM Shark LLVM JIT testing
2010-07-14 17:37 OpenJDK-6 ARM Shark LLVM JIT testing Xerxes Rånby
2010-07-14 19:47 ` Henning Heinold
@ 2010-07-14 20:43 ` Marcin Juszkiewicz
2010-07-15 13:44 ` Xerxes Rånby
1 sibling, 1 reply; 4+ messages in thread
From: Marcin Juszkiewicz @ 2010-07-14 20:43 UTC (permalink / raw)
To: openembedded-devel
Dnia środa, 14 lipca 2010 o 19:37:03 Xerxes Rånby napisał(a):
> Hi all!
>
> I have committed some ARM Shark CPU features auto-detection code into
> oe.dev.
> http://cgit.openembedded.org/cgit.cgi/openembedded/commit/?id=1ea15a2cd7317
> 8c3fbab36b544a6601b1d1c32bf This patch will make OpenJDK use the best ARM
> CPU features available when generating code using the Shark JIT.
> I need your help in order to find and catch the LLVM JIT bugs by testing
> running Shark and report if
> LLVM asserts during code generation.
LLVM does not supports Thumb - thats hurt. Ubuntu had to disable Shark to get
openjdk-6 built for armel.
Regards,
--
JID: hrw@jabber.org
Website: http://marcin.juszkiewicz.com.pl/
LinkedIn: http://www.linkedin.com/in/marcinjuszkiewicz
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: OpenJDK-6 ARM Shark LLVM JIT testing
2010-07-14 20:43 ` Marcin Juszkiewicz
@ 2010-07-15 13:44 ` Xerxes Rånby
0 siblings, 0 replies; 4+ messages in thread
From: Xerxes Rånby @ 2010-07-15 13:44 UTC (permalink / raw)
To: openembedded-devel
On 2010-07-14 22:43, Marcin Juszkiewicz wrote:
> Dnia środa, 14 lipca 2010 o 19:37:03 Xerxes Rånby napisał(a):
>
>> Hi all!
>>
>> I have committed some ARM Shark CPU features auto-detection code into
>> oe.dev.
>> http://cgit.openembedded.org/cgit.cgi/openembedded/commit/?id=1ea15a2cd7317
>> 8c3fbab36b544a6601b1d1c32bf This patch will make OpenJDK use the best ARM
>> CPU features available when generating code using the Shark JIT.
>>
>
>> I need your help in order to find and catch the LLVM JIT bugs by testing
>> running Shark and report if
>> LLVM asserts during code generation.
>>
> LLVM does not supports Thumb - thats hurt. Ubuntu had to disable Shark to get
> openjdk-6 built for armel.
>
> Regards,
>
Hi!
My own testing indicates that it are possible to run a Shark build
compiled on a arm Ubuntu Jaunty system on a thumb2 system such as Ubuntu
Maverick or Lucid.
Have you tested to run the Debian squeeze llvm and openjdk-6-jre-zero
packages on Maverick? It might work.
If you want to build LLVM using the Maverick thumb toolchain then you
have to make sure to compile the LLVM libraries for -marm and possibly
compile the shark libjvm.so as -marm as well and double check that LLVM
actually uses the ARM JIT backend instead of the Thumb backend. LLVM
switches on the Thumb JIT backend by default (at compile time) if it
have autodetected the host system to be a Host: thumb-unknown-linux-gnueabi.
Upstream Ubuntu bugreport:
https://bugs.launchpad.net/llvm/+bug/513735
Upstream LLVM bugreports to implement Thumb JIT support are:
http://llvm.org/bugs/show_bug.cgi?id=6065 fix so that llvm can be
compiled with a thumb toolchain.
http://llvm.org/bugs/show_bug.cgi?id=6223 - ARM thumb target fails to
JIT tPUSH
A sidenote, LLVM currently supports generating thumb code during static
compilation using llc.
The LLVM Thumb JIT are on a good way to get finished, it currently nows
what instructions it needs to JIT but it dont know how the machinecodes
should look like in memory.
By implementing how the different thumb instructions look in memory
would makes it possible to complete the thumb JIT.
Cheers
Xerxes
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2010-07-15 13:43 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-07-14 17:37 OpenJDK-6 ARM Shark LLVM JIT testing Xerxes Rånby
2010-07-14 19:47 ` Henning Heinold
2010-07-14 20:43 ` Marcin Juszkiewicz
2010-07-15 13:44 ` Xerxes Rånby
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox