Hi, I am now passing all but two of the regression tests using my JIT port. One is strange that I haven't fully diagnosed with appdomain-unload (the page containing one of the compiled methods seems to get freed); the other is relates to single floating point numbers.
The way I handle single floats is: 1. When loaded from storage I immediately convert them to double so that all operations work correctly 2. Before storing back to memory I convert them from double to single and then store 3. When passing in a call I convert from double to single 4. When coming back from a function call I convert from single to double This appears to work most of the time, but sometimes I get sequences like: (stind.r4 (add (ldind.ref regoffset[0xd0(s390_r11)]) iconst[8]) (float_conv_to_r4 (ldind.r8 regoffset[0xc8(s390_r11)]))) In this instance float_conv_to_r4 will convert from double to single and then stind.4 will try to convert from double to single as well: resulting in junk. How do other architectures handle single floats? BTW, on 2.4 systems the thread-related tests sometimes work and sometimes don't. On 2.6 things work all the time. Neale Ferguson P.S. My notes to the list appear to go via a moderator and are not being posted directly. _______________________________________________ Mono-list maillist - [EMAIL PROTECTED] http://lists.ximian.com/mailman/listinfo/mono-list
