Re: [Sablevm-developer] Does SableVM actually work? (on XYZ arch)
Brought to you by:
egagnon
From: Prof. E. M. G. <eti...@uq...> - 2003-02-26 14:53:04
|
Grzegorz B. Prokopski wrote: > The problem is that I don't think running HelloWorld is enough to be > sure that SableVM is actually properly ported to every single arch. An extensive test suite would really be welcome. Such a test suite would cover all bytecode instructions (in fact, it should cover all SableVM internal instruction codes), and should eventually also test things like vm<->library interface, etc. I am planning to get some of this work done through future internships by undergraduate students, but it will take some time to get it done. Getting "mauve" to test SableVM would be a first step toward building this bigger suite (which would include mauve as a subcomponent). But on the short term, I think HelloWorld is pretty good because (probably better than you think): 1- it triggers the loading and initialization of approximately 150 classes, 2- it causes the execution of a significant amount of code, using most bytecode instructions, 3- it uses the JNI interface (native->Java & Java->native) [good for making sure libffi works], 4- it even tests synchronization primitives, even though it does not spawn multiple threads, because many class library methods are either synchronized, or they contain explicit synchronized(obj){...} blocks. > 1. Write simple java program especially targetted at testing SableVM's > architecture specific pieces, I mean: ... > I don't have enough knowledge of > Java to write such program myself... It is probably a good time to go to the book store and buy one of the countless Java books. ;-) > 2. ... I belive SableCC uses many threads Unfortunately it doesn't. Soot does, but it is quite a big piece of software, so I'm not sure you want to include it as a simple test in a build process. I really think that HelloWorld ought to be enough to include into a: $ ./configure ; make ; make test ; make install build precedure. Have fun! Etienne -- Etienne M. Gagnon, Ph.D. http://www.info.uqam.ca/~egagnon/ SableVM: http://www.sablevm.org/ SableCC: http://www.sablecc.org/ |