finalizing 64-bit mixed mode issues

Vincent Povirk madewokherd at gmail.com
Tue Feb 9 11:10:21 CST 2016


> 2. Mono JIT compiler PTR/I8 issues. I've extended a bit your test case
> and updated the patch in the Mono bug info. While we are waiting for
> some reply on this in Mono maybe it is possible to send my patch for
> wine-mono? I am not sure that it is fully correct (it would in fact
> require to get familiar with the whole JIT code generation path to make
> sure), but I presume it is safe to use as:
>  - the changes relate to 64-bit code generation only, 32 bit is not
> affected anyhow;
>  - as for 64 bit, the changes solely extend what instruction/call
> parameters are considered valid for JIT code generator. If something was
> valid without this patch, it will not be affected. If something was
> invalid and gets touched by the patch incorrectly for some cases, it
> will likely result in segfault instead of 'invalid il code' exception in
> the worst case.

Changing the set of accepted IL code based on pointer size doesn't
seem right to me (and even if it is, amd64 is the wrong thing to check
for). The test indicates that .NET accepts the code either way, though
it is actually broken on win32.



More information about the wine-devel mailing list