Posted by: leppie | May 12, 2011

Reflector FUUUUUUUU!!!

What Reflector makes out the C# to be:

  object[] a = new object[2];
  a[0] = symbol_free-id;
  s11n:8 = objArray[8];
  a[1] = s11n:8;
  $c$00BA = Builtins.List(symbol__, symbol_any, Builtins.ListStar(a, symbol_each-any));

What the actual IL is:

  L_045e: ldc.i4.2 
  L_045f: newarr object
  L_0464: dup 
  L_0465: ldc.i4.0 
  L_0466: ldsfld object contracts::symbol_free-id
  L_046b: stelem.ref 
  L_046c: dup 
  L_046d: ldc.i4.1 
  L_046e: ldsfld object contracts::s11n:8
  L_0473: ldloc.0 
  L_0474: ldc.i4.8 
  L_0475: ldelem.ref 
  L_0476: stsfld object contracts::s11n:8
  L_047b: stelem.ref 
  L_047c: ldsfld object contracts::symbol_each-any
  L_0481: call object [IronScheme]IronScheme.Runtime.Builtins::ListStar(object, object)
  L_0486: call object [IronScheme]IronScheme.Runtime.Builtins::List(object, object, object)
  L_048b: stsfld object contracts::$c$00BA

Note, L_046e and L_0476, completely wrong order in the C# 😦



  1. You are very beautiful blog.

Leave a Reply

Please log in using one of these methods to post your comment: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s


%d bloggers like this: