Thread: [Sablevm-developer] Report: SableVM on various architectures
Brought to you by:
egagnon
From: Grzegorz B. P. <ga...@de...> - 2004-02-02 07:00:00
|
Hi all! During the weekend I put heavy burden on Debian's porting machines to find out on which architectures SableVM works and to what extent. SUMMARY: Fully and surely working inlined: i386, ia64, ppc, sparc Fully and surely working direct: s390 Needs final test to declare (hopefully) working inlined: m68k To be tested yet (quickly, but they are promising): arm, hppa Breaks running BTF on any engine: alpha MORE DETAILED INFO: * alpha - broken for anything non-trivial, inlined doesn't work. - HelloWorld works in non-inlined. - BTF shows serious problems w/ integer operations in non-inlined. - In Inlinability Testing Mode even slow versions of two mod instructions cause errors. (diagnosis: weird, need to look at assembly level what's going on. non-inlined probably would be not too hard to fix.) * arm - jikes brokenness and GNU CP broken --without-java param prevented me from testing it. Put as "try" on "Soon TODO". * hppa - libffi didn't make it into .deb yet, got binaries today and will try it as soon as I merge tausq's hppa changes into staging (I thought it was already done!) * i386 - everything works * ia64 - everything works (now) - updated inlinability info - corner cases handling added * m68k - everything should work (will be known until monday noon) - m68ks are sloooow - 2-3h to compile one flavor of SableVM! - updated inlinability info - inlined-testing mode shows no errors in inlinability nor any corner cases problems that BTF checks - it is compiling inlined and inlined-nosig now (diagnosis: good chances to have it 100% working) * powerpc - everything works (but I couldn't check) - as I don't have ppc machine I was unable to run tests on ppc, but everything worked and I don't think anything got broken since. (just in case requested installation of sablevm build-deps on debian ppc porting machine, should be available soon) * s390 - non-inlined works perfectly (now), serious problems in inlined - fixed all corner cases where BTF revealed problems - inlined seems severly broken, ex. GET/PUT-FIELD/STATIC *fast* versions fail! (similarly as some of them on alpha) (diagnosis: weird, need to look at assembly level what's going on.) * sparc - everything works I'll be sending updates. Cheers, Grzegorz B. Prokopski PS: To make such work as easy as possible in future I created a set of scripts that make it easy to run completly unattended tests of many flavors of SableVM on many machines at the same time. To see what I mean go to: http://gadek.debian.net/testing/massive.png this was all ran by a single "enter" ;-) (...these evil shell scripts - I'll learn some more perl next time) In future this should also allow to easily test SableVM every few weeks, whether anything on any architecture got broken/unbroken. Running ex. mauve tests on all these arches also sounds interesting. -- Grzegorz B. Prokopski <ga...@de...> Debian GNU/Linux http://www.debian.org SableVM - LGPLed JVM http://www.sablevm.org Why SableVM ?!? http://devel.sablevm.org/wiki/WhySableVM |
From: David <db...@cs...> - 2004-02-02 21:11:17
|
On Mon, Feb 02, 2004 at 01:59:52AM -0500, Grzegorz B. Prokopski wrote: > Hi all! >=20 > During the weekend I put heavy burden on Debian's porting machines > to find out on which architectures SableVM works and to what extent. >=20 > SUMMARY: >=20 > Fully and surely working inlined: i386, ia64, ppc, sparc > Fully and surely working direct: s390 > Needs final test to declare (hopefully) working inlined: m68k > To be tested yet (quickly, but they are promising): arm, hppa > Breaks running BTF on any engine: alpha >=20 Good work! ( Note: Code you added in staging cause warnings: instructions_preparation_direct_threaded.c:12822: warning: garbage at end of `#ifdef' argument if #ifdef _SABLEVM_SIGNALS_FOR_EXCEPTIONS && !defined(__s390__) is changed to #if defined(_SABLEVM_SIGNALS_FOR_EXCEPTIONS) && !defined(__s390__) it should work. ) David --- David B=E9langer Graduate Student School of Computer Science McGill University Office: MC226 Web page: http://www.cs.mcgill.ca/~dbelan2/ Public key: http://www.cs.mcgill.ca/~dbelan2/public_key.txt |
From: Grzegorz B. P. <ga...@de...> - 2004-02-03 06:22:15
|
Update: ARM also breaks running any engine, it looks just like on Alpha. HPPA is having problems w/ inlined [*], direct works fully. M68K works fully, inlined inlcluding. So the list of arches w/ fully working inlined is now: i386, ia64, ppc, sparc, m68k Fully working direct: hppa, s390 I've just finished updating my testing scripts to run some benchmarks and I am going to throw them at these architectures (w/ exception of ppc as I don't have any and I am not sure what about m68k, as the compilation of sablevm takes 2-3 hours, then running benchmarks may take a week... or two ;-) [*] I have to search for this mail tomorrow but I guess that while working w/ tausq we got inlined to at least run HelloWorld. And now it severly segfaults :-( That'd be the first thing to check. Alpha, ARM and s390 all seem to have quite similar symptoms. But I have to go down the machine code to find out what it is. Looks like I've just made plans for this weekend... I also found out that libffi IS available on MIPS (not 100% sure about MIPSEL) though it doesn't have all the features. But it should be good enough for what SableVM needs. Debian-mips ML contacted, no reply yet. Cheers, Grzegorz B. Prokopski -- Grzegorz B. Prokopski <ga...@de...> Debian GNU/Linux http://www.debian.org SableVM - LGPLed JVM http://www.sablevm.org Why SableVM ?!? http://devel.sablevm.org/wiki/WhySableVM |
From: David <db...@cs...> - 2004-02-03 15:08:12
|
On Tue, Feb 03, 2004 at 01:22:08AM -0500, Grzegorz B. Prokopski wrote: > I've just finished updating my testing scripts to run some benchmarks > and I am going to throw them at these architectures (w/ exception of > ppc as I don't have any and I am not sure what about m68k, as the > compilation of sablevm takes 2-3 hours, then running benchmarks may > take a week... or two ;-) Hi Greg, You can be pretty confident that it works fine on Linux/powerpc, I am using it as my main development platforms. Runs all the SPECjvm98 benchmarks no problem. David --- David B=E9langer Graduate Student School of Computer Science McGill University Office: MC226 Web page: http://www.cs.mcgill.ca/~dbelan2/ Public key: http://www.cs.mcgill.ca/~dbelan2/public_key.txt |
From: Grzegorz B. P. <ga...@de...> - 2004-02-09 08:40:14
|
Hi all! Another update: alpha works w/ inlined now. We have 6 arches w/ inlined! Remaining to get (inlined) working: s390 - haven't managed to get around it yet, direct works, arm - broken w/ any engine, but port machine is unreachable currently hppa - direct works, tausq offered help in trying inlined on his machine (Debian port machine behaves strangely, and we HAD it working on tausq's hppa) mips/mipsel - At first I didn't know that there's libffi for them, and currently the port machines are unaccessible Next victims / goals: arm (if machine is back), s390. About alpha: The arch is weird, I had to detect some magic value 128 of info->si_code (in signal handler) that I don't find any #define for in /usr/include/*. We get this sig code on division by 0. I guess this may be a kernel bug. PUTSTATIC_*/PUTFIELD_* aren't inlinable at all (I haven't looked at the assembly, but I think it'd be interesting to take a look), while GETFIELD_* are inlinable only w/ signals. I think it's the only such arch so far. Besides these, only LDC_STRING, FREM, DREM are noninlinable. svn diff -r 1554:1555 svn+ssh://svn.sablevm.org/sablevm/branches/staging will tell you the story in details. Cheers, Grzegorz B. Prokopski -- Grzegorz B. Prokopski <ga...@de...> Debian GNU/Linux http://www.debian.org SableVM - LGPLed JVM http://www.sablevm.org Why SableVM ?!? http://devel.sablevm.org/wiki/WhySableVM |