Jim, could you push the latest sources to GIT?
Jb, could you try again using the latest source code (after Jim pushes it) and 
if it fails send me please full stack trace and complete IL of the offending 
method?

Thanks,
Tomas

-----Original Message-----
From: [email protected] 
[mailto:[email protected]] On Behalf Of Jb Evain
Sent: Friday, February 27, 2009 12:09 AM
To: [email protected]
Subject: Re: [Ironruby-core] Regression ? "Invalid IL code in (wrapper 
dynamic-method)"

Hey Jim,

On 2/27/09, Jim Deville <[email protected]> wrote:
> Can anyone confirm if this is only a Mono problem? Also, what platform x86
> or x64 (doubt it makes a difference, but I want to be certain)? I can't
> repro on .NET.

Let say it's a shared problem :)

The issue comes from our verifier, which, well, verifies the whole
method body. It's shocking on a dynamic method which looks like:

ldc.i4.1
brfalse target
ldarg.3
call foo
ret
pop

target:

ldarg.1
call bar
bla bla bla
...

The issue is the pop, in between the ret and the jump target. .net's
JIT will optimize it away, and not even verify it, as it will never be
executed.

But our verifier, well, verifies the whole method body, hence the
InvalidProgramException.

We've had this issue already with some obfuscators injecting plain non
sense, so I guess at some point we'll fix it on our side. It would be
nice if IronRuby could emit nice and verifiable code though.

-- 
Jb Evain  <[email protected]>
_______________________________________________
Ironruby-core mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/ironruby-core

_______________________________________________
Ironruby-core mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/ironruby-core

Reply via email to