Warning, /frameworks/syntax-highlighting/autotests/reference/test.il.ref is written in an unsupported language. File is not indexed.
0001 <Comment>// Test file for the Common Intermediate Language</Comment><br/> 0002 <Normal Text></Normal Text><br/> 0003 <Comment>/*</Comment><br/> 0004 <Comment> multi line comment</Comment><br/> 0005 <Comment>*/</Comment><br/> 0006 <Normal Text></Normal Text><br/> 0007 <Comment>// examples from Wikipedia</Comment><br/> 0008 <Normal Text>.</Normal Text><Meta Data>assembly</Meta Data><Normal Text> Hello {}</Normal Text><br/> 0009 <Normal Text>.</Normal Text><Meta Data>assembly</Meta Data><Normal Text> </Normal Text><Keyword>extern</Keyword><Normal Text> mscorlib {}</Normal Text><br/> 0010 <Normal Text>.</Normal Text><Keyword>method</Keyword><Normal Text> </Normal Text><Keyword>static</Keyword><Normal Text> </Normal Text><Data Type>void</Data Type><Normal Text> Main()</Normal Text><br/> 0011 <Normal Text>{</Normal Text><br/> 0012 <Normal Text> .</Normal Text><Meta Data>entrypoint</Meta Data><br/> 0013 <Normal Text> .</Normal Text><Meta Data>maxstack</Meta Data><Normal Text> 1</Normal Text><br/> 0014 <Normal Text> </Normal Text><Instructions>ldstr</Instructions><Normal Text> </Normal Text><String>"Hello, world!"</String><br/> 0015 <Normal Text> </Normal Text><Instructions>call</Instructions><Normal Text> </Normal Text><Data Type>void</Data Type><Normal Text> [mscorlib]System.Console::WriteLine(</Normal Text><Data Type>string</Data Type><Normal Text>)</Normal Text><br/> 0016 <Normal Text> </Normal Text><Instructions>ret</Instructions><br/> 0017 <Normal Text>}</Normal Text><br/> 0018 <Normal Text></Normal Text><br/> 0019 <Normal Text>.</Normal Text><Keyword>method</Keyword><Normal Text> </Normal Text><Keyword>private</Keyword><Normal Text> hidebysig </Normal Text><Keyword>static</Keyword><Normal Text> </Normal Text><Data Type>void</Data Type><Normal Text> Main(</Normal Text><Data Type>string</Data Type><Normal Text>[] args) </Normal Text><Keyword>cil</Keyword><Normal Text> </Normal Text><Keyword>managed</Keyword><br/> 0020 <Normal Text>{</Normal Text><br/> 0021 <Normal Text> .</Normal Text><Meta Data>entrypoint</Meta Data><br/> 0022 <Normal Text> .</Normal Text><Meta Data>maxstack</Meta Data><Normal Text> 2</Normal Text><br/> 0023 <Normal Text> .</Normal Text><Meta Data>locals</Meta Data><Normal Text> init (</Normal Text><Data Type>int32</Data Type><Normal Text> V_0,</Normal Text><br/> 0024 <Normal Text> </Normal Text><Data Type>int32</Data Type><Normal Text> V_1)</Normal Text><br/> 0025 <Normal Text></Normal Text><br/> 0026 <Normal Text> </Normal Text><Instructions>ldc</Instructions><Normal Text>.i4.2</Normal Text><br/> 0027 <Normal Text> </Normal Text><Instructions>stloc</Instructions><Normal Text>.0</Normal Text><br/> 0028 <Normal Text> </Normal Text><Instructions>br</Instructions><Normal Text>.s IL_001f</Normal Text><br/> 0029 <Normal Text> </Normal Text><Label>IL_0004:</Label><Normal Text> </Normal Text><Instructions>ldc</Instructions><Normal Text>.i4.2</Normal Text><br/> 0030 <Normal Text> </Normal Text><Instructions>stloc</Instructions><Normal Text>.1</Normal Text><br/> 0031 <Normal Text> </Normal Text><Instructions>br</Instructions><Normal Text>.s IL_0011</Normal Text><br/> 0032 <Normal Text> </Normal Text><Label>IL_0008:</Label><Normal Text> </Normal Text><Instructions>ldloc</Instructions><Normal Text>.0</Normal Text><br/> 0033 <Normal Text> </Normal Text><Instructions>ldloc</Instructions><Normal Text>.1</Normal Text><br/> 0034 <Normal Text> </Normal Text><Instructions>rem</Instructions><br/> 0035 <Normal Text> </Normal Text><Instructions>brfalse</Instructions><Normal Text>.s IL_001b</Normal Text><br/> 0036 <Normal Text> </Normal Text><Instructions>ldloc</Instructions><Normal Text>.1</Normal Text><br/> 0037 <Normal Text> </Normal Text><Instructions>ldc</Instructions><Normal Text>.i4.1</Normal Text><br/> 0038 <Normal Text> </Normal Text><Instructions>add</Instructions><br/> 0039 <Normal Text> </Normal Text><Instructions>stloc</Instructions><Normal Text>.1</Normal Text><br/> 0040 <Normal Text> </Normal Text><Label>IL_0011:</Label><Normal Text> </Normal Text><Instructions>ldloc</Instructions><Normal Text>.1</Normal Text><br/> 0041 <Normal Text> </Normal Text><Instructions>ldloc</Instructions><Normal Text>.0</Normal Text><br/> 0042 <Normal Text> </Normal Text><Instructions>blt</Instructions><Normal Text>.s IL_0008</Normal Text><br/> 0043 <Normal Text> </Normal Text><Instructions>ldloc</Instructions><Normal Text>.0</Normal Text><br/> 0044 <Normal Text> </Normal Text><Instructions>call</Instructions><Normal Text> </Normal Text><Data Type>void</Data Type><Normal Text> [mscorlib]System.Console::WriteLine(</Normal Text><Data Type>int32</Data Type><Normal Text>)</Normal Text><br/> 0045 <Normal Text> </Normal Text><Label>IL_001b:</Label><Normal Text> </Normal Text><Instructions>ldloc</Instructions><Normal Text>.0</Normal Text><br/> 0046 <Normal Text> </Normal Text><Instructions>ldc</Instructions><Normal Text>.i4.1</Normal Text><br/> 0047 <Normal Text> </Normal Text><Instructions>add</Instructions><br/> 0048 <Normal Text> </Normal Text><Instructions>stloc</Instructions><Normal Text>.0</Normal Text><br/> 0049 <Normal Text> </Normal Text><Label>IL_001f:</Label><Normal Text> </Normal Text><Instructions>ldloc</Instructions><Normal Text>.0</Normal Text><br/> 0050 <Normal Text> </Normal Text><Instructions>ldc</Instructions><Normal Text>.i4 0x3e8</Normal Text><br/> 0051 <Normal Text> </Normal Text><Instructions>blt</Instructions><Normal Text>.s IL_0004</Normal Text><br/> 0052 <Normal Text> </Normal Text><Instructions>ret</Instructions><br/> 0053 <Normal Text>}</Normal Text><br/> 0054 <Normal Text></Normal Text><br/> 0055 <Normal Text>.</Normal Text><Keyword>method</Keyword><Normal Text> </Normal Text><Meta Data>assembly</Meta Data><Normal Text> </Normal Text><Keyword>static</Keyword><Normal Text> </Normal Text><Data Type>void</Data Type><Normal Text> modopt([mscorlib]System.Runtime.CompilerServices.CallConvCdecl)</Normal Text><br/> 0056 <Normal Text> test_pointer_operations(</Normal Text><Data Type>int32</Data Type><Normal Text> param) </Normal Text><Keyword>cil</Keyword><Normal Text> </Normal Text><Keyword>managed</Keyword><br/> 0057 <Normal Text>{</Normal Text><br/> 0058 <Normal Text> .vtentry 1 : 1</Normal Text><br/> 0059 <Normal Text> </Normal Text><Comment>// Code size 44 (0x2c)</Comment><br/> 0060 <Normal Text> .</Normal Text><Meta Data>maxstack</Meta Data><Normal Text> 2</Normal Text><br/> 0061 <Normal Text> .</Normal Text><Meta Data>locals</Meta Data><Normal Text> ([0] </Normal Text><Data Type>int32</Data Type><Normal Text>* ptr,</Normal Text><br/> 0062 <Normal Text> [1] valuetype A* V_1,</Normal Text><br/> 0063 <Normal Text> [2] valuetype A* a,</Normal Text><br/> 0064 <Normal Text> [3] </Normal Text><Data Type>int32</Data Type><Normal Text> k)</Normal Text><br/> 0065 <Comment>// k = 0;</Comment><br/> 0066 <Normal Text> </Normal Text><Label>IL_0000:</Label><Normal Text> </Normal Text><Instructions>ldc</Instructions><Normal Text>.i4.0</Normal Text><br/> 0067 <Normal Text> </Normal Text><Label>IL_0001:</Label><Normal Text> </Normal Text><Instructions>stloc</Instructions><Normal Text>.3</Normal Text><br/> 0068 <Comment>// ptr = &k;</Comment><br/> 0069 <Normal Text> </Normal Text><Label>IL_0002:</Label><Normal Text> </Normal Text><Instructions>ldloca</Instructions><Normal Text>.s k </Normal Text><Comment>// load local's address instruction</Comment><br/> 0070 <Normal Text> </Normal Text><Label>IL_0004:</Label><Normal Text> </Normal Text><Instructions>stloc</Instructions><Normal Text>.0</Normal Text><br/> 0071 <Comment>// *ptr = 1;</Comment><br/> 0072 <Normal Text> </Normal Text><Label>IL_0005:</Label><Normal Text> </Normal Text><Instructions>ldloc</Instructions><Normal Text>.0</Normal Text><br/> 0073 <Normal Text> </Normal Text><Label>IL_0006:</Label><Normal Text> </Normal Text><Instructions>ldc</Instructions><Normal Text>.i4.1</Normal Text><br/> 0074 <Normal Text> </Normal Text><Label>IL_0007:</Label><Normal Text> </Normal Text><Instructions>stind</Instructions><Normal Text>.i4 </Normal Text><Comment>// indirection instruction</Comment><br/> 0075 <Comment>// ptr = ¶m</Comment><br/> 0076 <Normal Text> </Normal Text><Label>IL_0008:</Label><Normal Text> </Normal Text><Instructions>ldarga</Instructions><Normal Text>.s param </Normal Text><Comment>// load parameter's address instruction</Comment><br/> 0077 <Normal Text> </Normal Text><Label>IL_000a:</Label><Normal Text> </Normal Text><Instructions>stloc</Instructions><Normal Text>.0</Normal Text><br/> 0078 <Comment>// *ptr = 2</Comment><br/> 0079 <Normal Text> </Normal Text><Label>IL_000b:</Label><Normal Text> </Normal Text><Instructions>ldloc</Instructions><Normal Text>.0</Normal Text><br/> 0080 <Normal Text> </Normal Text><Label>IL_000c:</Label><Normal Text> </Normal Text><Instructions>ldc</Instructions><Normal Text>.i4.2</Normal Text><br/> 0081 <Normal Text> </Normal Text><Label>IL_000d:</Label><Normal Text> </Normal Text><Instructions>stind</Instructions><Normal Text>.i4</Normal Text><br/> 0082 <Comment>// a = new A;</Comment><br/> 0083 <Normal Text> </Normal Text><Label>IL_000e:</Label><Normal Text> </Normal Text><Instructions>ldloca</Instructions><Normal Text>.s a</Normal Text><br/> 0084 <Normal Text> </Normal Text><Label>IL_0010:</Label><Normal Text> </Normal Text><Instructions>call</Instructions><Normal Text> valuetype A* modopt([mscorlib]System.Runtime.CompilerServices.CallConvThiscall) 'A.{ctor}'(valuetype A* modopt([mscorlib]System.Runtime.CompilerServices.IsConst) modopt([mscorlib]System.Runtime.CompilerServices.IsConst))</Normal Text><br/> 0085 <Normal Text> </Normal Text><Label>IL_0015:</Label><Normal Text> </Normal Text><Instructions>pop</Instructions><br/> 0086 <Comment>// ptra = &a;</Comment><br/> 0087 <Normal Text> </Normal Text><Label>IL_0016:</Label><Normal Text> </Normal Text><Instructions>ldloca</Instructions><Normal Text>.s a</Normal Text><br/> 0088 <Normal Text> </Normal Text><Label>IL_0018:</Label><Normal Text> </Normal Text><Instructions>stloc</Instructions><Normal Text>.1</Normal Text><br/> 0089 <Comment>// ptra->meth();</Comment><br/> 0090 <Normal Text> </Normal Text><Label>IL_0019:</Label><Normal Text> </Normal Text><Instructions>ldloc</Instructions><Normal Text>.1</Normal Text><br/> 0091 <Normal Text> </Normal Text><Label>IL_001a:</Label><Normal Text> </Normal Text><Instructions>dup</Instructions><br/> 0092 <Normal Text> </Normal Text><Label>IL_001b:</Label><Normal Text> </Normal Text><Instructions>ldind</Instructions><Normal Text>.i4 </Normal Text><Comment>// reading the VMT for virtual call</Comment><br/> 0093 <Normal Text> </Normal Text><Label>IL_001c:</Label><Normal Text> </Normal Text><Instructions>ldind</Instructions><Normal Text>.i4</Normal Text><br/> 0094 <Normal Text> </Normal Text><Label>IL_001d:</Label><Normal Text> </Normal Text><Instructions>calli</Instructions><Normal Text> unmanaged stdcall </Normal Text><Data Type>void</Data Type><Normal Text> modopt([mscorlib]System.Runtime.CompilerServices.CallConvStdcall)(native int)</Normal Text><br/> 0095 <Normal Text> </Normal Text><Label>IL_0022:</Label><Normal Text> </Normal Text><Instructions>ret</Instructions><br/> 0096 <Normal Text>} </Normal Text><Comment>// end of method 'Global Functions'::test_pointer_operations</Comment><br/>