Enrico Migliore wrote:
> I debugged the classical HelloWorld class with DDD and found the problem
> in the following function:
>
> _svmf_init(void)
> {
> pthread_once(...); <---- SEGSEGV signalThat's definitely a cygwin bug. I see. >>> problem 1: POSIX dependancy >>> --------------------------------- >>>... >> I think that moving to Harmony's port library should solve this. I >> agree that it shouldn't be hard to fix. >> > Are you referring to the work-in-progress that is adapting SableVM to > the VMI? Yep. >>> problem 2: GCC extensions >>> ----------------------------- >>... >> this: use Hans Boehm's atomic_ops library to get this code out of >> SableVM. See: >> >> http://sablevm.org/bugs/179 Just FYI, fixing this is a short term objective. (i.e. work in progress). > In any case, before starting the port, I think that I and the people who > would like to help, will have analyze the code file by file. Actually, you should really start looking at: src/libsablevm/include/jni_system_specific.h src/libsablevm/system.c src/libsablevm/system.h These are the files which contain system-specific code. Outside of these files, the only real dependencies are POSIX calls. [I think there's some exception in System.getCurrentMillis() implementation that shouldn't even be in the VM to start with, as there's no VM-specific functionality in it... I had to live with Classpath's decisions on their VM interface.] If you really want to read every single source file (!), then you should definitely: 0.1) [prerequisite] read the JVMS fully, a few times over 0.2) [prerequisite] read the JNI spec fully, a few times over 1) read my Ph.D. thesis 2) read the documents in doc/ 3) ask questions on sablevm-devel@ for clarifications Going that deep shouldn't be necessary, though. Identifying POSIX dependencies and replacing them with VMI-port calls should be sufficient to start with. Etienne -- Etienne M. Gagnon, Ph.D. http://www.info2.uqam.ca/~egagnon/ SableVM: http://www.sablevm.org/ SableCC: http://www.sablecc.org/
signature.asc
Description: OpenPGP digital signature
