terraria-cpp2il-methodrecon v1.4.4.9
Terraria mobile dump, with reconstructed method body. Dump with CallAnalysis: https://infinitynichto.github.io/terraria-cpp2il
Loading...
Searching...
No Matches
ConcurrentQueue.cs
Go to the documentation of this file.
1using System;
8
10{
11 // Token: 0x02000610 RID: 1552
13 [DebuggerDisplay("Count = {Count}")]
16 {
17 // Token: 0x06002F57 RID: 12119 RVA: 0x000683FC File Offset: 0x000665FC
19 {
20 this._head = 1;
21 this._tail = 1;
22 }
23
24 // Token: 0x06002F58 RID: 12120 RVA: 0x00068420 File Offset: 0x00066620
26 {
27 while (array == null)
28 {
29 if (array != null)
30 {
31 return;
32 }
33 }
34 }
35
36 // Token: 0x1700077D RID: 1917
37 // (get) Token: 0x06002F59 RID: 12121 RVA: 0x00068434 File Offset: 0x00066634
39 {
40 get
41 {
42 }
43 }
44
45 // Token: 0x1700077E RID: 1918
46 // (get) Token: 0x06002F5A RID: 12122 RVA: 0x0000207A File Offset: 0x0000027A
48 {
49 get
50 {
51 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
52 }
53 }
54
55 // Token: 0x06002F5B RID: 12123 RVA: 0x0000207A File Offset: 0x0000027A
57 {
58 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
59 }
60
61 // Token: 0x06002F5C RID: 12124 RVA: 0x00068444 File Offset: 0x00066644
63 {
64 return true;
65 }
66
67 // Token: 0x06002F5D RID: 12125 RVA: 0x0000207A File Offset: 0x0000027A
69 {
70 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
71 }
72
73 // Token: 0x06002F5E RID: 12126 RVA: 0x00068454 File Offset: 0x00066654
74 public T[] ToArray()
75 {
76 int num = 1;
77 int value = num.m_value;
78 int value2 = num.m_value;
79 long num2 = 0L;
80 if (num != 0)
81 {
82 int value3 = num.m_value;
83 }
84 if (num2 == 0L)
85 {
86 }
87 throw new OutOfMemoryException();
88 }
89
90 // Token: 0x1700077F RID: 1919
91 // (get) Token: 0x06002F5F RID: 12127 RVA: 0x000684A4 File Offset: 0x000666A4
92 public int Count
93 {
94 get
95 {
96 /*
97An exception occurred when decompiling this method (06002F5F)
98
99ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 System.Collections.Concurrent.ConcurrentQueue`1::get_Count()
100
101 ---> System.Exception: Basic block has to end with unconditional control flow.
102{
103 Block_0:
104 stloc:Segment(var_0_06, ldfld:class System.Collections.Concurrent.ConcurrentQueue`1/Segment<!T>[exp:Segment](ConcurrentQueue`1::_head, ldloc:ConcurrentQueue`1(this)))
105 stloc:Segment(var_1_0D, ldfld:class System.Collections.Concurrent.ConcurrentQueue`1/Segment<!T>[exp:Segment](ConcurrentQueue`1::_tail, ldloc:ConcurrentQueue`1(this)))
106 stloc:Segment(var_2_14, ldfld:class System.Collections.Concurrent.ConcurrentQueue`1/Segment<!T>[exp:Segment](ConcurrentQueue`1::_head, ldloc:ConcurrentQueue`1(this)))
107 stloc:Segment(var_3_1B, ldfld:class System.Collections.Concurrent.ConcurrentQueue`1/Segment<!T>[exp:Segment](ConcurrentQueue`1::_tail, ldloc:ConcurrentQueue`1(this)))
108 stloc:Segment(var_4_22, ldfld:class System.Collections.Concurrent.ConcurrentQueue`1/Segment<!T>[exp:Segment](ConcurrentQueue`1::_head, ldloc:ConcurrentQueue`1(this)))
109 stloc:Segment(var_5_2A, ldfld:class System.Collections.Concurrent.ConcurrentQueue`1/Segment<!T>[exp:Segment](ConcurrentQueue`1::_tail, ldloc:ConcurrentQueue`1(this)))
110}
111
112 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
113 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
114 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
115 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
116 --- End of inner exception stack trace ---
117 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
118 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1683
119*/;
120 }
121 }
122
123 // Token: 0x06002F60 RID: 12128 RVA: 0x000684DC File Offset: 0x000666DC
124 private static int GetCount(ConcurrentQueue<T>.Segment s, int head, int tail)
125 {
126 }
127
128 // Token: 0x06002F61 RID: 12129 RVA: 0x000684EC File Offset: 0x000666EC
130 {
131 return 0L;
132 }
133
134 // Token: 0x06002F62 RID: 12130 RVA: 0x000684FC File Offset: 0x000666FC
135 public void CopyTo(T[] array, int index)
136 {
137 if (array != null)
138 {
139 return;
140 }
141 }
142
143 // Token: 0x06002F63 RID: 12131 RVA: 0x0000207A File Offset: 0x0000027A
145 {
146 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
147 }
148
149 // Token: 0x06002F64 RID: 12132 RVA: 0x00068538 File Offset: 0x00066738
150 private void SnapForObservation([Out] ConcurrentQueue<T>.Segment head, [Out] int headHead, [Out] ConcurrentQueue<T>.Segment tail, [Out] int tailTail)
151 {
155 headHead.m_value = head;
156 long num = 0L;
159 if (num == 0L)
160 {
161 return;
162 }
163 throw new OutOfMemoryException();
164 }
165
166 // Token: 0x06002F65 RID: 12133 RVA: 0x0006859C File Offset: 0x0006679C
168 {
169 /*
170An exception occurred when decompiling this method (06002F65)
171
172ICSharpCode.Decompiler.DecompilerException: Error decompiling T System.Collections.Concurrent.ConcurrentQueue`1::GetItemWhenAvailable(System.Collections.Concurrent.ConcurrentQueue`1/Segment<T>,System.Int32)
173
174 ---> System.Exception: Basic block has to end with unconditional control flow.
175{
176 Block_0:
177 stloc:valuetype System.Collections.Concurrent.ConcurrentQueue`1/Segment/Slot[](var_0_06, ldfld:valuetype System.Collections.Concurrent.ConcurrentQueue`1/Segment/Slot<!T>[][exp:valuetype System.Collections.Concurrent.ConcurrentQueue`1/Segment/Slot[]](Segment::_slots, ldloc:class System.Collections.Concurrent.ConcurrentQueue`1/Segment<!T>[exp:Segment](segment)))
178 stloc:int32(var_1_0D, ldfld:int32(Segment::_slotsMask, ldloc:class System.Collections.Concurrent.ConcurrentQueue`1/Segment<!T>[exp:Segment](segment)))
179 stloc:int32(var_2_14, ldfld:int32(Segment::_slotsMask, ldloc:class System.Collections.Concurrent.ConcurrentQueue`1/Segment<!T>[exp:Segment](segment)))
180 stloc:valuetype System.Collections.Concurrent.ConcurrentQueue`1/Segment/Slot[](var_3_1B, ldfld:valuetype System.Collections.Concurrent.ConcurrentQueue`1/Segment/Slot<!T>[][exp:valuetype System.Collections.Concurrent.ConcurrentQueue`1/Segment/Slot[]](Segment::_slots, ldloc:class System.Collections.Concurrent.ConcurrentQueue`1/Segment<!T>[exp:Segment](segment)))
181 stloc:int32(var_4_22, ldfld:int32(Segment::_slotsMask, ldloc:class System.Collections.Concurrent.ConcurrentQueue`1/Segment<!T>[exp:Segment](segment)))
182 stloc:valuetype System.Collections.Concurrent.ConcurrentQueue`1/Segment/Slot[](var_5_2A, ldfld:valuetype System.Collections.Concurrent.ConcurrentQueue`1/Segment/Slot<!T>[][exp:valuetype System.Collections.Concurrent.ConcurrentQueue`1/Segment/Slot[]](Segment::_slots, ldloc:class System.Collections.Concurrent.ConcurrentQueue`1/Segment<!T>[exp:Segment](segment)))
183}
184
185 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
186 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
187 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
188 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
189 --- End of inner exception stack trace ---
190 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
191 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1683
192*/;
193 }
194
195 // Token: 0x06002F66 RID: 12134 RVA: 0x0000207A File Offset: 0x0000027A
197 {
198 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
199 }
200
201 // Token: 0x06002F67 RID: 12135 RVA: 0x000685D4 File Offset: 0x000667D4
202 public void Enqueue(T item)
203 {
204 ConcurrentQueue.Segment tail = this._tail;
205 }
206
207 // Token: 0x06002F68 RID: 12136 RVA: 0x000685EC File Offset: 0x000667EC
208 private void EnqueueSlow(T item)
209 {
210 ConcurrentQueue.Segment tail = this._tail;
213 }
214
215 // Token: 0x06002F69 RID: 12137 RVA: 0x00068664 File Offset: 0x00066864
216 public bool TryDequeue([Out] T result)
217 {
218 ConcurrentQueue.Segment head = this._head;
219 return true;
220 }
221
222 // Token: 0x06002F6A RID: 12138 RVA: 0x0006867C File Offset: 0x0006687C
223 private bool TryDequeueSlow([Out] T item)
224 {
225 ConcurrentQueue.Segment head = this._head;
228 long num = 0L;
231 if (num == 0L)
232 {
233 while (2 != 0)
234 {
235 }
236 throw new OutOfMemoryException();
237 }
238 throw new OutOfMemoryException();
239 }
240
241 // Token: 0x04001A12 RID: 6674
242 private object _crossSegmentLock;
243
244 // Token: 0x04001A13 RID: 6675
246
247 // Token: 0x04001A14 RID: 6676
249
250 // Token: 0x02000611 RID: 1553
251 [DebuggerDisplay("Capacity = {Capacity}")]
252 internal sealed class Segment
253 {
254 // Token: 0x06002F6B RID: 12139 RVA: 0x000686DC File Offset: 0x000668DC
256 {
257 this._slots = this;
258 int slotsMask = this._slotsMask;
259 }
260
261 // Token: 0x17000780 RID: 1920
262 // (get) Token: 0x06002F6C RID: 12140 RVA: 0x00068700 File Offset: 0x00066900
263 internal int Capacity
264 {
265 get
266 {
267 /*
268An exception occurred when decompiling this method (06002F6C)
269
270ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 System.Collections.Concurrent.ConcurrentQueue`1/Segment::get_Capacity()
271
272 ---> System.Exception: Basic block has to end with unconditional control flow.
273{
274 Block_0:
275 stloc:valuetype System.Collections.Concurrent.ConcurrentQueue`1/Segment/Slot[](var_0_06, ldfld:valuetype System.Collections.Concurrent.ConcurrentQueue`1/Segment/Slot<!T>[][exp:valuetype System.Collections.Concurrent.ConcurrentQueue`1/Segment/Slot[]](Segment::_slots, ldloc:Segment(this)))
276}
277
278 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
279 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
280 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
281 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
282 --- End of inner exception stack trace ---
283 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
284 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1683
285*/;
286 }
287 }
288
289 // Token: 0x17000781 RID: 1921
290 // (get) Token: 0x06002F6D RID: 12141 RVA: 0x00068714 File Offset: 0x00066914
291 internal int FreezeOffset
292 {
293 get
294 {
295 /*
296An exception occurred when decompiling this method (06002F6D)
297
298ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 System.Collections.Concurrent.ConcurrentQueue`1/Segment::get_FreezeOffset()
299
300 ---> System.Exception: Basic block has to end with unconditional control flow.
301{
302 Block_0:
303 stloc:valuetype System.Collections.Concurrent.ConcurrentQueue`1/Segment/Slot[](var_0_06, ldfld:valuetype System.Collections.Concurrent.ConcurrentQueue`1/Segment/Slot<!T>[][exp:valuetype System.Collections.Concurrent.ConcurrentQueue`1/Segment/Slot[]](Segment::_slots, ldloc:Segment(this)))
304}
305
306 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
307 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
308 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
309 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
310 --- End of inner exception stack trace ---
311 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
312 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1683
313*/;
314 }
315 }
316
317 // Token: 0x06002F6E RID: 12142 RVA: 0x00068728 File Offset: 0x00066928
319 {
320 }
321
322 // Token: 0x06002F6F RID: 12143 RVA: 0x00068738 File Offset: 0x00066938
323 public bool TryDequeue([Out] T item)
324 {
325 int slotsMask = this._slotsMask;
326 ConcurrentQueue.Segment.Slot[] slots = this._slots;
328 if (item == null)
329 {
332 return;
333 }
334 }
335
336 // Token: 0x06002F70 RID: 12144 RVA: 0x00068774 File Offset: 0x00066974
337 public bool TryEnqueue(T item)
338 {
339 /*
340An exception occurred when decompiling this method (06002F70)
341
342ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean System.Collections.Concurrent.ConcurrentQueue`1/Segment::TryEnqueue(T)
343
344 ---> System.Exception: Basic block has to end with unconditional control flow.
345{
346 Block_0:
347 stloc:int32(var_0_06, ldfld:int32(Segment::_slotsMask, ldloc:Segment(this)))
348 stloc:valuetype System.Collections.Concurrent.ConcurrentQueue`1/Segment/Slot[](var_1_0D, ldfld:valuetype System.Collections.Concurrent.ConcurrentQueue`1/Segment/Slot<!T>[][exp:valuetype System.Collections.Concurrent.ConcurrentQueue`1/Segment/Slot[]](Segment::_slots, ldloc:Segment(this)))
349 stloc:valuetype System.Collections.Concurrent.ConcurrentQueue`1/Segment/Slot[](var_4_16, ldfld:valuetype System.Collections.Concurrent.ConcurrentQueue`1/Segment/Slot<!T>[][exp:valuetype System.Collections.Concurrent.ConcurrentQueue`1/Segment/Slot[]](Segment::_slots, ldloc:Segment(this)))
350 stloc:valuetype System.Collections.Concurrent.ConcurrentQueue`1/Segment/Slot[](var_5_1E, ldfld:valuetype System.Collections.Concurrent.ConcurrentQueue`1/Segment/Slot<!T>[][exp:valuetype System.Collections.Concurrent.ConcurrentQueue`1/Segment/Slot[]](Segment::_slots, ldloc:Segment(this)))
351}
352
353 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
354 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
355 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
356 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
357 --- End of inner exception stack trace ---
358 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
359 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1683
360*/;
361 }
362
363 // Token: 0x04001A15 RID: 6677
365
366 // Token: 0x04001A16 RID: 6678
367 internal readonly int _slotsMask;
368
369 // Token: 0x04001A17 RID: 6679
371
372 // Token: 0x04001A18 RID: 6680
374
375 // Token: 0x04001A19 RID: 6681
376 internal bool _frozenForEnqueues;
377
378 // Token: 0x04001A1A RID: 6682
380
381 // Token: 0x02000612 RID: 1554
382 [DebuggerDisplay("Item = {Item}, SequenceNumber = {SequenceNumber}")]
383 [StructLayout(3)]
384 internal struct Slot
385 {
386 // Token: 0x04001A1B RID: 6683
387 public T Item;
388
389 // Token: 0x04001A1C RID: 6684
390 public int SequenceNumber;
391 }
392 }
393
394 // Token: 0x02000613 RID: 1555
396 private sealed class <Enumerate>d__28 : IEnumerator<T>, IDisposable, IEnumerator
397 {
398 // Token: 0x06002F71 RID: 12145 RVA: 0x000687A4 File Offset: 0x000669A4
401 {
402 this.<>1__state = <>1__state;
403 }
404
405 // Token: 0x06002F72 RID: 12146 RVA: 0x000687C0 File Offset: 0x000669C0
407 void IDisposable.Dispose()
408 {
409 }
410
411 // Token: 0x06002F73 RID: 12147 RVA: 0x000687D0 File Offset: 0x000669D0
412 private bool MoveNext()
413 {
414 /*
415An exception occurred when decompiling this method (06002F73)
416
417ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean System.Collections.Concurrent.ConcurrentQueue`1/<Enumerate>d__28::MoveNext()
418
419 ---> System.Exception: Basic block has to end with unconditional control flow.
420{
421 Block_0:
422 stloc:int32(var_0_06, ldfld:int32('<Enumerate>d__28'::<>1__state, ldloc:'<Enumerate>d__28'(this)))
423 stloc:int32(var_1_0D, ldfld:int32('<Enumerate>d__28'::<i>5__3, ldloc:'<Enumerate>d__28'(this)))
424 stloc:int32(var_2_14, ldfld:int32('<Enumerate>d__28'::headHead, ldloc:'<Enumerate>d__28'(this)))
425 stloc:int32(var_3_16, ldc.i4:int32(1))
426 stfld:int32('<Enumerate>d__28'::<>1__state, ldloc:'<Enumerate>d__28'(this), ldloc:int32(var_3_16))
427 stloc:int32(var_4_24, ldfld:int32('<Enumerate>d__28'::<i>5__5, ldloc:'<Enumerate>d__28'(this)))
428 stloc:int32(var_5_2C, ldfld:int32('<Enumerate>d__28'::<i>5__5, ldloc:'<Enumerate>d__28'(this)))
429 stloc:int32(var_6_34, ldfld:int32('<Enumerate>d__28'::<i>5__5, ldloc:'<Enumerate>d__28'(this)))
430 stloc:int32(var_7_3C, ldfld:int32('<Enumerate>d__28'::<i>5__5, ldloc:'<Enumerate>d__28'(this)))
431 stloc:int64(var_8_3F, ldc.i4:int64(0))
432 stloc:int32(var_9_42, ldc.i4:int32(3))
433 stloc:int32(var_10_4A, ldfld:int32('<Enumerate>d__28'::<headTail>5__2, ldloc:'<Enumerate>d__28'(this)))
434 stfld:int32('<Enumerate>d__28'::<headTail>5__2, ldloc:'<Enumerate>d__28'(this), ldloc:int64[exp:int32](var_8_3F))
435 stloc:int32(var_11_5A, ldfld:int32('<Enumerate>d__28'::headHead, ldloc:'<Enumerate>d__28'(this)))
436 stfld:int32('<Enumerate>d__28'::<>1__state, ldloc:'<Enumerate>d__28'(this), ldloc:int32(var_9_42))
437 stfld:int32('<Enumerate>d__28'::<i>5__5, ldloc:'<Enumerate>d__28'(this), ldloc:int32(var_9_42))
438 stloc:int32(var_14_78, ldfld:int32('<Enumerate>d__28'::headHead, ldloc:'<Enumerate>d__28'(this)))
439 stloc:int32(var_16_83, ldfld:int32('<Enumerate>d__28'::headHead, ldloc:'<Enumerate>d__28'(this)))
440}
441
442 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
443 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
444 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
445 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
446 --- End of inner exception stack trace ---
447 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
448 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1683
449*/;
450 }
451
452 // Token: 0x17000782 RID: 1922
453 // (get) Token: 0x06002F74 RID: 12148 RVA: 0x0000207A File Offset: 0x0000027A
455 {
457 get
458 {
459 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
460 }
461 }
462
463 // Token: 0x06002F75 RID: 12149 RVA: 0x0000207A File Offset: 0x0000027A
465 void IEnumerator.Reset()
466 {
467 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
468 }
469
470 // Token: 0x17000783 RID: 1923
471 // (get) Token: 0x06002F76 RID: 12150 RVA: 0x0000207A File Offset: 0x0000027A
473 {
475 get
476 {
477 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
478 }
479 }
480
481 // Token: 0x04001A1D RID: 6685
482 private int <>1__state;
483
484 // Token: 0x04001A1E RID: 6686
485 private T <>2__current;
486
487 // Token: 0x04001A1F RID: 6687
488 public ConcurrentQueue<T>.Segment head;
489
490 // Token: 0x04001A20 RID: 6688
491 public ConcurrentQueue<T>.Segment tail;
492
493 // Token: 0x04001A21 RID: 6689
494 public int tailTail;
495
496 // Token: 0x04001A22 RID: 6690
497 public int headHead;
498
499 // Token: 0x04001A23 RID: 6691
500 public ConcurrentQueue<T> <>4__this;
501
502 // Token: 0x04001A24 RID: 6692
503 private int <headTail>5__2;
504
505 // Token: 0x04001A25 RID: 6693
506 private int <i>5__3;
507
508 // Token: 0x04001A26 RID: 6694
510
511 // Token: 0x04001A27 RID: 6695
512 private int <i>5__5;
513 }
514 }
515}
class f__AnonymousType0<< Count > j__TPar
readonly ConcurrentQueue< T >.Segment.Slot[] _slots
static long GetCount(ConcurrentQueue< T >.Segment head, int headHead, ConcurrentQueue< T >.Segment tail, int tailTail)
IEnumerator< T > Enumerate(ConcurrentQueue< T >.Segment head, int headHead, ConcurrentQueue< T >.Segment tail, int tailTail)
T GetItemWhenAvailable(ConcurrentQueue< T >.Segment segment, int i)
void SnapForObservation([Out] ConcurrentQueue< T >.Segment head, [Out] int headHead, [Out] ConcurrentQueue< T >.Segment tail, [Out] int tailTail)
static int GetCount(ConcurrentQueue< T >.Segment s, int head, int tail)
static void Exit(object obj)
Definition Monitor.cs:47
void CopyTo(Array array, int index)