1 write to _builder
Microsoft.CodeAnalysis.CSharp (1)
CodeGen\CodeGenerator.cs (1)
101
_builder
= builder;
469 references to _builder
Microsoft.CodeAnalysis.CSharp (469)
CodeGen\CodeGenerator.cs (24)
179
result =
_builder
.LocalSlotManager.DeclareLocal(
227
asyncCatchHandlerOffset = _diagnostics.HasAnyErrors() ? -1 :
_builder
.GetILOffsetFromMarker(_asyncCatchHandlerOffset);
246
int yieldOffset =
_builder
.GetILOffsetFromMarker(yieldPoints[i]);
247
int resumeOffset =
_builder
.GetILOffsetFromMarker(resumePoints[i]);
275
_builder
.DefineInitialHiddenSequencePoint();
292
_builder
.Realize();
309
_builder
.MarkLabel(s_returnLabel);
328
_builder
.EmitLocalLoad(LazyReturnTemp);
329
_builder
.EmitRet(false);
333
_builder
.EmitRet(true);
341
_builder
.EmitToken(symbol, syntaxNode, _diagnostics.DiagnosticBag);
352
_builder
.EmitToken(methodRef, syntaxNode, _diagnostics.DiagnosticBag, encodeAsRawDefinitionToken ? Cci.MetadataWriter.RawTokenEncoding.RowId : 0);
358
_builder
.EmitToken(fieldRef, syntaxNode, _diagnostics.DiagnosticBag);
363
_builder
.EmitToken(_module.Translate(symbol).Signature, syntaxNode, _diagnostics.DiagnosticBag);
392
_builder
.EmitOpCode(ILOpCode.Nop);
415
_builder
.EmitOpCode(ILOpCode.Nop);
424
ArrayBuilder<RawSequencePoint> sequencePoints =
_builder
.SeqPointsOpt;
463
_builder
.EmitConstantValue(ConstantValue.Create(true));
464
_builder
.EmitBranch(ILOpCode.Brtrue, label);
466
_builder
.EmitOpCode(ILOpCode.Nop);
467
_builder
.MarkLabel(label);
481
_builder
.SetInitialDebugDocument(_methodBodySyntaxOpt.SyntaxTree);
488
_builder
.DefineHiddenSequencePoint();
501
_builder
.DefineSequencePoint(syntaxTree, span);
CodeGen\EmitAddress.cs (27)
78
_builder
.EmitLoadArgumentOpcode(0);
82
_builder
.EmitLoadArgumentAddrOpcode(0);
141
_builder
.EmitLocalAddress(temp); // ldloca temp
142
_builder
.EmitOpCode(ILOpCode.Dup); // dup
143
_builder
.EmitOpCode(ILOpCode.Initobj); // initobj <type>
220
_builder
.EmitBranch(ILOpCode.Br, doneLabel);
223
_builder
.AdjustStack(-1);
225
_builder
.MarkLabel(consequenceLabel);
228
_builder
.MarkLabel(doneLabel);
243
_builder
.EmitBranch(ILOpCode.Brtrue, whenValueTypeLabel);
247
_builder
.EmitBranch(ILOpCode.Br, doneLabel);
248
_builder
.AdjustStack(-1);
250
_builder
.MarkLabel(whenValueTypeLabel);
254
_builder
.MarkLabel(doneLabel);
284
_builder
.EmitLocalAddress(GetLocal(localAccess));
300
_builder
.EmitOpCode(ILOpCode.Dup);
314
_builder
.EmitOpCode(ILOpCode.Refanyval);
329
_builder
.EmitLocalStore(value);
330
_builder
.EmitLocalAddress(value);
397
_builder
.EmitOpCode(ILOpCode.Readonly);
402
_builder
.EmitOpCode(ILOpCode.Ldelema);
408
_builder
.EmitArrayElementAddress(_module.Translate((ArrayTypeSymbol)arrayAccess.Expression.Type),
455
_builder
.EmitOpCode(ILOpCode.Ldsflda);
479
_builder
.EmitLoadArgumentAddrOpcode(slot);
483
_builder
.EmitLoadArgumentOpcode(slot);
555
_builder
.EmitOpCode(field.RefKind == RefKind.None ? ILOpCode.Ldflda : ILOpCode.Ldfld);
578
_builder
.EmitOpCode(ILOpCode.Ldflda);
CodeGen\EmitArrayInitializer.cs (31)
57
_builder
.EmitArrayBlockInitializer(data, inits.Syntax, _diagnostics.DiagnosticBag);
89
_builder
.EmitOpCode(ILOpCode.Dup);
90
_builder
.EmitIntConstant(i);
192
_builder
.EmitOpCode(ILOpCode.Dup);
199
_builder
.EmitIntConstant(row.Index);
203
_builder
.EmitIntConstant(i);
539
_builder
.EmitOpCode(ILOpCode.Initobj);
572
var field =
_builder
.module.GetFieldForData(data, alignment: 1, wrappedExpression.Syntax, _diagnostics.DiagnosticBag);
573
_builder
.EmitOpCode(ILOpCode.Ldsflda);
574
_builder
.EmitToken(field, wrappedExpression.Syntax, _diagnostics.DiagnosticBag);
576
_builder
.EmitIntConstant(lengthForConstructor);
581
_builder
.EmitOpCode(ILOpCode.Call, stackAdjustment: -3);
587
_builder
.EmitOpCode(ILOpCode.Newobj, stackAdjustment: -1);
633
var field =
_builder
.module.GetFieldForData(data, alignment: (ushort)specialElementType.SizeInBytes(), wrappedExpression.Syntax, _diagnostics.DiagnosticBag);
634
_builder
.EmitOpCode(ILOpCode.Ldtoken);
635
_builder
.EmitToken(field, wrappedExpression.Syntax, _diagnostics.DiagnosticBag);
636
_builder
.EmitOpCode(ILOpCode.Call, stackAdjustment: 0);
665
var cachingField =
_builder
.module.GetArrayCachingFieldForData(data, _module.Translate(arrayType), wrappedExpression.Syntax, _diagnostics.DiagnosticBag);
670
_builder
.EmitOpCode(ILOpCode.Ldsfld);
671
_builder
.EmitToken(cachingField, wrappedExpression.Syntax, _diagnostics.DiagnosticBag);
672
_builder
.EmitOpCode(ILOpCode.Dup);
673
_builder
.EmitBranch(ILOpCode.Brtrue, arrayNotNullLabel);
678
_builder
.EmitOpCode(ILOpCode.Pop);
679
_builder
.EmitIntConstant(elementCount);
680
_builder
.EmitOpCode(ILOpCode.Newarr);
682
_builder
.EmitArrayBlockInitializer(data, wrappedExpression.Syntax, _diagnostics.DiagnosticBag);
683
_builder
.EmitOpCode(ILOpCode.Dup);
684
_builder
.EmitOpCode(ILOpCode.Stsfld);
685
_builder
.EmitToken(cachingField, wrappedExpression.Syntax, _diagnostics.DiagnosticBag);
689
_builder
.MarkLabel(arrayNotNullLabel);
690
_builder
.EmitOpCode(ILOpCode.Newobj, 0);
CodeGen\EmitConversion.cs (16)
48
_builder
.EmitIntConstant(0);
49
_builder
.EmitOpCode(ILOpCode.Conv_u);
85
_builder
.EmitOpCode(ILOpCode.Call, stackAdjustment: 0);
164
_builder
.EmitNumericConversion(fromPredefTypeKind, toPredefTypeKind, conversion.Checked);
170
_builder
.EmitOpCode(ILOpCode.Conv_u);
221
_builder
.EmitNumericConversion(fromPredefTypeKind, toPredefTypeKind, conversion.Checked);
241
_builder
.EmitOpCode(ILOpCode.Unbox_any);
273
_builder
.EmitOpCode(ILOpCode.Castclass);
278
_builder
.EmitOpCode(ILOpCode.Unbox_any);
307
_builder
.EmitNumericConversion(fromPredefTypeKind, toPredefTypeKind, conversion.Checked);
326
_builder
.EmitNullConstant();
335
_builder
.EmitOpCode(ILOpCode.Constrained);
356
_builder
.EmitOpCode(ILOpCode.Dup);
357
_builder
.EmitOpCode(ILOpCode.Ldvirtftn);
364
_builder
.EmitOpCode(ILOpCode.Ldftn);
370
_builder
.EmitOpCode(ILOpCode.Newobj, -1); // pop 2 args and push delegate object
CodeGen\EmitExpression.cs (181)
175
_builder
.EmitOpCode(ILOpCode.Ldarg_0);
374
_builder
.EmitBranch(ILOpCode.Brtrue, whenValueTypeLabel);
377
_builder
.EmitBranch(ILOpCode.Br, doneLabel);
381
_builder
.AdjustStack(-1);
384
_builder
.MarkLabel(whenValueTypeLabel);
387
_builder
.MarkLabel(doneLabel);
458
_builder
.EmitBranch(ILOpCode.Brtrue, whenNotNullLabel);
462
_builder
.EmitLocalStore(cloneTemp);
463
_builder
.EmitLocalAddress(cloneTemp);
464
_builder
.EmitLocalLoad(cloneTemp);
475
_builder
.EmitOpCode(ILOpCode.Dup);
487
_builder
.EmitOpCode(ILOpCode.Dup);
508
_builder
.EmitOpCode(ILOpCode.Call, stackAdjustment: 0);
512
_builder
.EmitBranch(ILOpCode.Brtrue, whenNotNullLabel);
524
_builder
.EmitOpCode(ILOpCode.Pop);
537
_builder
.EmitBranch(ILOpCode.Br, doneLabel);
545
_builder
.AdjustStack(+1);
553
_builder
.AdjustStack(-1);
556
_builder
.MarkLabel(whenNotNullLabel);
569
_builder
.MarkLabel(doneLabel);
667
_builder
.EmitOpCode(ILOpCode.Mkrefany);
679
_builder
.EmitOpCode(ILOpCode.Refanytype);
680
_builder
.EmitOpCode(ILOpCode.Call, stackAdjustment: 0);
689
_builder
.EmitOpCode(ILOpCode.Arglist);
746
_builder
.EmitOpCode(ILOpCode.Conv_u);
770
_builder
.EmitOpCode(ILOpCode.Dup);
775
_builder
.EmitOpCode(ILOpCode.Dup);
797
_builder
.EmitOpCode(ILOpCode.Ldarg_0);
862
_builder
.OpenLocalScope();
877
_builder
.CloseLocalScope();
896
_builder
.OpenLocalScope();
917
_builder
.CloseLocalScope();
997
_builder
.EmitOpCode(ILOpCode.Ldelem_i1);
1002
_builder
.EmitOpCode(ILOpCode.Ldelem_u1);
1006
_builder
.EmitOpCode(ILOpCode.Ldelem_i2);
1011
_builder
.EmitOpCode(ILOpCode.Ldelem_u2);
1015
_builder
.EmitOpCode(ILOpCode.Ldelem_i4);
1019
_builder
.EmitOpCode(ILOpCode.Ldelem_u4);
1024
_builder
.EmitOpCode(ILOpCode.Ldelem_i8);
1031
_builder
.EmitOpCode(ILOpCode.Ldelem_i);
1035
_builder
.EmitOpCode(ILOpCode.Ldelem_r4);
1039
_builder
.EmitOpCode(ILOpCode.Ldelem_r8);
1045
_builder
.EmitOpCode(ILOpCode.Ldelem_ref);
1051
_builder
.EmitOpCode(ILOpCode.Ldelem);
1059
_builder
.EmitOpCode(ILOpCode.Readonly);
1062
_builder
.EmitOpCode(ILOpCode.Ldelema);
1072
_builder
.EmitArrayElementLoad(_module.Translate((ArrayTypeSymbol)arrayAccess.Expression.Type), arrayAccess.Expression.Syntax, _diagnostics.DiagnosticBag);
1122
_builder
.EmitOpCode(ILOpCode.Volatile);
1124
_builder
.EmitOpCode(ILOpCode.Ldsfld);
1148
_builder
.EmitOpCode(ILOpCode.Volatile);
1151
_builder
.EmitOpCode(ILOpCode.Ldfld);
1197
_builder
.EmitOpCode(ILOpCode.Unbox);
1211
_builder
.EmitOpCode(ILOpCode.Ldflda);
1363
_builder
.EmitLocalLoad(definition);
1382
_builder
.EmitLoadArgumentOpcode(slot);
1402
_builder
.EmitOpCode(ILOpCode.Ldind_i1);
1407
_builder
.EmitOpCode(ILOpCode.Ldind_u1);
1411
_builder
.EmitOpCode(ILOpCode.Ldind_i2);
1416
_builder
.EmitOpCode(ILOpCode.Ldind_u2);
1420
_builder
.EmitOpCode(ILOpCode.Ldind_i4);
1424
_builder
.EmitOpCode(ILOpCode.Ldind_u4);
1429
_builder
.EmitOpCode(ILOpCode.Ldind_i8);
1436
_builder
.EmitOpCode(ILOpCode.Ldind_i);
1440
_builder
.EmitOpCode(ILOpCode.Ldind_r4);
1444
_builder
.EmitOpCode(ILOpCode.Ldind_r8);
1450
_builder
.EmitOpCode(ILOpCode.Ldind_ref);
1454
_builder
.EmitOpCode(ILOpCode.Ldobj);
1609
_builder
.EmitOpCode(ILOpCode.Initobj); // initobj <MyStruct>
1633
_builder
.EmitOpCode(ILOpCode.Constrained);
1637
_builder
.EmitOpCode(ILOpCode.Call, stackBehavior);
1779
_builder
.EmitOpCode(ILOpCode.Call, stackBehavior);
1783
_builder
.EmitOpCode(ILOpCode.Callvirt, stackBehavior);
1787
_builder
.EmitOpCode(ILOpCode.Constrained);
1789
_builder
.EmitOpCode(ILOpCode.Callvirt, stackBehavior);
1844
_builder
.EmitBranch(ILOpCode.Brtrue, whenNotNullLabel);
1851
_builder
.EmitLocalStore(tempOpt);
1852
_builder
.EmitLocalAddress(tempOpt);
1856
_builder
.MarkLabel(whenNotNullLabel);
2107
_builder
.EmitOpCode(ILOpCode.Conv_ovf_i);
2111
_builder
.EmitOpCode(ILOpCode.Conv_ovf_i_un);
2130
_builder
.EmitOpCode(ILOpCode.Ldlen);
2144
_builder
.EmitNumericConversion(typeFrom, typeTo, @checked: false);
2157
_builder
.EmitOpCode(ILOpCode.Newarr);
2162
_builder
.EmitArrayCreation(_module.Translate(arrayType), expression.Syntax, _diagnostics.DiagnosticBag);
2183
_builder
.EmitOpCode(ILOpCode.Localloc);
2235
_builder
.EmitOpCode(ILOpCode.Newobj, stackAdjustment);
2460
_builder
.EmitOpCode(ILOpCode.Initobj); // initobj <MyStruct>
2493
_builder
.EmitOpCode(ILOpCode.Call, stackAdjustment);
2516
if (local != null && !
_builder
.PossiblyDefinedOutsideOfTry(GetLocal(local)))
2585
_builder
.EmitLoadArgumentOpcode(ParameterSlot(left));
2619
_builder
.EmitLocalLoad(localDefinition);
2809
_builder
.EmitOpCode(ILOpCode.Dup);
2835
_builder
.EmitLocalStore(temp);
2872
_builder
.EmitLocalStore(GetLocal(local));
2954
_builder
.EmitLocalAddress(temp);
2958
_builder
.EmitLocalLoad(temp);
2973
_builder
.EmitOpCode(ILOpCode.Stobj);
2985
_builder
.EmitArrayElementStore(_module.Translate(arrayType), syntaxNode, _diagnostics.DiagnosticBag);
3007
_builder
.EmitOpCode(ILOpCode.Stelem_i1);
3013
_builder
.EmitOpCode(ILOpCode.Stelem_i2);
3018
_builder
.EmitOpCode(ILOpCode.Stelem_i4);
3023
_builder
.EmitOpCode(ILOpCode.Stelem_i8);
3030
_builder
.EmitOpCode(ILOpCode.Stelem_i);
3034
_builder
.EmitOpCode(ILOpCode.Stelem_r4);
3038
_builder
.EmitOpCode(ILOpCode.Stelem_r8);
3044
_builder
.EmitOpCode(ILOpCode.Stelem_ref);
3048
_builder
.EmitOpCode(ILOpCode.Stelem);
3061
_builder
.EmitOpCode(ILOpCode.Volatile);
3072
_builder
.EmitOpCode(field.IsStatic ? ILOpCode.Stsfld : ILOpCode.Stfld);
3088
_builder
.EmitStoreArgumentOpcode(slot);
3105
_builder
.EmitOpCode(ILOpCode.Stind_i1);
3111
_builder
.EmitOpCode(ILOpCode.Stind_i2);
3116
_builder
.EmitOpCode(ILOpCode.Stind_i4);
3121
_builder
.EmitOpCode(ILOpCode.Stind_i8);
3128
_builder
.EmitOpCode(ILOpCode.Stind_i);
3132
_builder
.EmitOpCode(ILOpCode.Stind_r4);
3136
_builder
.EmitOpCode(ILOpCode.Stind_r8);
3142
_builder
.EmitOpCode(ILOpCode.Stind_ref);
3146
_builder
.EmitOpCode(ILOpCode.Stobj);
3157
_builder
.EmitOpCode(ILOpCode.Pop);
3173
_builder
.EmitOpCode(ILOpCode.Isinst);
3175
_builder
.EmitOpCode(ILOpCode.Ldnull);
3176
_builder
.EmitOpCode(ILOpCode.Cgt_un);
3198
_builder
.EmitOpCode(ILOpCode.Isinst);
3203
_builder
.EmitOpCode(ILOpCode.Unbox_any);
3219
_builder
.EmitConstantValue(constantValue);
3227
_builder
.EmitOpCode(ILOpCode.Ldc_i4_0);
3228
_builder
.EmitOpCode(ILOpCode.Conv_u);
3232
_builder
.EmitOpCode(ILOpCode.Ldc_i4_0);
3233
_builder
.EmitOpCode(ILOpCode.Conv_i);
3264
_builder
.EmitConstantValue(constantValue);
3274
_builder
.EmitLocalAddress(temp); // ldloca temp
3275
_builder
.EmitOpCode(ILOpCode.Initobj); // initobj <MyStruct>
3277
_builder
.EmitLocalLoad(temp); // ldloc temp
3284
_builder
.EmitOpCode(ILOpCode.Call, stackAdjustment: 0); //argument off, return value on
3293
_builder
.EmitOpCode(ILOpCode.Ldtoken);
3301
_builder
.EmitOpCode(ILOpCode.Sizeof);
3309
_builder
.EmitOpCode(ILOpCode.Ldtoken);
3329
_builder
.EmitIntConstant(GetLocal(node.Local).SlotIndex);
3343
_builder
.EmitIntConstant(node.Parameter.Ordinal);
3356
_builder
.EmitOpCode(ILOpCode.Ldtoken);
3357
_builder
.EmitToken(fieldRef, syntax, _diagnostics.DiagnosticBag, Cci.MetadataWriter.RawTokenEncoding.LiftedVariableId);
3363
_builder
.EmitOpCode(ILOpCode.Ldtoken);
3364
_builder
.EmitGreatestMethodToken();
3369
_builder
.EmitOpCode(ILOpCode.Ldsfld);
3375
_builder
.EmitOpCode(ILOpCode.Stsfld);
3381
_builder
.EmitToken(_module.GetModuleVersionId(_module.Translate(node.Type, node.Syntax, _diagnostics.DiagnosticBag), node.Syntax, _diagnostics.DiagnosticBag), node.Syntax, _diagnostics.DiagnosticBag);
3386
_builder
.EmitOpCode(ILOpCode.Ldstr);
3387
_builder
.EmitModuleVersionIdStringToken();
3392
_builder
.EmitOpCode(ILOpCode.Ldsfld);
3398
_builder
.EmitOpCode(ILOpCode.Stsfld);
3404
_builder
.EmitToken(_module.GetInstrumentationPayloadRoot(node.AnalysisKind, _module.Translate(node.Type, node.Syntax, _diagnostics.DiagnosticBag), node.Syntax, _diagnostics.DiagnosticBag), node.Syntax, _diagnostics.DiagnosticBag);
3410
_builder
.EmitOpCode(ILOpCode.Ldtoken);
3411
_builder
.EmitSourceDocumentIndexToken(node.Document);
3416
_builder
.EmitOpCode(ILOpCode.Ldtoken);
3424
_builder
.EmitOpCode(ILOpCode.Call, stackAdjustment: 0); //argument off, return value on
3429
_builder
.EmitOpCode(ILOpCode.Ldtoken);
3431
_builder
.EmitOpCode(ILOpCode.Call, stackAdjustment: -1); //2 arguments off, return value on
3437
_builder
.EmitOpCode(ILOpCode.Castclass);
3444
_builder
.EmitOpCode(ILOpCode.Ldtoken);
3451
_builder
.EmitOpCode(ILOpCode.Call, stackAdjustment: 0); //argument off, return value on
3456
_builder
.EmitOpCode(ILOpCode.Ldtoken);
3458
_builder
.EmitOpCode(ILOpCode.Call, stackAdjustment: -1); //2 arguments off, return value on
3464
_builder
.EmitOpCode(ILOpCode.Castclass);
3525
_builder
.EmitBranch(ILOpCode.Br, doneLabel);
3529
_builder
.AdjustStack(-1);
3532
_builder
.MarkLabel(consequenceLabel);
3549
_builder
.MarkLabel(doneLabel);
3585
_builder
.EmitOpCode(ILOpCode.Dup);
3594
_builder
.EmitBranch(ILOpCode.Brtrue, ifLeftNotNullLabel);
3598
_builder
.EmitOpCode(ILOpCode.Pop);
3612
_builder
.MarkLabel(ifLeftNotNullLabel);
3727
_builder
.EmitLocalStore(temp);
3728
_builder
.EmitLocalLoad(temp);
3736
_builder
.EmitOpCode(ILOpCode.Box);
3752
_builder
.EmitLocalStore(temp);
3761
_builder
.EmitLocalLoad(temp);
3765
_builder
.EmitOpCode(ILOpCode.Calli, stackBehavior);
3811
_builder
.EmitOpCode(ILOpCode.Nop);
3837
_builder
.EmitOpCode(ILOpCode.Constrained);
3841
_builder
.EmitOpCode(ILOpCode.Ldftn);
CodeGen\EmitOperators.cs (43)
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);
280
_builder
.AdjustStack(-1);
282
_builder
.MarkLabel(lazyFallThrough);
283
_builder
.EmitBoolConstant(stopValue);
284
_builder
.MarkLabel(labEnd);
444
_builder
.EmitConstantValue(nullOrZero);
445
_builder
.EmitOpCode(ILOpCode.Cgt_un);
458
_builder
.EmitConstantValue(nullOrZero);
459
_builder
.EmitOpCode(ILOpCode.Ceq);
466
_builder
.EmitOpCode(opCode);
489
_builder
.EmitBoolConstant(constant == sense);
531
_builder
.EmitOpCode(ILOpCode.Ldc_i4_0);
535
_builder
.EmitOpCode(ILOpCode.Conv_i8);
539
_builder
.EmitOpCode(ILOpCode.Conv_i);
543
_builder
.EmitOpCode(ILOpCode.Sub_ovf);
610
_builder
.EmitNumericConversion(Microsoft.Cci.PrimitiveTypeCode.Int32, Microsoft.Cci.PrimitiveTypeCode.UInt8, @checked);
613
_builder
.EmitNumericConversion(Microsoft.Cci.PrimitiveTypeCode.Int32, Microsoft.Cci.PrimitiveTypeCode.Int8, @checked);
616
_builder
.EmitNumericConversion(Microsoft.Cci.PrimitiveTypeCode.Int32, Microsoft.Cci.PrimitiveTypeCode.Int16, @checked);
619
_builder
.EmitNumericConversion(Microsoft.Cci.PrimitiveTypeCode.Int32, Microsoft.Cci.PrimitiveTypeCode.UInt16, @checked);
633
_builder
.EmitOpCode(ILOpCode.Mul_ovf_un);
637
_builder
.EmitOpCode(ILOpCode.Mul_ovf);
644
_builder
.EmitOpCode(ILOpCode.Add_ovf_un);
648
_builder
.EmitOpCode(ILOpCode.Add_ovf);
655
_builder
.EmitOpCode(ILOpCode.Sub_ovf_un);
659
_builder
.EmitOpCode(ILOpCode.Sub_ovf);
686
_builder
.EmitOpCode(ILOpCode.Ldc_i4_0);
687
_builder
.EmitOpCode(ILOpCode.Ceq);
CodeGen\EmitStackAllocInitializer.cs (20)
40
_builder
.EmitOpCode(ILOpCode.Dup);
41
_builder
.EmitIntConstant(data[0]);
42
_builder
.EmitIntConstant(data.Length);
43
_builder
.EmitOpCode(ILOpCode.Initblk, -3);
53
var field =
_builder
.module.GetFieldForData(data, alignment: 1, inits.Syntax, _diagnostics.DiagnosticBag);
54
_builder
.EmitOpCode(ILOpCode.Dup);
55
_builder
.EmitOpCode(ILOpCode.Ldsflda);
56
_builder
.EmitToken(field, inits.Syntax, _diagnostics.DiagnosticBag);
57
_builder
.EmitIntConstant(data.Length);
58
_builder
.EmitOpCode(ILOpCode.Cpblk, -3);
131
_builder
.EmitOpCode(ILOpCode.Dup);
150
_builder
.EmitIntConstant(index);
151
_builder
.EmitOpCode(ILOpCode.Add);
156
_builder
.EmitOpCode(ILOpCode.Add);
160
_builder
.EmitIntConstant(index);
161
_builder
.EmitOpCode(ILOpCode.Conv_i);
163
_builder
.EmitOpCode(ILOpCode.Mul);
164
_builder
.EmitOpCode(ILOpCode.Add);
172
_builder
.EmitOpCode(ILOpCode.Sizeof);
177
_builder
.EmitIntConstant(elementTypeSizeInBytes);
CodeGen\EmitStatement.cs (127)
111
_builder
.AssertStackEmpty();
120
int n =
_builder
.InstructionsEmitted;
122
return
_builder
.InstructionsEmitted - n;
140
_builder
.EmitOpCode(ILOpCode.Nop);
152
_asyncYieldPoints.Add(
_builder
.AllocateILMarker());
158
_asyncResumePoints.Add(
_builder
.AllocateILMarker());
186
_builder
.EmitThrow(isRethrow: thrown == null);
406
_builder
.EmitBranch(ILOpCode.Br, dest);
440
_builder
.MarkLabel(fallThrough);
518
_builder
.EmitBranch(ilcode, dest, revOpCode);
559
_builder
.MarkLabel(fallThrough);
595
_builder
.EmitOpCode(ILOpCode.Isinst);
599
_builder
.EmitBranch(ilcode, dest);
618
_builder
.EmitBranch(ilcode, dest);
635
_builder
.MarkLabel(boundLabelStatement.Label);
640
_builder
.EmitBranch(ILOpCode.Br, boundGotoStatement.Label);
680
_builder
.OpenLocalScope();
690
_builder
.AssertStackEmpty();
692
_builder
.OpenLocalScope(ScopeType.TryCatchFinally);
694
_builder
.OpenLocalScope(ScopeType.Try);
696
_builder
.CloseLocalScope(); // try
698
_builder
.OpenLocalScope(ScopeType.Finally);
706
_builder
.CloseLocalScope(); // finally
708
_builder
.CloseLocalScope(); // try-finally
711
_builder
.CloseLocalScope();
720
_builder
.OpenLocalScope();
740
_builder
.EmitBranch(ILOpCode.Br, s_returnLabel);
755
_builder
.CloseLocalScope();
771
_builder
.OpenLocalScope();
780
_builder
.AddLocalToScope(
_builder
.LocalSlotManager.GetLocal(local));
786
_builder
.CloseLocalScope();
791
_builder
.OpenLocalScope(ScopeType.StateMachineVariable);
796
_builder
.DefineUserDefinedStateMachineHoistedLocal(field.SlotIndex);
801
_builder
.CloseLocalScope();
823
_builder
.InExceptionHandler;
834
!
_builder
.InExceptionHandler;
856
_builder
.EmitLocalStore(LazyReturnTemp);
865
_builder
.EmitBranch(ILOpCode.Br, s_returnLabel);
879
_builder
.EmitLocalStore(LazyReturnTemp);
892
_builder
.EmitRet(expressionOpt == null);
902
_builder
.AssertStackEmpty();
911
_builder
.OpenLocalScope(ScopeType.TryCatchFinally);
913
_builder
.OpenLocalScope(ScopeType.Try);
930
_builder
.CloseLocalScope();
942
_builder
.OpenLocalScope(statement.PreferFaultHandler ? ScopeType.Fault : ScopeType.Finally);
946
_builder
.CloseLocalScope();
949
_builder
.CloseLocalScope();
970
_builder
.CloseLocalScope();
1016
_builder
.AdjustStack(1); // Account for exception on the stack.
1027
_builder
.OpenLocalScope(ScopeType.Catch, exceptionType);
1060
_builder
.OpenLocalScope(ScopeType.Filter);
1073
_builder
.EmitOpCode(ILOpCode.Isinst);
1074
_builder
.EmitToken(exceptionType, catchBlock.Syntax, _diagnostics.DiagnosticBag);
1075
_builder
.EmitOpCode(ILOpCode.Dup);
1076
_builder
.EmitBranch(ILOpCode.Brtrue, typeCheckPassedLabel);
1077
_builder
.EmitOpCode(ILOpCode.Pop);
1078
_builder
.EmitIntConstant(0);
1079
_builder
.EmitBranch(ILOpCode.Br, typeCheckFailedLabel);
1086
_builder
.MarkLabel(typeCheckPassedLabel);
1105
_builder
.EmitOpCode(ILOpCode.Unbox_any);
1125
_builder
.EmitLocalStore(GetLocal(exceptionSourceLocal));
1139
_builder
.DefineUserDefinedStateMachineHoistedLocal(stateMachineField.SlotIndex);
1145
_builder
.EmitLocalStore(temp);
1150
_builder
.EmitLocalLoad(temp);
1162
_builder
.EmitOpCode(ILOpCode.Pop);
1167
Debug.Assert(
_builder
.IsStackEmpty);
1178
_builder
.EmitIntConstant(0);
1179
_builder
.EmitOpCode(ILOpCode.Cgt_un);
1180
_builder
.MarkLabel(typeCheckFailedLabel);
1183
_builder
.MarkFilterConditionEnd();
1187
_builder
.EmitOpCode(ILOpCode.Pop);
1192
_builder
.CloseLocalScope();
1200
_asyncCatchHandlerOffset =
_builder
.AllocateILMarker();
1277
_builder
.EmitLocalStore(temp);
1299
_builder
.EmitIntegerSwitchJumpTable(switchCaseLabels, fallThroughLabel, key, expression.Type.EnumUnderlyingTypeOrSelf().PrimitiveTypeCode);
1363
_builder
.EmitLoad(keyTemp);
1364
_builder
.EmitBranch(ILOpCode.Brfalse, lengthBasedSwitchInfo.LengthBasedJumpTable.NullCaseLabel ?? fallThroughLabel, ILOpCode.Brtrue);
1372
_builder
.EmitLoadAddress(keyTemp);
1376
_builder
.EmitLoad(keyTemp);
1378
_builder
.EmitOpCode(ILOpCode.Call, stackAdjustment: 0);
1380
_builder
.EmitLocalStore(stringLength);
1384
_builder
.EmitIntegerSwitchJumpTable(
1399
_builder
.MarkLabel(charJumpTable.Label);
1404
_builder
.EmitLoadAddress(keyTemp);
1408
_builder
.EmitLoad(keyTemp);
1410
_builder
.EmitIntConstant(charJumpTable.SelectedCharPosition);
1411
_builder
.EmitOpCode(ILOpCode.Call, stackAdjustment: -1);
1415
_builder
.EmitOpCode(ILOpCode.Ldind_u2);
1417
_builder
.EmitLocalStore(charTemp);
1421
_builder
.EmitIntegerSwitchJumpTable(
1434
_builder
.MarkLabel(stringJumpTable.Label);
1447
_builder
.EmitToken(lengthMethodRef, syntaxNode: null, diag);
1491
_builder
.EmitLoad(key);
1492
_builder
.EmitOpCode(ILOpCode.Call, stackAdjustment: 0);
1493
_builder
.EmitToken(stringHashMethodRef, syntaxNode, _diagnostics.DiagnosticBag);
1498
_builder
.EmitLocalStore(keyHash);
1541
_builder
.EmitLoad(keyArg);
1542
_builder
.EmitBranch(ILOpCode.Brfalse, targetLabel, ILOpCode.Brtrue);
1553
_builder
.EmitLoadAddress(keyArg);
1557
_builder
.EmitLoad(keyArg);
1558
_builder
.EmitBranch(ILOpCode.Brfalse, skipToNext, ILOpCode.Brtrue);
1560
_builder
.EmitLoad(keyArg);
1564
_builder
.EmitOpCode(ILOpCode.Call, 0);
1566
_builder
.EmitToken(lengthMethodRef, null, diag);
1570
_builder
.EmitBranch(ILOpCode.Brfalse, targetLabel, ILOpCode.Brtrue);
1571
_builder
.MarkLabel(skipToNext);
1586
_builder
.EmitStringSwitchJumpTable(
1681
_builder
.EmitLoad(key);
1682
_builder
.EmitConstantValue(stringConstant);
1683
_builder
.EmitOpCode(ILOpCode.Call, stackAdjustment: -1);
1684
_builder
.EmitToken(stringEqualityMethodRef, syntaxNode, _diagnostics.DiagnosticBag);
1687
_builder
.EmitBranch(ILOpCode.Brtrue, targetLabel, ILOpCode.Brfalse);
1708
_builder
.EmitLoad(key);
1709
_builder
.EmitConstantValue(stringConstant);
1710
_builder
.EmitOpCode(ILOpCode.Call, stackAdjustment: 0);
1711
_builder
.EmitToken(asSpanRef, syntaxNode, _diagnostics.DiagnosticBag);
1712
_builder
.EmitOpCode(ILOpCode.Call, stackAdjustment: -1);
1713
_builder
.EmitToken(sequenceEqualsRef, syntaxNode, _diagnostics.DiagnosticBag);
1716
_builder
.EmitBranch(ILOpCode.Brtrue, targetLabel, ILOpCode.Brfalse);
1730
return
_builder
.LocalSlotManager.GetLocal(symbol);
1752
_builder
.AddLocalConstantToScope(localConstantDef);
1793
var localDef =
_builder
.LocalSlotManager.DeclareLocal(
1811
_builder
.AddLocalToScope(localDef);
1870
_builder
.LocalSlotManager.FreeLocal(local);
1879
return
_builder
.LocalSlotManager.AllocateSlot(
1889
_builder
.LocalSlotManager.FreeSlot(temp);