On Fri, 2002-05-24 at 19:18, Michael Giagnocavo wrote: > >> Just assemble this -- it is a very simple case. It also > >> demonstrates how the cpblk doesn't have to work when the src and dest > >> addresses overlap. Test it on MSFT's CLR and you'll see that it > >> eventually fails (and sometimes works). It'd be cool if Mono's > always > >> worked (even though Partition III specifies "unspecified" behaviour > if > >> src and dest overlap). > > > I just implemented it using unix memcpy(). Doku for memcpy states it > > does not work for overlapping regions, but IMO it makes no sense to > make > > that work, it only makes things slower. > > Hmm. What if I want to move a block up by a few bytes?
Dick convinced me to use memmove which works with overlapping regions. (until someone can prove that it is a performance problem). > > >> This is only a lame test, I'm working on a much longer test > >> that's more accurate (protects IP) -- if you like I can send that > later. > > > I would like to have a test that fails if CPBLK does not work. Your > test > > even pass if i implement CPBLK as NOP! > > Well, not a NOP, since then the program would be invalid (throws me a > System.InvalidProgramException, since NOP does not have the same > signature. I meant implementing it in the jit using a nop instruction - i does not show an exception/error in that case, so i cant use it for regression tests. But you're right, I shouldn't have sent such bad code. The code was good enough to implement the opcode :-) > > >> Is jmp implemented? > > > No, but I will implement it as soon as I get some code to test ;-) > > Here are you two simple working tests that will print PASS or FAIL. > Which other opcodes need a test? wow - thanks for those test. Take a look at mono/mono/jit.c to see whats not implemented (mono_analyze_stack()). We need more regression tests for all kinds of instructions, especially value types, pinvoke parameter passing, exceptions (maybe with fault handlers), delegates, remoting, ... - Dietmar _______________________________________________ Mono-list maillist - [EMAIL PROTECTED] http://lists.ximian.com/mailman/listinfo/mono-list
