1814 references to ILOpCode
Microsoft.AspNetCore.Http.Extensions.Tests (6)
RequestDelegateFactoryTests.cs (4)
335new object[] { (Action<HttpContext, ILOpCode[]>)Store, new[] { "Nop" }, new[] { ILOpCode.Nop } }, 386new object[] { (Action<HttpContext, ILOpCode>)Store, "Nop", ILOpCode.Nop },
RequestDelegateGenerator\RequestDelegateCreationTests.Arrays.cs (1)
142new object[] { "ILOpCode[]", new[] { "Nop" }, new[] { ILOpCode.Nop } },
RequestDelegateGenerator\RequestDelegateCreationTests.TryParse.cs (1)
53new object[] { "ILOpCode", "Nop", ILOpCode.Nop },
Microsoft.CodeAnalysis (748)
CodeGen\BasicBlock.cs (53)
148private ILOpCode _branchCode; 167public ILOpCode BranchCode 179public ILOpCode RevBranchCode 183return (ILOpCode)_revBranchCode; 187Debug.Assert((ILOpCode)(byte)value == value, "rev opcodes must fit in a byte"); 209public void SetBranchCode(ILOpCode newBranchCode) 217public void SetBranch(object newLabel, ILOpCode branchCode, ILOpCode revBranchCode) 223public void SetBranch(object newLabel, ILOpCode branchCode) 249=> (this.BranchLabel != null) && (this.BranchCode != ILOpCode.Nop); 315var curBranchCode = this.BranchCode; 364Debug.Assert(BranchCode != ILOpCode.Nop, "Nop branches should not have labels"); 395next.BranchCode == ILOpCode.Nop && 415this.SetBranch(null, ILOpCode.Nop); 448(next.BranchCode == ILOpCode.Br || next.BranchCode == ILOpCode.Br_s) && 451ILOpCode revBrOp = this.GetReversedBranchOp(); 453if (revBrOp != ILOpCode.Nop) 472if (next.BranchCode == ILOpCode.Br_s) 482var origBrOp = this.BranchCode; 494var curBranchCode = this.BranchCode; 495if (curBranchCode == ILOpCode.Br || curBranchCode == ILOpCode.Br_s) 501this.SetBranch(null, ILOpCode.Nop); 508if (BranchBlock.HasNoRegularInstructions && BranchBlock.BranchCode == ILOpCode.Ret) 510this.SetBranch(null, ILOpCode.Ret); 523var curBranchCode = this.BranchCode; 533this.SetBranch(null, ILOpCode.Nop); 534this.Writer.WriteByte((byte)ILOpCode.Pop); 541this.Writer.WriteByte((byte)ILOpCode.Pop); 576private ILOpCode GetReversedBranchOp() 578var result = RevBranchCode; 580if (result != ILOpCode.Nop) 590case ILOpCode.Brfalse: 591case ILOpCode.Brfalse_s: 592result = ILOpCode.Brtrue; 594case ILOpCode.Brtrue: 595case ILOpCode.Brtrue_s: 596result = ILOpCode.Brfalse; 598case ILOpCode.Beq: 599case ILOpCode.Beq_s: 600result = ILOpCode.Bne_un; 602case ILOpCode.Bne_un: 603case ILOpCode.Bne_un_s: 604result = ILOpCode.Beq; 618case ILOpCode.Nop: 622case ILOpCode.Ret: 623case ILOpCode.Throw: 624case ILOpCode.Endfinally: 628case ILOpCode.Rethrow: 629case ILOpCode.Endfilter: 664this.BranchCode = ILOpCode.Nop; 719this.SetBranchCode(ILOpCode.Switch);
CodeGen\ILBuilder.cs (16)
159_lastCompleteBlock.BranchCode == ILOpCode.Nop && 292var branchCode = block.BranchCode; 293if (branchCode == ILOpCode.Nop && block.Type == BlockType.Normal) 307if (branchCode == ILOpCode.Endfinally) 473Debug.Assert(block.EnclosingHandler.LastFilterConditionBlock.BranchCode == ILOpCode.Endfilter); 530case ILOpCode.Br: 534case ILOpCode.Nop: 590case ILOpCode.Br: 594case ILOpCode.Nop: 748current.SetBranchCode(ILOpCode.Br_s); 753current.SetBranch(null, ILOpCode.Nop); 769if ((block.BranchCode != ILOpCode.Nop) || (block.BranchLabel == null)) 915case ILOpCode.Nop: 918case ILOpCode.Switch: 922WriteOpCode(writer, ILOpCode.Switch); 1111EmitOpCode(ILOpCode.Nop);
CodeGen\ILBuilderConversions.cs (56)
27this.EmitOpCode(fromUnsigned ? ILOpCode.Conv_ovf_i1_un : ILOpCode.Conv_ovf_i1); 29this.EmitOpCode(ILOpCode.Conv_i1); 41this.EmitOpCode(fromUnsigned ? ILOpCode.Conv_ovf_u1_un : ILOpCode.Conv_ovf_u1); 43this.EmitOpCode(ILOpCode.Conv_u1); 57this.EmitOpCode(fromUnsigned ? ILOpCode.Conv_ovf_i2_un : ILOpCode.Conv_ovf_i2); 59this.EmitOpCode(ILOpCode.Conv_i2); 74this.EmitOpCode(fromUnsigned ? ILOpCode.Conv_ovf_u2_un : ILOpCode.Conv_ovf_u2); 76this.EmitOpCode(ILOpCode.Conv_u2); 93this.EmitOpCode(ILOpCode.Conv_ovf_i4_un); 97this.EmitOpCode(fromUnsigned ? ILOpCode.Conv_ovf_i4_un : ILOpCode.Conv_ovf_i4); 99this.EmitOpCode(ILOpCode.Conv_i4); 116this.EmitOpCode(ILOpCode.Conv_ovf_u4); 120this.EmitOpCode(fromUnsigned ? ILOpCode.Conv_ovf_u4_un : ILOpCode.Conv_ovf_u4); 122this.EmitOpCode(ILOpCode.Conv_u4); 136this.EmitOpCode(ILOpCode.Conv_i); // potentially widening, so not NOP 143this.EmitOpCode(ILOpCode.Conv_u); // potentially widening, so not NOP 147this.EmitOpCode(ILOpCode.Conv_ovf_i_un); 150this.EmitOpCode(ILOpCode.Conv_u); // potentially widening, so not NOP 159this.EmitOpCode(fromUnsigned ? ILOpCode.Conv_ovf_i_un : ILOpCode.Conv_ovf_i); 161this.EmitOpCode(ILOpCode.Conv_i); 178this.EmitOpCode(ILOpCode.Conv_u); // potentially widening, so not NOP 184this.EmitOpCode(ILOpCode.Conv_ovf_u); 186this.EmitOpCode(ILOpCode.Conv_i); // potentially widening, so not NOP 190this.EmitOpCode(fromUnsigned ? ILOpCode.Conv_ovf_u_un : ILOpCode.Conv_ovf_u); 192this.EmitOpCode(ILOpCode.Conv_u); 206this.EmitOpCode(ILOpCode.Conv_i8); // sign extend 212this.EmitOpCode(ILOpCode.Conv_u8); // 0 extend 218this.EmitOpCode(ILOpCode.Conv_ovf_i8_un); 220this.EmitOpCode(ILOpCode.Conv_u8); // 0 extend if unchecked 224this.EmitOpCode(ILOpCode.Conv_ovf_i8_un); 229this.EmitOpCode(ILOpCode.Conv_ovf_i8); 231this.EmitOpCode(ILOpCode.Conv_i8); 248this.EmitOpCode(ILOpCode.Conv_u8); // 0 extend 255this.EmitOpCode(ILOpCode.Conv_ovf_u8); 257this.EmitOpCode(ILOpCode.Conv_i8); // sign extend if unchecked 261this.EmitOpCode(ILOpCode.Conv_ovf_u8); 266this.EmitOpCode(ILOpCode.Conv_ovf_u8); 268this.EmitOpCode(ILOpCode.Conv_u8); 279this.EmitOpCode(ILOpCode.Conv_r_un); 282this.EmitOpCode(ILOpCode.Conv_r4); 291this.EmitOpCode(ILOpCode.Conv_r_un); 294this.EmitOpCode(ILOpCode.Conv_r8); 306this.EmitOpCode(ILOpCode.Conv_u); 309this.EmitOpCode(ILOpCode.Conv_ovf_u_un); 315this.EmitOpCode(ILOpCode.Conv_ovf_u); 318this.EmitOpCode(ILOpCode.Conv_ovf_u); 335this.EmitOpCode(ILOpCode.Conv_u); 342this.EmitOpCode(ILOpCode.Conv_i);
CodeGen\ILBuilderEmit.cs (71)
27internal void EmitOpCode(ILOpCode code) 32internal void EmitOpCode(ILOpCode code, int stackAdjustment) 106EmitOpCode(ILOpCode.Dup); //array 107EmitOpCode(ILOpCode.Ldtoken); 109EmitOpCode(ILOpCode.Call, -2); 173internal void EmitBranch(ILOpCode code, object label, ILOpCode revOpCode = ILOpCode.Nop) 175bool validOpCode = (code == ILOpCode.Nop) || code.IsBranch(); 178Debug.Assert(revOpCode == ILOpCode.Nop || revOpCode.IsBranch()); 199Debug.Assert((code != ILOpCode.Nop) || (block == _labelInfos[label].bb)); 203if (code != ILOpCode.Nop) 317block.SetBranchCode(ILOpCode.Ret); 328block.SetBranchCode(ILOpCode.Rethrow); 332block.SetBranchCode(ILOpCode.Throw); 343block.SetBranchCode(ILOpCode.Endfinally); 354block.SetBranchCode(ILOpCode.Endfilter); 370this.EmitOpCode(ILOpCode.Newobj, 1 - (int)arrayType.Rank); 384this.EmitOpCode(ILOpCode.Call, -(int)arrayType.Rank); 398this.EmitOpCode(ILOpCode.Call, -(int)arrayType.Rank); 412this.EmitOpCode(ILOpCode.Call, -(2 + (int)arrayType.Rank)); 446case 0: EmitOpCode(ILOpCode.Ldloc_0); break; 447case 1: EmitOpCode(ILOpCode.Ldloc_1); break; 448case 2: EmitOpCode(ILOpCode.Ldloc_2); break; 449case 3: EmitOpCode(ILOpCode.Ldloc_3); break; 453EmitOpCode(ILOpCode.Ldloc_s); 458EmitOpCode(ILOpCode.Ldloc); 471case 0: EmitOpCode(ILOpCode.Stloc_0); break; 472case 1: EmitOpCode(ILOpCode.Stloc_1); break; 473case 2: EmitOpCode(ILOpCode.Stloc_2); break; 474case 3: EmitOpCode(ILOpCode.Stloc_3); break; 478EmitOpCode(ILOpCode.Stloc_s); 483EmitOpCode(ILOpCode.Stloc); 502EmitOpCode(ILOpCode.Ldloca_s); 507EmitOpCode(ILOpCode.Ldloca); 518case 0: EmitOpCode(ILOpCode.Ldarg_0); break; 519case 1: EmitOpCode(ILOpCode.Ldarg_1); break; 520case 2: EmitOpCode(ILOpCode.Ldarg_2); break; 521case 3: EmitOpCode(ILOpCode.Ldarg_3); break; 525EmitOpCode(ILOpCode.Ldarg_s); 530EmitOpCode(ILOpCode.Ldarg); 541EmitOpCode(ILOpCode.Ldarga_s); 546EmitOpCode(ILOpCode.Ldarga); 556EmitOpCode(ILOpCode.Starg_s); 561EmitOpCode(ILOpCode.Starg); 624ILOpCode code = ILOpCode.Nop; 627case -1: code = ILOpCode.Ldc_i4_m1; break; 628case 0: code = ILOpCode.Ldc_i4_0; break; 629case 1: code = ILOpCode.Ldc_i4_1; break; 630case 2: code = ILOpCode.Ldc_i4_2; break; 631case 3: code = ILOpCode.Ldc_i4_3; break; 632case 4: code = ILOpCode.Ldc_i4_4; break; 633case 5: code = ILOpCode.Ldc_i4_5; break; 634case 6: code = ILOpCode.Ldc_i4_6; break; 635case 7: code = ILOpCode.Ldc_i4_7; break; 636case 8: code = ILOpCode.Ldc_i4_8; break; 639if (code != ILOpCode.Nop) 647EmitOpCode(ILOpCode.Ldc_i4_s); 652EmitOpCode(ILOpCode.Ldc_i4); 688EmitOpCode(ILOpCode.Conv_i8); 693EmitOpCode(ILOpCode.Conv_u8); 697EmitOpCode(ILOpCode.Ldc_i8); 707EmitOpCode(ILOpCode.Conv_i); 712EmitOpCode(ILOpCode.Conv_u); 722EmitOpCode(ILOpCode.Ldc_r4); 728EmitOpCode(ILOpCode.Ldc_r8); 734EmitOpCode(ILOpCode.Ldnull); 745EmitOpCode(ILOpCode.Ldstr); 753EmitOpCode(ILOpCode.Unaligned); 784private static void WriteOpCode(BlobBuilder writer, ILOpCode code)
CodeGen\ILOpCodeExtensions.cs (516)
14public static int Size(this ILOpCode opcode) 29public static ILOpCode GetLeaveOpcode(this ILOpCode opcode) 33case ILOpCode.Br: 34return ILOpCode.Leave; 36case ILOpCode.Br_s: 37return ILOpCode.Leave_s; 43public static bool HasVariableStackBehavior(this ILOpCode opcode) 47case ILOpCode.Call: 48case ILOpCode.Calli: 49case ILOpCode.Callvirt: 50case ILOpCode.Newobj: 51case ILOpCode.Ret: 61public static bool IsControlTransfer(this ILOpCode opcode) 70case ILOpCode.Ret: 71case ILOpCode.Throw: 72case ILOpCode.Rethrow: 73case ILOpCode.Endfilter: 74case ILOpCode.Endfinally: 75case ILOpCode.Switch: 76case ILOpCode.Jmp: 82public static bool IsConditionalBranch(this ILOpCode opcode) 86case ILOpCode.Brtrue: 87case ILOpCode.Brtrue_s: 88case ILOpCode.Brfalse: 89case ILOpCode.Brfalse_s: 90case ILOpCode.Beq: 91case ILOpCode.Beq_s: 92case ILOpCode.Bne_un: 93case ILOpCode.Bne_un_s: 94case ILOpCode.Bge: 95case ILOpCode.Bge_s: 96case ILOpCode.Bge_un: 97case ILOpCode.Bge_un_s: 98case ILOpCode.Bgt: 99case ILOpCode.Bgt_s: 100case ILOpCode.Bgt_un: 101case ILOpCode.Bgt_un_s: 102case ILOpCode.Ble: 103case ILOpCode.Ble_s: 104case ILOpCode.Ble_un: 105case ILOpCode.Ble_un_s: 106case ILOpCode.Blt: 107case ILOpCode.Blt_s: 108case ILOpCode.Blt_un: 109case ILOpCode.Blt_un_s: 125public static bool IsRelationalBranch(this ILOpCode opcode) 129case ILOpCode.Beq: 130case ILOpCode.Beq_s: 131case ILOpCode.Bne_un: 132case ILOpCode.Bne_un_s: 133case ILOpCode.Bge: 134case ILOpCode.Bge_s: 135case ILOpCode.Bge_un: 136case ILOpCode.Bge_un_s: 137case ILOpCode.Bgt: 138case ILOpCode.Bgt_s: 139case ILOpCode.Bgt_un: 140case ILOpCode.Bgt_un_s: 141case ILOpCode.Ble: 142case ILOpCode.Ble_s: 143case ILOpCode.Ble_un: 144case ILOpCode.Ble_un_s: 145case ILOpCode.Blt: 146case ILOpCode.Blt_s: 147case ILOpCode.Blt_un: 148case ILOpCode.Blt_un_s: 158public static bool CanFallThrough(this ILOpCode opcode) 164case ILOpCode.Br: 165case ILOpCode.Br_s: 166case ILOpCode.Ret: 167case ILOpCode.Jmp: 168case ILOpCode.Throw: 173case ILOpCode.Endfinally: 174case ILOpCode.Leave: 175case ILOpCode.Leave_s: 176case ILOpCode.Rethrow: 183public static int NetStackBehavior(this ILOpCode opcode) 189public static int StackPopCount(this ILOpCode opcode) 193case ILOpCode.Nop: 194case ILOpCode.Break: 195case ILOpCode.Ldarg_0: 196case ILOpCode.Ldarg_1: 197case ILOpCode.Ldarg_2: 198case ILOpCode.Ldarg_3: 199case ILOpCode.Ldloc_0: 200case ILOpCode.Ldloc_1: 201case ILOpCode.Ldloc_2: 202case ILOpCode.Ldloc_3: 204case ILOpCode.Stloc_0: 205case ILOpCode.Stloc_1: 206case ILOpCode.Stloc_2: 207case ILOpCode.Stloc_3: 209case ILOpCode.Ldarg_s: 210case ILOpCode.Ldarga_s: 212case ILOpCode.Starg_s: 214case ILOpCode.Ldloc_s: 215case ILOpCode.Ldloca_s: 217case ILOpCode.Stloc_s: 219case ILOpCode.Ldnull: 220case ILOpCode.Ldc_i4_m1: 221case ILOpCode.Ldc_i4_0: 222case ILOpCode.Ldc_i4_1: 223case ILOpCode.Ldc_i4_2: 224case ILOpCode.Ldc_i4_3: 225case ILOpCode.Ldc_i4_4: 226case ILOpCode.Ldc_i4_5: 227case ILOpCode.Ldc_i4_6: 228case ILOpCode.Ldc_i4_7: 229case ILOpCode.Ldc_i4_8: 230case ILOpCode.Ldc_i4_s: 231case ILOpCode.Ldc_i4: 232case ILOpCode.Ldc_i8: 233case ILOpCode.Ldc_r4: 234case ILOpCode.Ldc_r8: 236case ILOpCode.Dup: 237case ILOpCode.Pop: 239case ILOpCode.Jmp: 241case ILOpCode.Call: 242case ILOpCode.Calli: 243case ILOpCode.Ret: 245case ILOpCode.Br_s: 247case ILOpCode.Brfalse_s: 248case ILOpCode.Brtrue_s: 250case ILOpCode.Beq_s: 251case ILOpCode.Bge_s: 252case ILOpCode.Bgt_s: 253case ILOpCode.Ble_s: 254case ILOpCode.Blt_s: 255case ILOpCode.Bne_un_s: 256case ILOpCode.Bge_un_s: 257case ILOpCode.Bgt_un_s: 258case ILOpCode.Ble_un_s: 259case ILOpCode.Blt_un_s: 261case ILOpCode.Br: 263case ILOpCode.Brfalse: 264case ILOpCode.Brtrue: 266case ILOpCode.Beq: 267case ILOpCode.Bge: 268case ILOpCode.Bgt: 269case ILOpCode.Ble: 270case ILOpCode.Blt: 271case ILOpCode.Bne_un: 272case ILOpCode.Bge_un: 273case ILOpCode.Bgt_un: 274case ILOpCode.Ble_un: 275case ILOpCode.Blt_un: 277case ILOpCode.Switch: 278case ILOpCode.Ldind_i1: 279case ILOpCode.Ldind_u1: 280case ILOpCode.Ldind_i2: 281case ILOpCode.Ldind_u2: 282case ILOpCode.Ldind_i4: 283case ILOpCode.Ldind_u4: 284case ILOpCode.Ldind_i8: 285case ILOpCode.Ldind_i: 286case ILOpCode.Ldind_r4: 287case ILOpCode.Ldind_r8: 288case ILOpCode.Ldind_ref: 290case ILOpCode.Stind_ref: 291case ILOpCode.Stind_i1: 292case ILOpCode.Stind_i2: 293case ILOpCode.Stind_i4: 294case ILOpCode.Stind_i8: 295case ILOpCode.Stind_r4: 296case ILOpCode.Stind_r8: 297case ILOpCode.Add: 298case ILOpCode.Sub: 299case ILOpCode.Mul: 300case ILOpCode.Div: 301case ILOpCode.Div_un: 302case ILOpCode.Rem: 303case ILOpCode.Rem_un: 304case ILOpCode.And: 305case ILOpCode.Or: 306case ILOpCode.Xor: 307case ILOpCode.Shl: 308case ILOpCode.Shr: 309case ILOpCode.Shr_un: 311case ILOpCode.Neg: 312case ILOpCode.Not: 313case ILOpCode.Conv_i1: 314case ILOpCode.Conv_i2: 315case ILOpCode.Conv_i4: 316case ILOpCode.Conv_i8: 317case ILOpCode.Conv_r4: 318case ILOpCode.Conv_r8: 319case ILOpCode.Conv_u4: 320case ILOpCode.Conv_u8: 322case ILOpCode.Callvirt: 324case ILOpCode.Cpobj: 326case ILOpCode.Ldobj: 328case ILOpCode.Ldstr: 330case ILOpCode.Newobj: 332case ILOpCode.Castclass: 333case ILOpCode.Isinst: 334case ILOpCode.Conv_r_un: 335case ILOpCode.Unbox: 336case ILOpCode.Throw: 337case ILOpCode.Ldfld: 338case ILOpCode.Ldflda: 340case ILOpCode.Stfld: 342case ILOpCode.Ldsfld: 343case ILOpCode.Ldsflda: 345case ILOpCode.Stsfld: 347case ILOpCode.Stobj: 349case ILOpCode.Conv_ovf_i1_un: 350case ILOpCode.Conv_ovf_i2_un: 351case ILOpCode.Conv_ovf_i4_un: 352case ILOpCode.Conv_ovf_i8_un: 353case ILOpCode.Conv_ovf_u1_un: 354case ILOpCode.Conv_ovf_u2_un: 355case ILOpCode.Conv_ovf_u4_un: 356case ILOpCode.Conv_ovf_u8_un: 357case ILOpCode.Conv_ovf_i_un: 358case ILOpCode.Conv_ovf_u_un: 359case ILOpCode.Box: 360case ILOpCode.Newarr: 361case ILOpCode.Ldlen: 363case ILOpCode.Ldelema: 364case ILOpCode.Ldelem_i1: 365case ILOpCode.Ldelem_u1: 366case ILOpCode.Ldelem_i2: 367case ILOpCode.Ldelem_u2: 368case ILOpCode.Ldelem_i4: 369case ILOpCode.Ldelem_u4: 370case ILOpCode.Ldelem_i8: 371case ILOpCode.Ldelem_i: 372case ILOpCode.Ldelem_r4: 373case ILOpCode.Ldelem_r8: 374case ILOpCode.Ldelem_ref: 376case ILOpCode.Stelem_i: 377case ILOpCode.Stelem_i1: 378case ILOpCode.Stelem_i2: 379case ILOpCode.Stelem_i4: 380case ILOpCode.Stelem_i8: 381case ILOpCode.Stelem_r4: 382case ILOpCode.Stelem_r8: 383case ILOpCode.Stelem_ref: 385case ILOpCode.Ldelem: 387case ILOpCode.Stelem: 389case ILOpCode.Unbox_any: 390case ILOpCode.Conv_ovf_i1: 391case ILOpCode.Conv_ovf_u1: 392case ILOpCode.Conv_ovf_i2: 393case ILOpCode.Conv_ovf_u2: 394case ILOpCode.Conv_ovf_i4: 395case ILOpCode.Conv_ovf_u4: 396case ILOpCode.Conv_ovf_i8: 397case ILOpCode.Conv_ovf_u8: 398case ILOpCode.Refanyval: 399case ILOpCode.Ckfinite: 400case ILOpCode.Mkrefany: 402case ILOpCode.Ldtoken: 404case ILOpCode.Conv_u2: 405case ILOpCode.Conv_u1: 406case ILOpCode.Conv_i: 407case ILOpCode.Conv_ovf_i: 408case ILOpCode.Conv_ovf_u: 410case ILOpCode.Add_ovf: 411case ILOpCode.Add_ovf_un: 412case ILOpCode.Mul_ovf: 413case ILOpCode.Mul_ovf_un: 414case ILOpCode.Sub_ovf: 415case ILOpCode.Sub_ovf_un: 417case ILOpCode.Endfinally: 418case ILOpCode.Leave: 419case ILOpCode.Leave_s: 421case ILOpCode.Stind_i: 423case ILOpCode.Conv_u: 425case ILOpCode.Arglist: 427case ILOpCode.Ceq: 428case ILOpCode.Cgt: 429case ILOpCode.Cgt_un: 430case ILOpCode.Clt: 431case ILOpCode.Clt_un: 433case ILOpCode.Ldftn: 435case ILOpCode.Ldvirtftn: 437case ILOpCode.Ldarg: 438case ILOpCode.Ldarga: 440case ILOpCode.Starg: 442case ILOpCode.Ldloc: 443case ILOpCode.Ldloca: 445case ILOpCode.Stloc: 446case ILOpCode.Localloc: 447case ILOpCode.Endfilter: 449case ILOpCode.Unaligned: 450case ILOpCode.Volatile: 451case ILOpCode.Tail: 453case ILOpCode.Initobj: 455case ILOpCode.Constrained: 457case ILOpCode.Cpblk: 458case ILOpCode.Initblk: 460case ILOpCode.Rethrow: 461case ILOpCode.Sizeof: 463case ILOpCode.Refanytype: 465case ILOpCode.Readonly: 472public static int StackPushCount(this ILOpCode opcode) 476case ILOpCode.Nop: 477case ILOpCode.Break: 479case ILOpCode.Ldarg_0: 480case ILOpCode.Ldarg_1: 481case ILOpCode.Ldarg_2: 482case ILOpCode.Ldarg_3: 483case ILOpCode.Ldloc_0: 484case ILOpCode.Ldloc_1: 485case ILOpCode.Ldloc_2: 486case ILOpCode.Ldloc_3: 488case ILOpCode.Stloc_0: 489case ILOpCode.Stloc_1: 490case ILOpCode.Stloc_2: 491case ILOpCode.Stloc_3: 493case ILOpCode.Ldarg_s: 494case ILOpCode.Ldarga_s: 496case ILOpCode.Starg_s: 498case ILOpCode.Ldloc_s: 499case ILOpCode.Ldloca_s: 501case ILOpCode.Stloc_s: 503case ILOpCode.Ldnull: 504case ILOpCode.Ldc_i4_m1: 505case ILOpCode.Ldc_i4_0: 506case ILOpCode.Ldc_i4_1: 507case ILOpCode.Ldc_i4_2: 508case ILOpCode.Ldc_i4_3: 509case ILOpCode.Ldc_i4_4: 510case ILOpCode.Ldc_i4_5: 511case ILOpCode.Ldc_i4_6: 512case ILOpCode.Ldc_i4_7: 513case ILOpCode.Ldc_i4_8: 514case ILOpCode.Ldc_i4_s: 515case ILOpCode.Ldc_i4: 516case ILOpCode.Ldc_i8: 517case ILOpCode.Ldc_r4: 518case ILOpCode.Ldc_r8: 520case ILOpCode.Dup: 522case ILOpCode.Pop: 523case ILOpCode.Jmp: 525case ILOpCode.Call: 526case ILOpCode.Calli: 528case ILOpCode.Ret: 529case ILOpCode.Br_s: 530case ILOpCode.Brfalse_s: 531case ILOpCode.Brtrue_s: 532case ILOpCode.Beq_s: 533case ILOpCode.Bge_s: 534case ILOpCode.Bgt_s: 535case ILOpCode.Ble_s: 536case ILOpCode.Blt_s: 537case ILOpCode.Bne_un_s: 538case ILOpCode.Bge_un_s: 539case ILOpCode.Bgt_un_s: 540case ILOpCode.Ble_un_s: 541case ILOpCode.Blt_un_s: 542case ILOpCode.Br: 543case ILOpCode.Brfalse: 544case ILOpCode.Brtrue: 545case ILOpCode.Beq: 546case ILOpCode.Bge: 547case ILOpCode.Bgt: 548case ILOpCode.Ble: 549case ILOpCode.Blt: 550case ILOpCode.Bne_un: 551case ILOpCode.Bge_un: 552case ILOpCode.Bgt_un: 553case ILOpCode.Ble_un: 554case ILOpCode.Blt_un: 555case ILOpCode.Switch: 557case ILOpCode.Ldind_i1: 558case ILOpCode.Ldind_u1: 559case ILOpCode.Ldind_i2: 560case ILOpCode.Ldind_u2: 561case ILOpCode.Ldind_i4: 562case ILOpCode.Ldind_u4: 563case ILOpCode.Ldind_i8: 564case ILOpCode.Ldind_i: 565case ILOpCode.Ldind_r4: 566case ILOpCode.Ldind_r8: 567case ILOpCode.Ldind_ref: 569case ILOpCode.Stind_ref: 570case ILOpCode.Stind_i1: 571case ILOpCode.Stind_i2: 572case ILOpCode.Stind_i4: 573case ILOpCode.Stind_i8: 574case ILOpCode.Stind_r4: 575case ILOpCode.Stind_r8: 577case ILOpCode.Add: 578case ILOpCode.Sub: 579case ILOpCode.Mul: 580case ILOpCode.Div: 581case ILOpCode.Div_un: 582case ILOpCode.Rem: 583case ILOpCode.Rem_un: 584case ILOpCode.And: 585case ILOpCode.Or: 586case ILOpCode.Xor: 587case ILOpCode.Shl: 588case ILOpCode.Shr: 589case ILOpCode.Shr_un: 590case ILOpCode.Neg: 591case ILOpCode.Not: 592case ILOpCode.Conv_i1: 593case ILOpCode.Conv_i2: 594case ILOpCode.Conv_i4: 595case ILOpCode.Conv_i8: 596case ILOpCode.Conv_r4: 597case ILOpCode.Conv_r8: 598case ILOpCode.Conv_u4: 599case ILOpCode.Conv_u8: 601case ILOpCode.Callvirt: 603case ILOpCode.Cpobj: 605case ILOpCode.Ldobj: 606case ILOpCode.Ldstr: 607case ILOpCode.Newobj: 608case ILOpCode.Castclass: 609case ILOpCode.Isinst: 610case ILOpCode.Conv_r_un: 611case ILOpCode.Unbox: 613case ILOpCode.Throw: 615case ILOpCode.Ldfld: 616case ILOpCode.Ldflda: 618case ILOpCode.Stfld: 620case ILOpCode.Ldsfld: 621case ILOpCode.Ldsflda: 623case ILOpCode.Stsfld: 624case ILOpCode.Stobj: 626case ILOpCode.Conv_ovf_i1_un: 627case ILOpCode.Conv_ovf_i2_un: 628case ILOpCode.Conv_ovf_i4_un: 629case ILOpCode.Conv_ovf_i8_un: 630case ILOpCode.Conv_ovf_u1_un: 631case ILOpCode.Conv_ovf_u2_un: 632case ILOpCode.Conv_ovf_u4_un: 633case ILOpCode.Conv_ovf_u8_un: 634case ILOpCode.Conv_ovf_i_un: 635case ILOpCode.Conv_ovf_u_un: 636case ILOpCode.Box: 637case ILOpCode.Newarr: 638case ILOpCode.Ldlen: 639case ILOpCode.Ldelema: 640case ILOpCode.Ldelem_i1: 641case ILOpCode.Ldelem_u1: 642case ILOpCode.Ldelem_i2: 643case ILOpCode.Ldelem_u2: 644case ILOpCode.Ldelem_i4: 645case ILOpCode.Ldelem_u4: 646case ILOpCode.Ldelem_i8: 647case ILOpCode.Ldelem_i: 648case ILOpCode.Ldelem_r4: 649case ILOpCode.Ldelem_r8: 650case ILOpCode.Ldelem_ref: 652case ILOpCode.Stelem_i: 653case ILOpCode.Stelem_i1: 654case ILOpCode.Stelem_i2: 655case ILOpCode.Stelem_i4: 656case ILOpCode.Stelem_i8: 657case ILOpCode.Stelem_r4: 658case ILOpCode.Stelem_r8: 659case ILOpCode.Stelem_ref: 661case ILOpCode.Ldelem: 663case ILOpCode.Stelem: 665case ILOpCode.Unbox_any: 666case ILOpCode.Conv_ovf_i1: 667case ILOpCode.Conv_ovf_u1: 668case ILOpCode.Conv_ovf_i2: 669case ILOpCode.Conv_ovf_u2: 670case ILOpCode.Conv_ovf_i4: 671case ILOpCode.Conv_ovf_u4: 672case ILOpCode.Conv_ovf_i8: 673case ILOpCode.Conv_ovf_u8: 674case ILOpCode.Refanyval: 675case ILOpCode.Ckfinite: 676case ILOpCode.Mkrefany: 677case ILOpCode.Ldtoken: 678case ILOpCode.Conv_u2: 679case ILOpCode.Conv_u1: 680case ILOpCode.Conv_i: 681case ILOpCode.Conv_ovf_i: 682case ILOpCode.Conv_ovf_u: 683case ILOpCode.Add_ovf: 684case ILOpCode.Add_ovf_un: 685case ILOpCode.Mul_ovf: 686case ILOpCode.Mul_ovf_un: 687case ILOpCode.Sub_ovf: 688case ILOpCode.Sub_ovf_un: 690case ILOpCode.Endfinally: 691case ILOpCode.Leave: 692case ILOpCode.Leave_s: 693case ILOpCode.Stind_i: 695case ILOpCode.Conv_u: 696case ILOpCode.Arglist: 697case ILOpCode.Ceq: 698case ILOpCode.Cgt: 699case ILOpCode.Cgt_un: 700case ILOpCode.Clt: 701case ILOpCode.Clt_un: 702case ILOpCode.Ldftn: 703case ILOpCode.Ldvirtftn: 704case ILOpCode.Ldarg: 705case ILOpCode.Ldarga: 707case ILOpCode.Starg: 709case ILOpCode.Ldloc: 710case ILOpCode.Ldloca: 712case ILOpCode.Stloc: 714case ILOpCode.Localloc: 716case ILOpCode.Endfilter: 717case ILOpCode.Unaligned: 718case ILOpCode.Volatile: 719case ILOpCode.Tail: 720case ILOpCode.Initobj: 721case ILOpCode.Constrained: 722case ILOpCode.Cpblk: 723case ILOpCode.Initblk: 724case ILOpCode.Rethrow: 726case ILOpCode.Sizeof: 727case ILOpCode.Refanytype: 729case ILOpCode.Readonly:
CodeGen\LocalScopeManager.cs (2)
624builder.EmitBranch(ILOpCode.Br, endLabel); 741builder.EmitBranch(ILOpCode.Nop, _endLabel);
CodeGen\SwitchIntegralJumpTableEmitter.cs (28)
133_builder.EmitBranch(ILOpCode.Br, _fallThroughLabel); 301_keyTypeCode.IsUnsigned() ? ILOpCode.Bgt_un : ILOpCode.Bgt, 352_builder.EmitBranch(ILOpCode.Br, bucketFallThroughLabel); 414private void EmitCondBranchForSwitch(ILOpCode branchCode, ConstantValue constant, object targetLabel) 442_builder.EmitBranch(ILOpCode.Brfalse, targetLabel); 447_builder.EmitBranch(ILOpCode.Beq, targetLabel); 462_builder.EmitOpCode(ILOpCode.Sub); 487_builder.EmitBranch(ILOpCode.Ble_un, targetLabel, ILOpCode.Bgt_un); 490private static ILOpCode GetReverseBranchCode(ILOpCode branchCode) 494case ILOpCode.Beq: 495return ILOpCode.Bne_un; 497case ILOpCode.Blt: 498return ILOpCode.Bge; 500case ILOpCode.Blt_un: 501return ILOpCode.Bge_un; 503case ILOpCode.Bgt: 504return ILOpCode.Ble; 506case ILOpCode.Bgt_un: 507return ILOpCode.Ble_un; 525_builder.EmitOpCode(ILOpCode.Sub); 552_builder.EmitOpCode(ILOpCode.Dup); 554_builder.EmitBranch(ILOpCode.Ble_un, inRangeLabel, ILOpCode.Bgt_un); 555_builder.EmitOpCode(ILOpCode.Pop); 556_builder.EmitBranch(ILOpCode.Br, bucketFallThroughLabel);
CodeGen\SwitchStringJumpTableEmitter.cs (1)
169_builder.EmitBranch(ILOpCode.Br, _fallThroughLabel);
Emit\EditAndContinue\DeletedMethodBody.cs (1)
91builder.EmitOpCode(ILOpCode.Newobj, stackAdjustment: -1);
PEWriter\MetadataWriter.cs (4)
91(byte)ILOpCode.Ldnull, 92(byte)ILOpCode.Throw); 3264Debug.Assert(ReadByte(generatedIL, offset - 1) == (byte)ILOpCode.Ldtoken); 3266writer.WriteByte((byte)ILOpCode.Ldc_i4);
Microsoft.CodeAnalysis.CSharp (344)
CodeGen\CodeGenerator.cs (6)
77/// True if there was a <see cref="ILOpCode.Localloc"/> anywhere in the method. This will 79/// affects <see cref="ILOpCode.Localloc"/>. 392_builder.EmitOpCode(ILOpCode.Nop); 415_builder.EmitOpCode(ILOpCode.Nop); 464_builder.EmitBranch(ILOpCode.Brtrue, label); 466_builder.EmitOpCode(ILOpCode.Nop);
CodeGen\EmitAddress.cs (13)
140_builder.EmitOpCode(ILOpCode.Dup); // dup 141_builder.EmitOpCode(ILOpCode.Initobj); // initobj <type> 225_builder.EmitBranch(ILOpCode.Br, doneLabel); 248_builder.EmitBranch(ILOpCode.Brtrue, whenValueTypeLabel); 252_builder.EmitBranch(ILOpCode.Br, doneLabel); 305_builder.EmitOpCode(ILOpCode.Dup); 319_builder.EmitOpCode(ILOpCode.Refanyval); 402_builder.EmitOpCode(ILOpCode.Readonly); 407_builder.EmitOpCode(ILOpCode.Ldelema); 460_builder.EmitOpCode(ILOpCode.Ldsflda); 560_builder.EmitOpCode(field.RefKind == RefKind.None ? ILOpCode.Ldflda : ILOpCode.Ldfld); 583_builder.EmitOpCode(ILOpCode.Ldflda);
CodeGen\EmitArrayInitializer.cs (24)
90_builder.EmitOpCode(ILOpCode.Dup); 193_builder.EmitOpCode(ILOpCode.Dup); 558_builder.EmitOpCode(ILOpCode.Ldsflda); 566_builder.EmitOpCode(ILOpCode.Call, stackAdjustment: -3); 572_builder.EmitOpCode(ILOpCode.Newobj, stackAdjustment: -1); 619_builder.EmitOpCode(ILOpCode.Ldtoken); 621_builder.EmitOpCode(ILOpCode.Call, stackAdjustment: 0); 656_builder.EmitOpCode(ILOpCode.Ldsfld); 658_builder.EmitOpCode(ILOpCode.Dup); 659_builder.EmitBranch(ILOpCode.Brtrue, arrayNotNullLabel); 664_builder.EmitOpCode(ILOpCode.Pop); 666_builder.EmitOpCode(ILOpCode.Newarr); 669_builder.EmitOpCode(ILOpCode.Dup); 670_builder.EmitOpCode(ILOpCode.Stsfld); 676_builder.EmitOpCode(ILOpCode.Newobj, 0); 716_builder.EmitOpCode(ILOpCode.Ldsfld); 718_builder.EmitOpCode(ILOpCode.Dup); 719_builder.EmitBranch(ILOpCode.Brtrue, arrayNotNullLabel); 723_builder.EmitOpCode(ILOpCode.Pop); 725_builder.EmitOpCode(ILOpCode.Dup); 726_builder.EmitOpCode(ILOpCode.Stsfld); 736_builder.EmitOpCode(ILOpCode.Call, stackAdjustment: -2); 742_builder.EmitOpCode(ILOpCode.Newobj, stackAdjustment: 0); 762_builder.EmitOpCode(ILOpCode.Initobj);
CodeGen\EmitConversion.cs (11)
49_builder.EmitOpCode(ILOpCode.Conv_u); 85_builder.EmitOpCode(ILOpCode.Call, stackAdjustment: 0); 171_builder.EmitOpCode(ILOpCode.Conv_u); 242_builder.EmitOpCode(ILOpCode.Unbox_any); 274_builder.EmitOpCode(ILOpCode.Castclass); 279_builder.EmitOpCode(ILOpCode.Unbox_any); 336_builder.EmitOpCode(ILOpCode.Constrained); 357_builder.EmitOpCode(ILOpCode.Dup); 358_builder.EmitOpCode(ILOpCode.Ldvirtftn); 365_builder.EmitOpCode(ILOpCode.Ldftn); 371_builder.EmitOpCode(ILOpCode.Newobj, -1); // pop 2 args and push delegate object
CodeGen\EmitExpression.cs (134)
180_builder.EmitOpCode(ILOpCode.Ldarg_0); 389_builder.EmitBranch(ILOpCode.Brtrue, whenValueTypeLabel); 392_builder.EmitBranch(ILOpCode.Br, doneLabel); 473_builder.EmitBranch(ILOpCode.Brtrue, whenNotNullLabel); 490_builder.EmitOpCode(ILOpCode.Dup); 502_builder.EmitOpCode(ILOpCode.Dup); 523_builder.EmitOpCode(ILOpCode.Call, stackAdjustment: 0); 527_builder.EmitBranch(ILOpCode.Brtrue, whenNotNullLabel); 539_builder.EmitOpCode(ILOpCode.Pop); 552_builder.EmitBranch(ILOpCode.Br, doneLabel); 679_builder.EmitOpCode(ILOpCode.Mkrefany); 691_builder.EmitOpCode(ILOpCode.Refanytype); 692_builder.EmitOpCode(ILOpCode.Call, stackAdjustment: 0); 701_builder.EmitOpCode(ILOpCode.Arglist); 760_builder.EmitOpCode(ILOpCode.Conv_u); 784_builder.EmitOpCode(ILOpCode.Dup); 789_builder.EmitOpCode(ILOpCode.Dup); 811_builder.EmitOpCode(ILOpCode.Ldarg_0); 1026_builder.EmitOpCode(ILOpCode.Ldelem_i1); 1031_builder.EmitOpCode(ILOpCode.Ldelem_u1); 1035_builder.EmitOpCode(ILOpCode.Ldelem_i2); 1040_builder.EmitOpCode(ILOpCode.Ldelem_u2); 1044_builder.EmitOpCode(ILOpCode.Ldelem_i4); 1048_builder.EmitOpCode(ILOpCode.Ldelem_u4); 1053_builder.EmitOpCode(ILOpCode.Ldelem_i8); 1060_builder.EmitOpCode(ILOpCode.Ldelem_i); 1064_builder.EmitOpCode(ILOpCode.Ldelem_r4); 1068_builder.EmitOpCode(ILOpCode.Ldelem_r8); 1074_builder.EmitOpCode(ILOpCode.Ldelem_ref); 1080_builder.EmitOpCode(ILOpCode.Ldelem); 1088_builder.EmitOpCode(ILOpCode.Readonly); 1091_builder.EmitOpCode(ILOpCode.Ldelema); 1115_builder.EmitOpCode(ILOpCode.Pop); 1162_builder.EmitOpCode(ILOpCode.Volatile); 1164_builder.EmitOpCode(ILOpCode.Ldsfld); 1188_builder.EmitOpCode(ILOpCode.Volatile); 1191_builder.EmitOpCode(ILOpCode.Ldfld); 1237_builder.EmitOpCode(ILOpCode.Unbox); 1251_builder.EmitOpCode(ILOpCode.Ldflda); 1442_builder.EmitOpCode(ILOpCode.Ldind_i1); 1447_builder.EmitOpCode(ILOpCode.Ldind_u1); 1451_builder.EmitOpCode(ILOpCode.Ldind_i2); 1456_builder.EmitOpCode(ILOpCode.Ldind_u2); 1460_builder.EmitOpCode(ILOpCode.Ldind_i4); 1464_builder.EmitOpCode(ILOpCode.Ldind_u4); 1469_builder.EmitOpCode(ILOpCode.Ldind_i8); 1476_builder.EmitOpCode(ILOpCode.Ldind_i); 1480_builder.EmitOpCode(ILOpCode.Ldind_r4); 1484_builder.EmitOpCode(ILOpCode.Ldind_r8); 1490_builder.EmitOpCode(ILOpCode.Ldind_ref); 1494_builder.EmitOpCode(ILOpCode.Ldobj); 1649_builder.EmitOpCode(ILOpCode.Initobj); // initobj <MyStruct> 1673_builder.EmitOpCode(ILOpCode.Constrained); 1677_builder.EmitOpCode(ILOpCode.Call, stackBehavior); 1999_builder.EmitOpCode(ILOpCode.Call, stackBehavior); 2003_builder.EmitOpCode(ILOpCode.Callvirt, stackBehavior); 2007_builder.EmitOpCode(ILOpCode.Constrained); 2009_builder.EmitOpCode(ILOpCode.Callvirt, stackBehavior); 2054_builder.EmitBranch(ILOpCode.Brtrue, whenNotNullLabel); 2330_builder.EmitOpCode(ILOpCode.Conv_ovf_i); 2334_builder.EmitOpCode(ILOpCode.Conv_ovf_i_un); 2353_builder.EmitOpCode(ILOpCode.Ldlen); 2380_builder.EmitOpCode(ILOpCode.Newarr); 2452_builder.EmitOpCode(ILOpCode.Newobj, stackAdjustment); 2677_builder.EmitOpCode(ILOpCode.Initobj); // initobj <MyStruct> 2710_builder.EmitOpCode(ILOpCode.Call, stackAdjustment); 3027_builder.EmitOpCode(ILOpCode.Dup); 3191_builder.EmitOpCode(ILOpCode.Stobj); 3225_builder.EmitOpCode(ILOpCode.Stelem_i1); 3231_builder.EmitOpCode(ILOpCode.Stelem_i2); 3236_builder.EmitOpCode(ILOpCode.Stelem_i4); 3241_builder.EmitOpCode(ILOpCode.Stelem_i8); 3248_builder.EmitOpCode(ILOpCode.Stelem_i); 3252_builder.EmitOpCode(ILOpCode.Stelem_r4); 3256_builder.EmitOpCode(ILOpCode.Stelem_r8); 3262_builder.EmitOpCode(ILOpCode.Stelem_ref); 3266_builder.EmitOpCode(ILOpCode.Stelem); 3279_builder.EmitOpCode(ILOpCode.Volatile); 3290_builder.EmitOpCode(field.IsStatic ? ILOpCode.Stsfld : ILOpCode.Stfld); 3323_builder.EmitOpCode(ILOpCode.Stind_i1); 3329_builder.EmitOpCode(ILOpCode.Stind_i2); 3334_builder.EmitOpCode(ILOpCode.Stind_i4); 3339_builder.EmitOpCode(ILOpCode.Stind_i8); 3346_builder.EmitOpCode(ILOpCode.Stind_i); 3350_builder.EmitOpCode(ILOpCode.Stind_r4); 3354_builder.EmitOpCode(ILOpCode.Stind_r8); 3360_builder.EmitOpCode(ILOpCode.Stind_ref); 3364_builder.EmitOpCode(ILOpCode.Stobj); 3375_builder.EmitOpCode(ILOpCode.Pop); 3391_builder.EmitOpCode(ILOpCode.Isinst); 3396_builder.EmitOpCode(ILOpCode.Ldnull); 3397_builder.EmitOpCode(ILOpCode.Cgt_un); 3420_builder.EmitOpCode(ILOpCode.Isinst); 3425_builder.EmitOpCode(ILOpCode.Unbox_any); 3449_builder.EmitOpCode(ILOpCode.Ldc_i4_0); 3450_builder.EmitOpCode(ILOpCode.Conv_u); 3454_builder.EmitOpCode(ILOpCode.Ldc_i4_0); 3455_builder.EmitOpCode(ILOpCode.Conv_i); 3497_builder.EmitOpCode(ILOpCode.Initobj); // initobj <MyStruct> 3506_builder.EmitOpCode(ILOpCode.Call, stackAdjustment: 0); //argument off, return value on 3515_builder.EmitOpCode(ILOpCode.Ldtoken); 3523_builder.EmitOpCode(ILOpCode.Sizeof); 3531_builder.EmitOpCode(ILOpCode.Ldtoken); 3578_builder.EmitOpCode(ILOpCode.Ldtoken); 3585_builder.EmitOpCode(ILOpCode.Ldtoken); 3591_builder.EmitOpCode(ILOpCode.Ldsfld); 3597_builder.EmitOpCode(ILOpCode.Stsfld); 3613_builder.EmitOpCode(ILOpCode.Ldsflda); 3624_builder.EmitOpCode(ILOpCode.Call, -1); 3635_builder.EmitOpCode(ILOpCode.Ldsfld); 3644_builder.EmitOpCode(ILOpCode.Ldstr); 3650_builder.EmitOpCode(ILOpCode.Ldsfld); 3656_builder.EmitOpCode(ILOpCode.Stsfld); 3668_builder.EmitOpCode(ILOpCode.Ldtoken); 3674_builder.EmitOpCode(ILOpCode.Ldtoken); 3682_builder.EmitOpCode(ILOpCode.Call, stackAdjustment: 0); //argument off, return value on 3687_builder.EmitOpCode(ILOpCode.Ldtoken); 3689_builder.EmitOpCode(ILOpCode.Call, stackAdjustment: -1); //2 arguments off, return value on 3695_builder.EmitOpCode(ILOpCode.Castclass); 3702_builder.EmitOpCode(ILOpCode.Ldtoken); 3709_builder.EmitOpCode(ILOpCode.Call, stackAdjustment: 0); //argument off, return value on 3714_builder.EmitOpCode(ILOpCode.Ldtoken); 3716_builder.EmitOpCode(ILOpCode.Call, stackAdjustment: -1); //2 arguments off, return value on 3722_builder.EmitOpCode(ILOpCode.Castclass); 3799_builder.EmitBranch(ILOpCode.Br, doneLabel); 3859_builder.EmitOpCode(ILOpCode.Dup); 3868_builder.EmitBranch(ILOpCode.Brtrue, ifLeftNotNullLabel); 3872_builder.EmitOpCode(ILOpCode.Pop); 4010_builder.EmitOpCode(ILOpCode.Box); 4039_builder.EmitOpCode(ILOpCode.Calli, stackBehavior); 4085_builder.EmitOpCode(ILOpCode.Nop); 4111_builder.EmitOpCode(ILOpCode.Constrained); 4115_builder.EmitOpCode(ILOpCode.Ldftn);
CodeGen\EmitOperators.cs (60)
43_builder.EmitOpCode(ILOpCode.Neg); 47_builder.EmitOpCode(ILOpCode.Not); 180_builder.EmitOpCode(ILOpCode.Mul); 184_builder.EmitOpCode(ILOpCode.Add); 188_builder.EmitOpCode(ILOpCode.Sub); 194_builder.EmitOpCode(ILOpCode.Div_un); 198_builder.EmitOpCode(ILOpCode.Div); 205_builder.EmitOpCode(ILOpCode.Rem_un); 209_builder.EmitOpCode(ILOpCode.Rem); 214_builder.EmitOpCode(ILOpCode.Shl); 220_builder.EmitOpCode(ILOpCode.Shr_un); 224_builder.EmitOpCode(ILOpCode.Shr); 229_builder.EmitOpCode(ILOpCode.Shr_un); 233_builder.EmitOpCode(ILOpCode.And); 237_builder.EmitOpCode(ILOpCode.Xor); 241_builder.EmitOpCode(ILOpCode.Or); 277_builder.EmitBranch(ILOpCode.Br, labEnd); 288private static readonly ILOpCode[] s_compOpCodes = new ILOpCode[] 291ILOpCode.Clt, ILOpCode.Cgt, ILOpCode.Cgt, ILOpCode.Clt, // Signed 292ILOpCode.Clt_un, ILOpCode.Cgt_un, ILOpCode.Cgt_un, ILOpCode.Clt_un, // Unsigned 293ILOpCode.Clt, ILOpCode.Cgt_un, ILOpCode.Cgt, ILOpCode.Clt_un, // Float 333EmitBinaryCondOperatorHelper(ILOpCode.And, binOp.Left, binOp.Right, sense); 339EmitBinaryCondOperatorHelper(ILOpCode.Or, binOp.Left, binOp.Right, sense); 348EmitBinaryCondOperatorHelper(ILOpCode.Xor, binOp.Left, binOp.Right, true); 350EmitBinaryCondOperatorHelper(ILOpCode.Ceq, binOp.Left, binOp.Right, true); 384_builder.EmitBranch(sense ? ILOpCode.Brtrue_s : ILOpCode.Brfalse_s, falseLabel); 386_builder.EmitBranch(ILOpCode.Br, endLabel); 416EmitBinaryCondOperatorHelper(ILOpCode.Ceq, binOp.Left, binOp.Right, sense); 465_builder.EmitOpCode(ILOpCode.Cgt_un); 479_builder.EmitOpCode(ILOpCode.Ceq); 482private void EmitBinaryCondOperatorHelper(ILOpCode opCode, BoundExpression left, BoundExpression right, bool sense) 554_builder.EmitOpCode(ILOpCode.Ldnull); 555_builder.EmitOpCode(sense ? ILOpCode.Cgt_un : ILOpCode.Ceq); 563_builder.EmitOpCode(ILOpCode.Ldc_i4_0); 564_builder.EmitOpCode(sense ? ILOpCode.Cgt_un : ILOpCode.Ceq); 603_builder.EmitOpCode(ILOpCode.Ldc_i4_0); 607_builder.EmitOpCode(ILOpCode.Conv_i8); 611_builder.EmitOpCode(ILOpCode.Conv_i); 615_builder.EmitOpCode(ILOpCode.Sub_ovf); 705_builder.EmitOpCode(ILOpCode.Mul_ovf_un); 709_builder.EmitOpCode(ILOpCode.Mul_ovf); 716_builder.EmitOpCode(ILOpCode.Add_ovf_un); 720_builder.EmitOpCode(ILOpCode.Add_ovf); 727_builder.EmitOpCode(ILOpCode.Sub_ovf_un); 731_builder.EmitOpCode(ILOpCode.Sub_ovf); 758_builder.EmitOpCode(ILOpCode.Ldc_i4_0); 759_builder.EmitOpCode(ILOpCode.Ceq);
CodeGen\EmitStackAllocInitializer.cs (18)
51_builder.EmitOpCode(ILOpCode.Dup); 54_builder.EmitOpCode(ILOpCode.Initblk, -3); 60_builder.EmitOpCode(ILOpCode.Dup); 61_builder.EmitOpCode(ILOpCode.Ldsflda); 65_builder.EmitOpCode(ILOpCode.Cpblk, -3); 78_builder.EmitOpCode(ILOpCode.Dup); 83_builder.EmitOpCode(ILOpCode.Ldtoken); 85_builder.EmitOpCode(ILOpCode.Call, 0); 95_builder.EmitOpCode(ILOpCode.Call, -1); 103_builder.EmitOpCode(ILOpCode.Cpblk, -3); 125_builder.EmitOpCode(ILOpCode.Localloc); 190_builder.EmitOpCode(ILOpCode.Dup); 210_builder.EmitOpCode(ILOpCode.Add); 215_builder.EmitOpCode(ILOpCode.Add); 220_builder.EmitOpCode(ILOpCode.Conv_i); 222_builder.EmitOpCode(ILOpCode.Mul); 223_builder.EmitOpCode(ILOpCode.Add); 231_builder.EmitOpCode(ILOpCode.Sizeof);
CodeGen\EmitStatement.cs (77)
140_builder.EmitOpCode(ILOpCode.Nop); 284private static readonly ILOpCode[] s_condJumpOpCodes = new ILOpCode[] 287ILOpCode.Blt, ILOpCode.Ble, ILOpCode.Bgt, ILOpCode.Bge, // Signed 288ILOpCode.Bge, ILOpCode.Bgt, ILOpCode.Ble, ILOpCode.Blt, // Signed Invert 289ILOpCode.Blt_un, ILOpCode.Ble_un, ILOpCode.Bgt_un, ILOpCode.Bge_un, // Unsigned 290ILOpCode.Bge_un, ILOpCode.Bgt_un, ILOpCode.Ble_un, ILOpCode.Blt_un, // Unsigned Invert 291ILOpCode.Blt, ILOpCode.Ble, ILOpCode.Bgt, ILOpCode.Bge, // Float 292ILOpCode.Bge_un, ILOpCode.Bgt_un, ILOpCode.Ble_un, ILOpCode.Blt_un, // Float Invert 299private static ILOpCode CodeForJump(BoundBinaryOperator op, bool sense, out ILOpCode revOpCode) 306revOpCode = !sense ? ILOpCode.Beq : ILOpCode.Bne_un; 307return sense ? ILOpCode.Beq : ILOpCode.Bne_un; 310revOpCode = !sense ? ILOpCode.Bne_un : ILOpCode.Beq; 311return sense ? ILOpCode.Bne_un : ILOpCode.Beq; 397ILOpCode ilcode; 406_builder.EmitBranch(ILOpCode.Br, dest); 515ILOpCode revOpCode; 595_builder.EmitOpCode(ILOpCode.Isinst); 597ilcode = sense ? ILOpCode.Brtrue : ILOpCode.Brfalse; 616ilcode = sense ? ILOpCode.Brtrue : ILOpCode.Brfalse; 640_builder.EmitBranch(ILOpCode.Br, boundGotoStatement.Label); 765_builder.EmitBranch(ILOpCode.Br, s_returnLabel); 890_builder.EmitBranch(ILOpCode.Br, s_returnLabel); 1098_builder.EmitOpCode(ILOpCode.Isinst); 1100_builder.EmitOpCode(ILOpCode.Dup); 1101_builder.EmitBranch(ILOpCode.Brtrue, typeCheckPassedLabel); 1102_builder.EmitOpCode(ILOpCode.Pop); 1104_builder.EmitBranch(ILOpCode.Br, typeCheckFailedLabel); 1130_builder.EmitOpCode(ILOpCode.Unbox_any); 1187_builder.EmitOpCode(ILOpCode.Pop); 1204_builder.EmitOpCode(ILOpCode.Cgt_un); 1212_builder.EmitOpCode(ILOpCode.Pop); 1389_builder.EmitBranch(ILOpCode.Brfalse, lengthBasedSwitchInfo.LengthBasedJumpTable.NullCaseLabel ?? fallThroughLabel, ILOpCode.Brtrue); 1403_builder.EmitOpCode(ILOpCode.Call, stackAdjustment: 0); 1436_builder.EmitOpCode(ILOpCode.Call, stackAdjustment: -1); 1440_builder.EmitOpCode(ILOpCode.Ldind_u2); 1515_builder.EmitOpCode(ILOpCode.Call, stackAdjustment: 0); 1565_builder.EmitBranch(ILOpCode.Brfalse, targetLabel, ILOpCode.Brtrue); 1581_builder.EmitBranch(ILOpCode.Brfalse, skipToNext, ILOpCode.Brtrue); 1587_builder.EmitOpCode(ILOpCode.Call, 0); 1593_builder.EmitBranch(ILOpCode.Brfalse, targetLabel, ILOpCode.Brtrue); 1706_builder.EmitOpCode(ILOpCode.Call, stackAdjustment: -1); 1710_builder.EmitBranch(ILOpCode.Brtrue, targetLabel, ILOpCode.Brfalse); 1733_builder.EmitOpCode(ILOpCode.Call, stackAdjustment: 0); 1735_builder.EmitOpCode(ILOpCode.Call, stackAdjustment: -1); 1739_builder.EmitBranch(ILOpCode.Brtrue, targetLabel, ILOpCode.Brfalse);
Compilation\CSharpCompilation.cs (1)
3642ilBuilder.EmitOpCode(ILOpCode.Call, stackAdjustment: 0);
Microsoft.CodeAnalysis.CSharp.Emit.UnitTests (2)
CodeGen\CodeGenFunctionPointersTests.cs (2)
12653il.OpCode(ILOpCode.Ret); 12670il.OpCode(ILOpCode.Ret);
Microsoft.CodeAnalysis.Test.Utilities (222)
Metadata\ILBuilderVisualizer.cs (220)
215if (block.BranchCode != ILOpCode.Nop) 271private static string GetInstructionName(ILOpCode opcode) 275case ILOpCode.Nop: return "nop"; 276case ILOpCode.Break: return "break"; 277case ILOpCode.Ldarg_0: return "ldarg.0"; 278case ILOpCode.Ldarg_1: return "ldarg.1"; 279case ILOpCode.Ldarg_2: return "ldarg.2"; 280case ILOpCode.Ldarg_3: return "ldarg.3"; 281case ILOpCode.Ldloc_0: return "ldloc.0"; 282case ILOpCode.Ldloc_1: return "ldloc.1"; 283case ILOpCode.Ldloc_2: return "ldloc.2"; 284case ILOpCode.Ldloc_3: return "ldloc.3"; 285case ILOpCode.Stloc_0: return "stloc.0"; 286case ILOpCode.Stloc_1: return "stloc.1"; 287case ILOpCode.Stloc_2: return "stloc.2"; 288case ILOpCode.Stloc_3: return "stloc.3"; 289case ILOpCode.Ldarg_s: return "ldarg.s"; 290case ILOpCode.Ldarga_s: return "ldarga.s"; 291case ILOpCode.Starg_s: return "starg.s"; 292case ILOpCode.Ldloc_s: return "ldloc.s"; 293case ILOpCode.Ldloca_s: return "ldloca.s"; 294case ILOpCode.Stloc_s: return "stloc.s"; 295case ILOpCode.Ldnull: return "ldnull"; 296case ILOpCode.Ldc_i4_m1: return "ldc.i4.m1"; 297case ILOpCode.Ldc_i4_0: return "ldc.i4.0"; 298case ILOpCode.Ldc_i4_1: return "ldc.i4.1"; 299case ILOpCode.Ldc_i4_2: return "ldc.i4.2"; 300case ILOpCode.Ldc_i4_3: return "ldc.i4.3"; 301case ILOpCode.Ldc_i4_4: return "ldc.i4.4"; 302case ILOpCode.Ldc_i4_5: return "ldc.i4.5"; 303case ILOpCode.Ldc_i4_6: return "ldc.i4.6"; 304case ILOpCode.Ldc_i4_7: return "ldc.i4.7"; 305case ILOpCode.Ldc_i4_8: return "ldc.i4.8"; 306case ILOpCode.Ldc_i4_s: return "ldc.i4.s"; 307case ILOpCode.Ldc_i4: return "ldc.i4"; 308case ILOpCode.Ldc_i8: return "ldc.i8"; 309case ILOpCode.Ldc_r4: return "ldc.r4"; 310case ILOpCode.Ldc_r8: return "ldc.r8"; 311case ILOpCode.Dup: return "dup"; 312case ILOpCode.Pop: return "pop"; 313case ILOpCode.Jmp: return "jmp"; 314case ILOpCode.Call: return "call"; 315case ILOpCode.Calli: return "calli"; 316case ILOpCode.Ret: return "ret"; 317case ILOpCode.Br_s: return "br.s"; 318case ILOpCode.Brfalse_s: return "brfalse.s"; 319case ILOpCode.Brtrue_s: return "brtrue.s"; 320case ILOpCode.Beq_s: return "beq.s"; 321case ILOpCode.Bge_s: return "bge.s"; 322case ILOpCode.Bgt_s: return "bgt.s"; 323case ILOpCode.Ble_s: return "ble.s"; 324case ILOpCode.Blt_s: return "blt.s"; 325case ILOpCode.Bne_un_s: return "bne.un.s"; 326case ILOpCode.Bge_un_s: return "bge.un.s"; 327case ILOpCode.Bgt_un_s: return "bgt.un.s"; 328case ILOpCode.Ble_un_s: return "ble.un.s"; 329case ILOpCode.Blt_un_s: return "blt.un.s"; 330case ILOpCode.Br: return "br"; 331case ILOpCode.Brfalse: return "brfalse"; 332case ILOpCode.Brtrue: return "brtrue"; 333case ILOpCode.Beq: return "beq"; 334case ILOpCode.Bge: return "bge"; 335case ILOpCode.Bgt: return "bgt"; 336case ILOpCode.Ble: return "ble"; 337case ILOpCode.Blt: return "blt"; 338case ILOpCode.Bne_un: return "bne.un"; 339case ILOpCode.Bge_un: return "bge.un"; 340case ILOpCode.Bgt_un: return "bgt.un"; 341case ILOpCode.Ble_un: return "ble.un"; 342case ILOpCode.Blt_un: return "blt.un"; 343case ILOpCode.Switch: return "switch"; 344case ILOpCode.Ldind_i1: return "ldind.i1"; 345case ILOpCode.Ldind_u1: return "ldind.u1"; 346case ILOpCode.Ldind_i2: return "ldind.i2"; 347case ILOpCode.Ldind_u2: return "ldind.u2"; 348case ILOpCode.Ldind_i4: return "ldind.i4"; 349case ILOpCode.Ldind_u4: return "ldind.u4"; 350case ILOpCode.Ldind_i8: return "ldind.i8"; 351case ILOpCode.Ldind_i: return "ldind.i"; 352case ILOpCode.Ldind_r4: return "ldind.r4"; 353case ILOpCode.Ldind_r8: return "ldind.r8"; 354case ILOpCode.Ldind_ref: return "ldind.ref"; 355case ILOpCode.Stind_ref: return "stind.ref"; 356case ILOpCode.Stind_i1: return "stind.i1"; 357case ILOpCode.Stind_i2: return "stind.i2"; 358case ILOpCode.Stind_i4: return "stind.i4"; 359case ILOpCode.Stind_i8: return "stind.i8"; 360case ILOpCode.Stind_r4: return "stind.r4"; 361case ILOpCode.Stind_r8: return "stind.r8"; 362case ILOpCode.Add: return "add"; 363case ILOpCode.Sub: return "sub"; 364case ILOpCode.Mul: return "mul"; 365case ILOpCode.Div: return "div"; 366case ILOpCode.Div_un: return "div.un"; 367case ILOpCode.Rem: return "rem"; 368case ILOpCode.Rem_un: return "rem.un"; 369case ILOpCode.And: return "and"; 370case ILOpCode.Or: return "or"; 371case ILOpCode.Xor: return "xor"; 372case ILOpCode.Shl: return "shl"; 373case ILOpCode.Shr: return "shr"; 374case ILOpCode.Shr_un: return "shr.un"; 375case ILOpCode.Neg: return "neg"; 376case ILOpCode.Not: return "not"; 377case ILOpCode.Conv_i1: return "conv.i1"; 378case ILOpCode.Conv_i2: return "conv.i2"; 379case ILOpCode.Conv_i4: return "conv.i4"; 380case ILOpCode.Conv_i8: return "conv.i8"; 381case ILOpCode.Conv_r4: return "conv.r4"; 382case ILOpCode.Conv_r8: return "conv.r8"; 383case ILOpCode.Conv_u4: return "conv.u4"; 384case ILOpCode.Conv_u8: return "conv.u8"; 385case ILOpCode.Callvirt: return "callvirt"; 386case ILOpCode.Cpobj: return "cpobj"; 387case ILOpCode.Ldobj: return "ldobj"; 388case ILOpCode.Ldstr: return "ldstr"; 389case ILOpCode.Newobj: return "newobj"; 390case ILOpCode.Castclass: return "castclass"; 391case ILOpCode.Isinst: return "isinst"; 392case ILOpCode.Conv_r_un: return "conv.r.un"; 393case ILOpCode.Unbox: return "unbox"; 394case ILOpCode.Throw: return "throw"; 395case ILOpCode.Ldfld: return "ldfld"; 396case ILOpCode.Ldflda: return "ldflda"; 397case ILOpCode.Stfld: return "stfld"; 398case ILOpCode.Ldsfld: return "ldsfld"; 399case ILOpCode.Ldsflda: return "ldsflda"; 400case ILOpCode.Stsfld: return "stsfld"; 401case ILOpCode.Stobj: return "stobj"; 402case ILOpCode.Conv_ovf_i1_un: return "conv.ovf.i1.un"; 403case ILOpCode.Conv_ovf_i2_un: return "conv.ovf.i2.un"; 404case ILOpCode.Conv_ovf_i4_un: return "conv.ovf.i4.un"; 405case ILOpCode.Conv_ovf_i8_un: return "conv.ovf.i8.un"; 406case ILOpCode.Conv_ovf_u1_un: return "conv.ovf.u1.un"; 407case ILOpCode.Conv_ovf_u2_un: return "conv.ovf.u2.un"; 408case ILOpCode.Conv_ovf_u4_un: return "conv.ovf.u4.un"; 409case ILOpCode.Conv_ovf_u8_un: return "conv.ovf.u8.un"; 410case ILOpCode.Conv_ovf_i_un: return "conv.ovf.i.un"; 411case ILOpCode.Conv_ovf_u_un: return "conv.ovf.u.un"; 412case ILOpCode.Box: return "box"; 413case ILOpCode.Newarr: return "newarr"; 414case ILOpCode.Ldlen: return "ldlen"; 415case ILOpCode.Ldelema: return "ldelema"; 416case ILOpCode.Ldelem_i1: return "ldelem.i1"; 417case ILOpCode.Ldelem_u1: return "ldelem.u1"; 418case ILOpCode.Ldelem_i2: return "ldelem.i2"; 419case ILOpCode.Ldelem_u2: return "ldelem.u2"; 420case ILOpCode.Ldelem_i4: return "ldelem.i4"; 421case ILOpCode.Ldelem_u4: return "ldelem.u4"; 422case ILOpCode.Ldelem_i8: return "ldelem.i8"; 423case ILOpCode.Ldelem_i: return "ldelem.i"; 424case ILOpCode.Ldelem_r4: return "ldelem.r4"; 425case ILOpCode.Ldelem_r8: return "ldelem.r8"; 426case ILOpCode.Ldelem_ref: return "ldelem.ref"; 427case ILOpCode.Stelem_i: return "stelem.i"; 428case ILOpCode.Stelem_i1: return "stelem.i1"; 429case ILOpCode.Stelem_i2: return "stelem.i2"; 430case ILOpCode.Stelem_i4: return "stelem.i4"; 431case ILOpCode.Stelem_i8: return "stelem.i8"; 432case ILOpCode.Stelem_r4: return "stelem.r4"; 433case ILOpCode.Stelem_r8: return "stelem.r8"; 434case ILOpCode.Stelem_ref: return "stelem.ref"; 435case ILOpCode.Ldelem: return "ldelem"; 436case ILOpCode.Stelem: return "stelem"; 437case ILOpCode.Unbox_any: return "unbox.any"; 438case ILOpCode.Conv_ovf_i1: return "conv.ovf.i1"; 439case ILOpCode.Conv_ovf_u1: return "conv.ovf.u1"; 440case ILOpCode.Conv_ovf_i2: return "conv.ovf.i2"; 441case ILOpCode.Conv_ovf_u2: return "conv.ovf.u2"; 442case ILOpCode.Conv_ovf_i4: return "conv.ovf.i4"; 443case ILOpCode.Conv_ovf_u4: return "conv.ovf.u4"; 444case ILOpCode.Conv_ovf_i8: return "conv.ovf.i8"; 445case ILOpCode.Conv_ovf_u8: return "conv.ovf.u8"; 446case ILOpCode.Refanyval: return "refanyval"; 447case ILOpCode.Ckfinite: return "ckfinite"; 448case ILOpCode.Mkrefany: return "mkrefany"; 449case ILOpCode.Ldtoken: return "ldtoken"; 450case ILOpCode.Conv_u2: return "conv.u2"; 451case ILOpCode.Conv_u1: return "conv.u1"; 452case ILOpCode.Conv_i: return "conv.i"; 453case ILOpCode.Conv_ovf_i: return "conv.ovf.i"; 454case ILOpCode.Conv_ovf_u: return "conv.ovf.u"; 455case ILOpCode.Add_ovf: return "add.ovf"; 456case ILOpCode.Add_ovf_un: return "add.ovf.un"; 457case ILOpCode.Mul_ovf: return "mul.ovf"; 458case ILOpCode.Mul_ovf_un: return "mul.ovf.un"; 459case ILOpCode.Sub_ovf: return "sub.ovf"; 460case ILOpCode.Sub_ovf_un: return "sub.ovf.un"; 461case ILOpCode.Endfinally: return "endfinally"; 462case ILOpCode.Leave: return "leave"; 463case ILOpCode.Leave_s: return "leave.s"; 464case ILOpCode.Stind_i: return "stind.i"; 465case ILOpCode.Conv_u: return "conv.u"; 466case ILOpCode.Arglist: return "arglist"; 467case ILOpCode.Ceq: return "ceq"; 468case ILOpCode.Cgt: return "cgt"; 469case ILOpCode.Cgt_un: return "cgt.un"; 470case ILOpCode.Clt: return "clt"; 471case ILOpCode.Clt_un: return "clt.un"; 472case ILOpCode.Ldftn: return "ldftn"; 473case ILOpCode.Ldvirtftn: return "ldvirtftn"; 474case ILOpCode.Ldarg: return "ldarg"; 475case ILOpCode.Ldarga: return "ldarga"; 476case ILOpCode.Starg: return "starg"; 477case ILOpCode.Ldloc: return "ldloc"; 478case ILOpCode.Ldloca: return "ldloca"; 479case ILOpCode.Stloc: return "stloc"; 480case ILOpCode.Localloc: return "localloc"; 481case ILOpCode.Endfilter: return "endfilter"; 482case ILOpCode.Unaligned: return "unaligned."; 483case ILOpCode.Volatile: return "volatile."; 484case ILOpCode.Tail: return "tail."; 485case ILOpCode.Initobj: return "initobj"; 486case ILOpCode.Constrained: return "constrained."; 487case ILOpCode.Cpblk: return "cpblk"; 488case ILOpCode.Initblk: return "initblk"; 489case ILOpCode.Rethrow: return "rethrow"; 490case ILOpCode.Sizeof: return "sizeof"; 491case ILOpCode.Refanytype: return "refanytype"; 492case ILOpCode.Readonly: return "readonly.";
Metadata\MetadataReaderUtils.cs (2)
503static readonly byte[] ThrowNull = new[] { (byte)ILOpCode.Ldnull, (byte)ILOpCode.Throw };
Microsoft.CodeAnalysis.VisualBasic (287)
CodeGen\CodeGenerator.vb (2)
253_builder.EmitOpCode(ILOpCode.Nop) 272_builder.EmitOpCode(ILOpCode.Nop)
CodeGen\EmitAddress.vb (7)
66_builder.EmitOpCode(ILOpCode.Dup) 92_builder.EmitOpCode(ILOpCode.Ldarg_0) 95_builder.EmitOpCode(ILOpCode.Ldarg_0) 414_builder.EmitOpCode(ILOpCode.Readonly) 418_builder.EmitOpCode(ILOpCode.Ldelema) 437_builder.EmitOpCode(ILOpCode.Ldsflda) 511_builder.EmitOpCode(ILOpCode.Ldflda)
CodeGen\EmitArrayInitializer.vb (2)
70_builder.EmitOpCode(ILOpCode.Dup) 157_builder.EmitOpCode(ILOpCode.Dup)
CodeGen\EmitConversion.vb (22)
82_builder.EmitOpCode(ILOpCode.Ceq) 83_builder.EmitOpCode(ILOpCode.Ldc_i4_0) 84_builder.EmitOpCode(ILOpCode.Ceq) 86_builder.EmitOpCode(ILOpCode.Cgt_un) 95_builder.EmitOpCode(ILOpCode.Ldc_i4_0) 96_builder.EmitOpCode(ILOpCode.Cgt_un) 97_builder.EmitOpCode(ILOpCode.Neg) 126_builder.EmitOpCode(ILOpCode.Conv_r4) 134_builder.EmitOpCode(ILOpCode.Conv_r4) 181_builder.EmitOpCode(ILOpCode.Castclass) 216_builder.EmitOpCode(ILOpCode.Dup) 217_builder.EmitBranch(ILOpCode.Brtrue_s, unboxLabel) 223_builder.EmitOpCode(ILOpCode.Pop) 240_builder.EmitBranch(ILOpCode.Br_s, resultLabel) 245_builder.EmitOpCode(ILOpCode.Unbox_any) 339_builder.EmitOpCode(ILOpCode.Unbox_any) 344_builder.EmitOpCode(ILOpCode.Castclass) 364_builder.EmitOpCode(ILOpCode.Unbox_any) 376_builder.EmitOpCode(ILOpCode.Castclass) 419_builder.EmitOpCode(ILOpCode.Castclass) 498_builder.EmitOpCode(ILOpCode.Isinst) 502_builder.EmitOpCode(ILOpCode.Unbox_any)
CodeGen\EmitExpression.vb (118)
134_builder.EmitOpCode(ILOpCode.Ldarg_0) 235_builder.EmitBranch(ILOpCode.Brtrue, whenValueTypeLabel) 238_builder.EmitBranch(ILOpCode.Br, doneLabel) 268_builder.EmitBranch(ILOpCode.Br, doneLabel) 322_builder.EmitBranch(ILOpCode.Brtrue, whenNotNullLabel) 337_builder.EmitOpCode(ILOpCode.Dup) 342_builder.EmitOpCode(ILOpCode.Dup) 355_builder.EmitBranch(ILOpCode.Brtrue, whenNotNullLabel) 358_builder.EmitOpCode(ILOpCode.Pop) 367_builder.EmitBranch(ILOpCode.Br, doneLabel) 413_builder.EmitBranch(ILOpCode.Brtrue, whenValueTypeLabel) 417_builder.EmitBranch(ILOpCode.Br, doneLabel) 473_builder.EmitOpCode(ILOpCode.Dup) 474_builder.EmitOpCode(ILOpCode.Ldvirtftn) 476_builder.EmitOpCode(ILOpCode.Ldftn) 490_builder.EmitOpCode(ILOpCode.Newobj, -1) 500_builder.EmitOpCode(ILOpCode.Ldarg_0) 502_builder.EmitOpCode(ILOpCode.Ldobj) 577_builder.EmitOpCode(ILOpCode.Ldelem_i1) 581_builder.EmitOpCode(ILOpCode.Ldelem_u1) 584_builder.EmitOpCode(ILOpCode.Ldelem_i2) 588_builder.EmitOpCode(ILOpCode.Ldelem_u2) 591_builder.EmitOpCode(ILOpCode.Ldelem_i4) 594_builder.EmitOpCode(ILOpCode.Ldelem_u4) 598_builder.EmitOpCode(ILOpCode.Ldelem_i8) 603_builder.EmitOpCode(ILOpCode.Ldelem_i) 606_builder.EmitOpCode(ILOpCode.Ldelem_r4) 609_builder.EmitOpCode(ILOpCode.Ldelem_r8) 613_builder.EmitOpCode(ILOpCode.Ldelem_ref) 616_builder.EmitOpCode(ILOpCode.Ldelem) 621_builder.EmitOpCode(ILOpCode.Readonly) 624_builder.EmitOpCode(ILOpCode.Ldelema) 664_builder.EmitOpCode(ILOpCode.Dup) 668_builder.EmitOpCode(ILOpCode.Dup) 678_builder.EmitOpCode(ILOpCode.Ldsfld) 702_builder.EmitOpCode(ILOpCode.Ldfld) 727Me._builder.EmitOpCode(ILOpCode.Unbox) 736Me._builder.EmitOpCode(ILOpCode.Ldflda) 823_builder.EmitOpCode(ILOpCode.Ldind_i1) 827_builder.EmitOpCode(ILOpCode.Ldind_u1) 830_builder.EmitOpCode(ILOpCode.Ldind_i2) 834_builder.EmitOpCode(ILOpCode.Ldind_u2) 837_builder.EmitOpCode(ILOpCode.Ldind_i4) 840_builder.EmitOpCode(ILOpCode.Ldind_u4) 844_builder.EmitOpCode(ILOpCode.Ldind_i8) 849_builder.EmitOpCode(ILOpCode.Ldind_i) 852_builder.EmitOpCode(ILOpCode.Ldind_r4) 855_builder.EmitOpCode(ILOpCode.Ldind_r8) 859_builder.EmitOpCode(ILOpCode.Ldind_ref) 861_builder.EmitOpCode(ILOpCode.Ldobj) 1085_builder.EmitOpCode(ILOpCode.Call, stackBehavior) 1088_builder.EmitOpCode(ILOpCode.Callvirt, stackBehavior) 1091_builder.EmitOpCode(ILOpCode.Constrained) 1093_builder.EmitOpCode(ILOpCode.Callvirt, stackBehavior) 1128_builder.EmitOpCode(ILOpCode.Nop) 1223_builder.EmitBranch(ILOpCode.Brtrue, whenNotNullLabel) 1322_builder.EmitOpCode(ILOpCode.Isinst) 1328_builder.EmitOpCode(ILOpCode.Ldnull) 1331_builder.EmitOpCode(ILOpCode.Ceq) 1333_builder.EmitOpCode(ILOpCode.Cgt_un) 1409_builder.EmitBranch(ILOpCode.Br, doneLabel) 1459_builder.EmitOpCode(ILOpCode.Dup) 1467_builder.EmitBranch(ILOpCode.Brtrue, ifLeftNotNullLabel) 1470_builder.EmitOpCode(ILOpCode.Pop) 1609_builder.EmitOpCode(ILOpCode.Newarr) 1626_builder.EmitOpCode(ILOpCode.Ldlen) 1656_builder.EmitOpCode(ILOpCode.Initobj) ' initobj <MyStruct> 1672_builder.EmitOpCode(ILOpCode.Newobj, ILOpCode.Newobj.StackPushCount() - arguments.Length) 1705_builder.EmitOpCode(ILOpCode.Initobj) 1840Me._builder.EmitOpCode(ILOpCode.Initobj) ' initobj <MyStruct> 1858Me._builder.EmitOpCode(ILOpCode.[Call], -stackAdjustment) 1977Me._builder.EmitOpCode(ILOpCode.Dup) 2001_builder.EmitOpCode(ILOpCode.Dup) 2081_builder.EmitOpCode(ILOpCode.Stobj) 2108_builder.EmitOpCode(ILOpCode.Stelem_i1) 2113_builder.EmitOpCode(ILOpCode.Stelem_i2) 2117_builder.EmitOpCode(ILOpCode.Stelem_i4) 2121_builder.EmitOpCode(ILOpCode.Stelem_i8) 2126_builder.EmitOpCode(ILOpCode.Stelem_i) 2129_builder.EmitOpCode(ILOpCode.Stelem_r4) 2132_builder.EmitOpCode(ILOpCode.Stelem_r8) 2136_builder.EmitOpCode(ILOpCode.Stelem_ref) 2138_builder.EmitOpCode(ILOpCode.Stelem) 2149_builder.EmitOpCode(ILOpCode.Stsfld) 2151_builder.EmitOpCode(ILOpCode.Stfld) 2178_builder.EmitOpCode(ILOpCode.Stind_i1) 2183_builder.EmitOpCode(ILOpCode.Stind_i2) 2187_builder.EmitOpCode(ILOpCode.Stind_i4) 2191_builder.EmitOpCode(ILOpCode.Stind_i8) 2196_builder.EmitOpCode(ILOpCode.Stind_i) 2199_builder.EmitOpCode(ILOpCode.Stind_r4) 2202_builder.EmitOpCode(ILOpCode.Stind_r8) 2206_builder.EmitOpCode(ILOpCode.Stind_ref) 2208_builder.EmitOpCode(ILOpCode.Stobj) 2217_builder.EmitOpCode(ILOpCode.Pop) 2226_builder.EmitOpCode(ILOpCode.Ldtoken) 2229_builder.EmitOpCode(ILOpCode.Call, stackAdjustment:=0) 'argument off, return value on 2237_builder.EmitOpCode(ILOpCode.Ldtoken) 2243_builder.EmitOpCode(ILOpCode.Call, stackAdjustment:=0) ' argument off, return value on 2246_builder.EmitOpCode(ILOpCode.Ldtoken) 2248_builder.EmitOpCode(ILOpCode.Call, stackAdjustment:=-1) ' 2 arguments off, return value on 2255_builder.EmitOpCode(ILOpCode.Castclass) 2269_builder.EmitOpCode(ILOpCode.Ldtoken) 2274_builder.EmitOpCode(ILOpCode.Call, stackAdjustment:=0) ' argument off, return value on 2279_builder.EmitOpCode(ILOpCode.Ldtoken) 2281_builder.EmitOpCode(ILOpCode.Call, stackAdjustment:=-1) ' 2 arguments off, return value on 2286_builder.EmitOpCode(ILOpCode.Castclass) 2294_builder.EmitOpCode(ILOpCode.Box) 2299_builder.EmitOpCode(ILOpCode.Unbox_any) 2306_builder.EmitOpCode(ILOpCode.Ldtoken) 2322_builder.EmitOpCode(ILOpCode.Ldtoken) 2327_builder.EmitOpCode(ILOpCode.Ldsfld) 2332_builder.EmitOpCode(ILOpCode.Stsfld) 2341_builder.EmitOpCode(ILOpCode.Ldstr) 2346_builder.EmitOpCode(ILOpCode.Ldsfld) 2351_builder.EmitOpCode(ILOpCode.Stsfld) 2361_builder.EmitOpCode(ILOpCode.Ldtoken)
CodeGen\EmitOperators.vb (60)
34_builder.EmitOpCode(ILOpCode.Ldc_i4_0) 37_builder.EmitOpCode(ILOpCode.Conv_i8) 44_builder.EmitOpCode(ILOpCode.Sub_ovf) 46_builder.EmitOpCode(ILOpCode.Neg) 61_builder.EmitOpCode(ILOpCode.Not) 197_builder.EmitOpCode(ILOpCode.And) 200_builder.EmitOpCode(ILOpCode.Xor) 203_builder.EmitOpCode(ILOpCode.Or) 220_builder.EmitOpCode(ILOpCode.And) 225_builder.EmitOpCode(ILOpCode.Xor) 230_builder.EmitOpCode(ILOpCode.Or) 273_builder.EmitOpCode(ILOpCode.Mul_ovf) 277_builder.EmitOpCode(ILOpCode.Mul_ovf_un) 279_builder.EmitOpCode(ILOpCode.Mul) 284_builder.EmitOpCode(ILOpCode.Rem_un) 286_builder.EmitOpCode(ILOpCode.[Rem]) 292_builder.EmitOpCode(ILOpCode.Add_ovf) 296_builder.EmitOpCode(ILOpCode.Add_ovf_un) 298_builder.EmitOpCode(ILOpCode.Add) 304_builder.EmitOpCode(ILOpCode.Sub_ovf) 308_builder.EmitOpCode(ILOpCode.Sub_ovf_un) 310_builder.EmitOpCode(ILOpCode.Sub) 317_builder.EmitOpCode(ILOpCode.Div_un) 319_builder.EmitOpCode(ILOpCode.Div) 331_builder.EmitOpCode(ILOpCode.And) 334_builder.EmitOpCode(ILOpCode.Shl) 346_builder.EmitOpCode(ILOpCode.And) 350_builder.EmitOpCode(ILOpCode.Shr_un) 352_builder.EmitOpCode(ILOpCode.Shr) 415_builder.EmitBranch(ILOpCode.Br, labEnd) 426Private Shared ReadOnly s_compOpCodes As ILOpCode() = New ILOpCode() {ILOpCode.Clt, ILOpCode.Cgt, ILOpCode.Cgt, ILOpCode.Clt, ILOpCode.Clt_un, ILOpCode.Cgt_un, ILOpCode.Cgt_un, ILOpCode.Clt_un, ILOpCode.Clt, ILOpCode.Cgt_un, ILOpCode.Cgt, ILOpCode.Clt_un} 511EmitBinaryCondOperatorHelper(ILOpCode.Ceq, binOp.Left, binOp.Right, sense) 518EmitBinaryCondOperatorHelper(ILOpCode.Or, binOp.Left, binOp.Right, sense) 525EmitBinaryCondOperatorHelper(ILOpCode.And, binOp.Left, binOp.Right, sense) 534EmitBinaryCondOperatorHelper(ILOpCode.Xor, binOp.Left, binOp.Right, True) 536EmitBinaryCondOperatorHelper(ILOpCode.Ceq, binOp.Left, binOp.Right, True) 583_builder.EmitOpCode(ILOpCode.Cgt_un) 595_builder.EmitOpCode(ILOpCode.Ceq) 598Private Sub EmitBinaryCondOperatorHelper(opCode As ILOpCode, 671_builder.EmitOpCode(ILOpCode.Ldnull) 672_builder.EmitOpCode(If(sense, ILOpCode.Cgt_un, ILOpCode.Ceq)) 678_builder.EmitOpCode(ILOpCode.Ldc_i4_0) 679_builder.EmitOpCode(If(sense, ILOpCode.Cgt_un, ILOpCode.Ceq)) 699_builder.EmitOpCode(ILOpCode.Ldc_i4_0) 700_builder.EmitOpCode(ILOpCode.Ceq)
CodeGen\EmitStatement.vb (76)
93_builder.EmitOpCode(ILOpCode.Nop) 229_builder.EmitOpCode(ILOpCode.Isinst) 231_builder.EmitOpCode(ILOpCode.Ldnull) 232_builder.EmitOpCode(ILOpCode.Cgt_un) 237_builder.EmitOpCode(ILOpCode.Cgt_un) 240_builder.EmitOpCode(ILOpCode.And) 245_builder.EmitOpCode(ILOpCode.Ceq) 248_builder.EmitOpCode(ILOpCode.And) 253_builder.EmitOpCode(ILOpCode.Castclass) 259_builder.EmitOpCode(ILOpCode.Pop) 280_builder.EmitOpCode(ILOpCode.Isinst) 282_builder.EmitOpCode(ILOpCode.Dup) 283_builder.EmitBranch(ILOpCode.Brtrue, typeCheckPassedLabel) 284_builder.EmitOpCode(ILOpCode.Pop) 286_builder.EmitBranch(ILOpCode.Br, typeCheckFailedLabel) 302_builder.EmitOpCode(ILOpCode.Dup) 310_builder.EmitOpCode(ILOpCode.Unbox_any) 384_builder.EmitOpCode(ILOpCode.Pop) 394_builder.EmitOpCode(ILOpCode.Cgt_un) 401_builder.EmitOpCode(ILOpCode.Pop) 436_builder.EmitOpCode(ILOpCode.Call, -1) 441_builder.EmitOpCode(ILOpCode.Call, -2) 452_builder.EmitOpCode(ILOpCode.Call, 0) 554Private Shared ReadOnly s_condJumpOpCodes As ILOpCode() = New ILOpCode() { 555ILOpCode.Blt, ILOpCode.Ble, ILOpCode.Bgt, ILOpCode.Bge, 556ILOpCode.Bge, ILOpCode.Bgt, ILOpCode.Ble, ILOpCode.Blt, 557ILOpCode.Blt_un, ILOpCode.Ble_un, ILOpCode.Bgt_un, ILOpCode.Bge_un, 558ILOpCode.Bge_un, ILOpCode.Bgt_un, ILOpCode.Ble_un, ILOpCode.Blt_un, 559ILOpCode.Blt, ILOpCode.Ble, ILOpCode.Bgt, ILOpCode.Bge, 560ILOpCode.Bge_un, ILOpCode.Bgt_un, ILOpCode.Ble_un, ILOpCode.Blt_un} 562Private Function CodeForJump(expression As BoundBinaryOperator, sense As Boolean, <Out()> ByRef revOpCode As ILOpCode) As ILOpCode 587Return If(sense, ILOpCode.Bne_un, ILOpCode.Beq) 591Return If(sense, ILOpCode.Beq, ILOpCode.Bne_un) 594Return If(sense, ILOpCode.Beq, ILOpCode.Bne_un) 597Return If(sense, ILOpCode.Bne_un, ILOpCode.Beq) 670Dim ilcode As ILOpCode 683_builder.EmitBranch(ILOpCode.Br, lazyDest) 745Dim revOpCode As ILOpCode 777ilcode = If(sense, ILOpCode.Brtrue, ILOpCode.Brfalse) 806ilcode = If(sense, ILOpCode.Brtrue, ILOpCode.Brfalse) 859_builder.EmitBranch(ILOpCode.Br, boundGotoStatement.Label) 1047_builder.EmitBranch(ILOpCode.Br, fallThroughLabel) 1101_builder.EmitOpCode(ILOpCode.[Call], stackAdjustment:=0) 1176_builder.EmitOpCode(ILOpCode.Call, stackAdjustment:=-2) 1181_builder.EmitBranch(ILOpCode.Brfalse, targetLabel, ILOpCode.Brtrue) 1209_builder.EmitOpCode(ILOpCode.Nop) 1217_builder.EmitBranch(ILOpCode.Br, exitLabel) 1473_builder.EmitBranch(ILOpCode.Br_s, switchLabel) 1482_builder.EmitOpCode(ILOpCode.Add)
System.Reflection.Emit (2)
System\Reflection\Emit\ILGeneratorImpl.cs (2)
289_il.OpCode((ILOpCode)opcode.Value); 512_il.Branch((ILOpCode)opcode.Value, labelInfo._metaLabel);
System.Reflection.Metadata (203)
System\Reflection\Metadata\Ecma335\Encoding\ControlFlowBuilder.cs (5)
27internal readonly ILOpCode OpCode; 32internal BranchInfo(int operandOffset, LabelHandle label, int instructionEndDisplacement, int ilOffset, ILOpCode opCode) 117internal void AddBranch(int operandOffset, LabelHandle label, int instructionEndDisplacement, int ilOffset, ILOpCode opCode) 129Debug.Assert(opCode == ILOpCode.Switch || opCode.GetBranchOperandSize() == 4); 132Debug.Assert(instructionEndDisplacement > 4 && instructionEndDisplacement % 4 == 0 && opCode == ILOpCode.Switch);
System\Reflection\Metadata\Ecma335\Encoding\InstructionEncoder.cs (51)
33/// such as <see cref="Branch(ILOpCode, LabelHandle)"/>, <see cref="DefineLabel"/>, <see cref="MarkLabel(LabelHandle)"/> etc. 54public void OpCode(ILOpCode code) 93OpCode(ILOpCode.Ldstr); 109OpCode(ILOpCode.Call); 118OpCode(ILOpCode.Call); 127OpCode(ILOpCode.Call); 136OpCode(ILOpCode.Call); 145OpCode(ILOpCode.Calli); 154ILOpCode code; 157case -1: code = ILOpCode.Ldc_i4_m1; break; 158case 0: code = ILOpCode.Ldc_i4_0; break; 159case 1: code = ILOpCode.Ldc_i4_1; break; 160case 2: code = ILOpCode.Ldc_i4_2; break; 161case 3: code = ILOpCode.Ldc_i4_3; break; 162case 4: code = ILOpCode.Ldc_i4_4; break; 163case 5: code = ILOpCode.Ldc_i4_5; break; 164case 6: code = ILOpCode.Ldc_i4_6; break; 165case 7: code = ILOpCode.Ldc_i4_7; break; 166case 8: code = ILOpCode.Ldc_i4_8; break; 171OpCode(ILOpCode.Ldc_i4_s); 176OpCode(ILOpCode.Ldc_i4); 191OpCode(ILOpCode.Ldc_i8); 200OpCode(ILOpCode.Ldc_r4); 209OpCode(ILOpCode.Ldc_r8); 222case 0: OpCode(ILOpCode.Ldloc_0); break; 223case 1: OpCode(ILOpCode.Ldloc_1); break; 224case 2: OpCode(ILOpCode.Ldloc_2); break; 225case 3: OpCode(ILOpCode.Ldloc_3); break; 230OpCode(ILOpCode.Ldloc_s); 235OpCode(ILOpCode.Ldloc); 256case 0: OpCode(ILOpCode.Stloc_0); break; 257case 1: OpCode(ILOpCode.Stloc_1); break; 258case 2: OpCode(ILOpCode.Stloc_2); break; 259case 3: OpCode(ILOpCode.Stloc_3); break; 264OpCode(ILOpCode.Stloc_s); 269OpCode(ILOpCode.Stloc); 290OpCode(ILOpCode.Ldloca_s); 295OpCode(ILOpCode.Ldloca); 313case 0: OpCode(ILOpCode.Ldarg_0); break; 314case 1: OpCode(ILOpCode.Ldarg_1); break; 315case 2: OpCode(ILOpCode.Ldarg_2); break; 316case 3: OpCode(ILOpCode.Ldarg_3); break; 321OpCode(ILOpCode.Ldarg_s); 326OpCode(ILOpCode.Ldarg); 347OpCode(ILOpCode.Ldarga_s); 352OpCode(ILOpCode.Ldarga); 370OpCode(ILOpCode.Starg_s); 375OpCode(ILOpCode.Starg); 394internal void LabelOperand(ILOpCode code, LabelHandle label, int instructionEndDisplacement, int ilOffset) 420public void Branch(ILOpCode code, LabelHandle label) 456OpCode(ILOpCode.Switch);
System\Reflection\Metadata\Ecma335\Encoding\SwitchInstructionEncoder.cs (1)
37_encoder.LabelOperand(ILOpCode.Switch, label, _instructionEnd - _encoder.Offset, _ilOffset);
System\Reflection\Metadata\IL\ILOpCodeExtensions.cs (146)
11public static bool IsBranch(this ILOpCode opCode) 15case ILOpCode.Br: 16case ILOpCode.Br_s: 17case ILOpCode.Brtrue: 18case ILOpCode.Brtrue_s: 19case ILOpCode.Brfalse: 20case ILOpCode.Brfalse_s: 21case ILOpCode.Beq: 22case ILOpCode.Beq_s: 23case ILOpCode.Bne_un: 24case ILOpCode.Bne_un_s: 25case ILOpCode.Bge: 26case ILOpCode.Bge_s: 27case ILOpCode.Bge_un: 28case ILOpCode.Bge_un_s: 29case ILOpCode.Bgt: 30case ILOpCode.Bgt_s: 31case ILOpCode.Bgt_un: 32case ILOpCode.Bgt_un_s: 33case ILOpCode.Ble: 34case ILOpCode.Ble_s: 35case ILOpCode.Ble_un: 36case ILOpCode.Ble_un_s: 37case ILOpCode.Blt: 38case ILOpCode.Blt_s: 39case ILOpCode.Blt_un: 40case ILOpCode.Blt_un_s: 41case ILOpCode.Leave: 42case ILOpCode.Leave_s: 55public static int GetBranchOperandSize(this ILOpCode opCode) 59case ILOpCode.Br_s: 60case ILOpCode.Brfalse_s: 61case ILOpCode.Brtrue_s: 62case ILOpCode.Beq_s: 63case ILOpCode.Bge_s: 64case ILOpCode.Bgt_s: 65case ILOpCode.Ble_s: 66case ILOpCode.Blt_s: 67case ILOpCode.Bne_un_s: 68case ILOpCode.Bge_un_s: 69case ILOpCode.Bgt_un_s: 70case ILOpCode.Ble_un_s: 71case ILOpCode.Blt_un_s: 72case ILOpCode.Leave_s: 75case ILOpCode.Br: 76case ILOpCode.Brfalse: 77case ILOpCode.Brtrue: 78case ILOpCode.Beq: 79case ILOpCode.Bge: 80case ILOpCode.Bgt: 81case ILOpCode.Ble: 82case ILOpCode.Blt: 83case ILOpCode.Bne_un: 84case ILOpCode.Bge_un: 85case ILOpCode.Bgt_un: 86case ILOpCode.Ble_un: 87case ILOpCode.Blt_un: 88case ILOpCode.Leave: 101public static ILOpCode GetShortBranch(this ILOpCode opCode) 105case ILOpCode.Br_s: 106case ILOpCode.Brfalse_s: 107case ILOpCode.Brtrue_s: 108case ILOpCode.Beq_s: 109case ILOpCode.Bge_s: 110case ILOpCode.Bgt_s: 111case ILOpCode.Ble_s: 112case ILOpCode.Blt_s: 113case ILOpCode.Bne_un_s: 114case ILOpCode.Bge_un_s: 115case ILOpCode.Bgt_un_s: 116case ILOpCode.Ble_un_s: 117case ILOpCode.Blt_un_s: 118case ILOpCode.Leave_s: 121case ILOpCode.Br: 122return ILOpCode.Br_s; 124case ILOpCode.Brfalse: 125return ILOpCode.Brfalse_s; 127case ILOpCode.Brtrue: 128return ILOpCode.Brtrue_s; 130case ILOpCode.Beq: 131return ILOpCode.Beq_s; 133case ILOpCode.Bge: 134return ILOpCode.Bge_s; 136case ILOpCode.Bgt: 137return ILOpCode.Bgt_s; 139case ILOpCode.Ble: 140return ILOpCode.Ble_s; 142case ILOpCode.Blt: 143return ILOpCode.Blt_s; 145case ILOpCode.Bne_un: 146return ILOpCode.Bne_un_s; 148case ILOpCode.Bge_un: 149return ILOpCode.Bge_un_s; 151case ILOpCode.Bgt_un: 152return ILOpCode.Bgt_un_s; 154case ILOpCode.Ble_un: 155return ILOpCode.Ble_un_s; 157case ILOpCode.Blt_un: 158return ILOpCode.Blt_un_s; 160case ILOpCode.Leave: 161return ILOpCode.Leave_s; 173public static ILOpCode GetLongBranch(this ILOpCode opCode) 177case ILOpCode.Br: 178case ILOpCode.Brfalse: 179case ILOpCode.Brtrue: 180case ILOpCode.Beq: 181case ILOpCode.Bge: 182case ILOpCode.Bgt: 183case ILOpCode.Ble: 184case ILOpCode.Blt: 185case ILOpCode.Bne_un: 186case ILOpCode.Bge_un: 187case ILOpCode.Bgt_un: 188case ILOpCode.Ble_un: 189case ILOpCode.Blt_un: 190case ILOpCode.Leave: 193case ILOpCode.Br_s: 194return ILOpCode.Br; 196case ILOpCode.Brfalse_s: 197return ILOpCode.Brfalse; 199case ILOpCode.Brtrue_s: 200return ILOpCode.Brtrue; 202case ILOpCode.Beq_s: 203return ILOpCode.Beq; 205case ILOpCode.Bge_s: 206return ILOpCode.Bge; 208case ILOpCode.Bgt_s: 209return ILOpCode.Bgt; 211case ILOpCode.Ble_s: 212return ILOpCode.Ble; 214case ILOpCode.Blt_s: 215return ILOpCode.Blt; 217case ILOpCode.Bne_un_s: 218return ILOpCode.Bne_un; 220case ILOpCode.Bge_un_s: 221return ILOpCode.Bge_un; 223case ILOpCode.Bgt_un_s: 224return ILOpCode.Bgt_un; 226case ILOpCode.Ble_un_s: 227return ILOpCode.Ble_un; 229case ILOpCode.Blt_un_s: 230return ILOpCode.Blt_un; 232case ILOpCode.Leave_s: 233return ILOpCode.Leave;