Re: [Sablevm-developer] reflection classes for constantpoolandbytecode data
Brought to you by:
egagnon
From: Etienne M. G. <eg...@j-...> - 2000-08-20 21:20:59
|
Hi John, John Leuner wrote: > Ok, but if we called it jvm it would be ok, because that acronym in not a > trademark? OK. I conceed that I was a little over zealous on this one. The acronym is not trademarked, and thus should be fine to use. Mainly, I wanted to raise a flag to be careful with trademarks. We certainly don't want to infringe on anybody's rights. > It doesn't interpret the language, it interprets bytecode, which I want to > call the java platform, but we need another name for it. The best I could come with was "bytecode interpreter". There isn't anything trademarkable about it;-) You could possibly push that to "Java bytecode interpreter"... > I like your ideas very much so far. I've downloaded the CVS but I can't > build bootstrap_class_loader.c: The CVS isn't in a ggod shape. I was using it to work from different locations. As, at this point, I'm the only active developer, I didn't bother making sure it compiled... I will fix this situation. I promise not to repeat that;-) [As I'll be asking everyone to always keep the repository in a "make distcheck" stable state]. You should, at this point play using version 0.1.4 (downloadable). > So you insert a PREPARE bytecode for every method that hasn't run yet? I don't insert it; I simply point the code pointer to it (a single copy). > I have a problem at the moment with multithreading and class resolution. > My interpreter wasn't designed for multiple threads to call the resolution > methods, so I'm dealing with that now. You have to use synchronization, but obviously, you don't want all calls to the method to be synchronized, so you must work up a little magic. The design is done, implementation of it is pending... > How do you know it runs faster if you haven't got it running yet? (Or are > you saying theoretically). Theoretically and not. If you run 0.1.4, you'll notice that many bytecodes are executed. Simply grab a debugger and place a brakpoint in the interpreter. You'll see. > Well I'm very interested, please tell if you think there is something I > could help with. Maybe, at this time, you should try to look a little at how 0.1.4 works. I am working pretty hard at putting back SableVM in a compilable state, as introducing exceptions broke many things. I'll let you know as soon as it compiles. Most likely, you will be able to help filling JNI interface holes. But you'll need a few implemented examples to see how it's done. You should be able to figure out the stack magic using a debugger and 0.1.4:-) My preferred debugger is DDD, which can graphically display the data structures. Very informative, and helpful. Etienne -- ---------------------------------------------------------------------- Etienne M. Gagnon, M.Sc. e-mail: eg...@j-... Author of SableVM: http://www.sablevm.org/ ---------------------------------------------------------------------- |