Openembedded Devel Discussions
 help / color / mirror / Atom feed
From: "Xerxes Rånby" <xerxes@zafena.se>
To: openembedded-devel@lists.openembedded.org
Subject: Re: OpenJDK-6 ARM Shark LLVM JIT testing
Date: Thu, 15 Jul 2010 15:44:29 +0200	[thread overview]
Message-ID: <4C3F10BD.8040603@zafena.se> (raw)
In-Reply-To: <201007142243.36837.marcin@juszkiewicz.com.pl>

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



      reply	other threads:[~2010-07-15 13:43 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4C3F10BD.8040603@zafena.se \
    --to=xerxes@zafena.se \
    --cc=openembedded-devel@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox