terraria-cpp2il v1.4.4.9
Terraria mobile dump, with CallAnalysis (see source code). Dump with reconstucted method: https://infinitynichto.github.io/terraria-cpp2il-methodrecon
Loading...
Searching...
No Matches
TlsOverPerCoreLockedStacksArrayPool.cs
Go to the documentation of this file.
1using System;
8
9namespace System.Buffers
10{
11 [global::Cpp2ILInjected.Token(Token = "0x2000666")]
12 internal sealed class TlsOverPerCoreLockedStacksArrayPool<T> : ArrayPool<T>
13 {
14 [global::Cpp2ILInjected.Token(Token = "0x60031CF")]
15 [global::Cpp2ILInjected.Address(RVA = "0x187EB68", Offset = "0x187EB68", Length = "0xE4")]
16 [global::Cpp2ILInjected.CallAnalysis.DeduplicatedMethod]
17 [global::Cpp2ILInjected.CallAnalysis.ContainsUnimplementedInstructions]
18 [global::Cpp2ILInjected.CallAnalysis.CallerCount(Count = 0)]
19 [global::Cpp2ILInjected.CallAnalysis.CallsUnknownMethods(Count = 6)]
21 {
22 throw null;
23 }
24
25 [global::Cpp2ILInjected.Token(Token = "0x60031D0")]
26 [global::Cpp2ILInjected.Address(RVA = "0x187EC4C", Offset = "0x187EC4C", Length = "0x80")]
27 [global::Cpp2ILInjected.CallAnalysis.DeduplicatedMethod]
28 [global::Cpp2ILInjected.CallAnalysis.ContainsUnimplementedInstructions]
29 [global::Cpp2ILInjected.CallAnalysis.CallerCount(Count = 0)]
30 [global::Cpp2ILInjected.CallAnalysis.CallsUnknownMethods(Count = 3)]
35
36 [global::Cpp2ILInjected.Token(Token = "0x170007FC")]
37 private int Id
38 {
39 [global::Cpp2ILInjected.Token(Token = "0x60031D1")]
40 [global::Cpp2ILInjected.Address(RVA = "0x187ECCC", Offset = "0x187ECCC", Length = "0xC")]
41 [global::Cpp2ILInjected.CallAnalysis.DeduplicatedMethod]
42 [global::Cpp2ILInjected.CallAnalysis.CallerCount(Count = 0)]
43 [global::Cpp2ILInjected.CallAnalysis.CallsUnknownMethods(Count = 1)]
44 get
45 {
46 throw null;
47 }
48 }
49
50 [global::Cpp2ILInjected.Token(Token = "0x60031D2")]
51 [global::Cpp2ILInjected.Address(RVA = "0x187ECD8", Offset = "0x187ECD8", Length = "0x33C")]
52 [global::Cpp2ILInjected.CallAnalysis.DeduplicatedMethod]
53 [global::Cpp2ILInjected.CallAnalysis.ContainsUnimplementedInstructions]
54 [global::Cpp2ILInjected.CallAnalysis.CallerCount(Count = 0)]
55 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(global::System.Diagnostics.Tracing.EventSource), Member = "IsEnabled", ReturnType = typeof(bool))]
56 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(ArrayPoolEventSource), Member = "BufferRented", MemberParameters = new object[]
57 {
58 typeof(int),
59 typeof(int),
60 typeof(int),
61 typeof(int)
62 }, ReturnType = typeof(void))]
63 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(ArrayPoolEventSource), Member = "BufferAllocated", MemberParameters = new object[]
64 {
65 typeof(int),
66 typeof(int),
67 typeof(int),
68 typeof(int),
69 typeof(ArrayPoolEventSource.BufferAllocatedReason)
70 }, ReturnType = typeof(void))]
71 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(global::System.ArgumentOutOfRangeException), Member = ".ctor", MemberParameters = new object[] { typeof(string) }, ReturnType = typeof(void))]
72 [global::Cpp2ILInjected.CallAnalysis.CallsUnknownMethods(Count = 14)]
73 public override T[] Rent(int minimumLength)
74 {
75 throw null;
76 }
77
78 [global::Cpp2ILInjected.Token(Token = "0x60031D3")]
79 [global::Cpp2ILInjected.Address(RVA = "0x187F014", Offset = "0x187F014", Length = "0x47C")]
80 [global::Cpp2ILInjected.CallAnalysis.DeduplicatedMethod]
81 [global::Cpp2ILInjected.CallAnalysis.ContainsUnimplementedInstructions]
82 [global::Cpp2ILInjected.CallAnalysis.CallerCount(Count = 0)]
83 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(global::System.Array), Member = "Clear", MemberParameters = new object[]
84 {
85 typeof(global::System.Array),
86 typeof(int),
87 typeof(int)
88 }, ReturnType = typeof(void))]
89 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(global::System.Threading.Interlocked), Member = "Exchange", MemberParameters = new object[]
90 {
91 typeof(ref int),
92 typeof(int)
93 }, ReturnType = typeof(int))]
94 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(global::System.Func<object, bool>), Member = ".ctor", MemberParameters = new object[]
95 {
96 typeof(object),
97 typeof(global::System.IntPtr)
98 }, ReturnType = typeof(void))]
99 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(global::System.Gen2GcCallback), Member = "Register", MemberParameters = new object[]
100 {
101 typeof(global::System.Func<object, bool>),
102 typeof(object)
103 }, ReturnType = typeof(void))]
104 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(global::System.Diagnostics.Tracing.EventSource), Member = "IsEnabled", ReturnType = typeof(bool))]
105 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(ArrayPoolEventSource), Member = "BufferReturned", MemberParameters = new object[]
106 {
107 typeof(int),
108 typeof(int),
109 typeof(int)
110 }, ReturnType = typeof(void))]
111 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(global::System.ArgumentNullException), Member = ".ctor", MemberParameters = new object[] { typeof(string) }, ReturnType = typeof(void))]
112 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(global::System.ArgumentException), Member = ".ctor", MemberParameters = new object[]
113 {
114 typeof(string),
115 typeof(string)
116 }, ReturnType = typeof(void))]
117 [global::Cpp2ILInjected.CallAnalysis.CallsUnknownMethods(Count = 33)]
118 public override void Return(T[] array, bool clearArray = false)
119 {
120 throw null;
121 }
122
123 [global::Cpp2ILInjected.Token(Token = "0x60031D4")]
124 [global::Cpp2ILInjected.Address(RVA = "0x187F490", Offset = "0x187F490", Length = "0x7AC")]
125 [global::Cpp2ILInjected.CallAnalysis.DeduplicatedMethod]
126 [global::Cpp2ILInjected.CallAnalysis.ContainsUnimplementedInstructions]
127 [global::Cpp2ILInjected.CallAnalysis.CallerCount(Count = 0)]
128 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(global::System.Environment), Member = "get_TickCount", ReturnType = typeof(int))]
129 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(global::System.Diagnostics.Tracing.EventSource), Member = "IsEnabled", ReturnType = typeof(bool))]
130 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(ArrayPoolEventSource), Member = "BufferTrimPoll", MemberParameters = new object[]
131 {
132 typeof(int),
133 typeof(int)
134 }, ReturnType = typeof(void))]
135 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(ArrayPoolEventSource), Member = "BufferTrimmed", MemberParameters = new object[]
136 {
137 typeof(int),
138 typeof(int),
139 typeof(int)
140 }, ReturnType = typeof(void))]
141 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(global::System.Array), Member = "Clear", MemberParameters = new object[]
142 {
143 typeof(global::System.Array),
144 typeof(int),
145 typeof(int)
146 }, ReturnType = typeof(void))]
147 [global::Cpp2ILInjected.CallAnalysis.CallsUnknownMethods(Count = 37)]
148 public bool Trim()
149 {
150 throw null;
151 }
152
153 [global::Cpp2ILInjected.Token(Token = "0x60031D5")]
154 [global::Cpp2ILInjected.Address(RVA = "0x187FC3C", Offset = "0x187FC3C", Length = "0xF8")]
155 [global::Cpp2ILInjected.CallAnalysis.DeduplicatedMethod]
156 [global::Cpp2ILInjected.CallAnalysis.ContainsUnimplementedInstructions]
157 [global::Cpp2ILInjected.CallAnalysis.CallerCount(Count = 0)]
158 [global::Cpp2ILInjected.CallAnalysis.CallsUnknownMethods(Count = 8)]
159 private static bool Gen2GcCallbackFunc(object target)
160 {
161 throw null;
162 }
163
164 [global::Cpp2ILInjected.Token(Token = "0x60031D6")]
165 [global::Cpp2ILInjected.Address(RVA = "0x187FD34", Offset = "0x187FD34", Length = "0xB8")]
166 [global::Cpp2ILInjected.CallAnalysis.DeduplicatedMethod]
167 [global::Cpp2ILInjected.CallAnalysis.ContainsUnimplementedInstructions]
168 [global::Cpp2ILInjected.CallAnalysis.CallerCount(Count = 0)]
169 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(global::System.GC), Member = "GetMemoryInfo", MemberParameters = new object[]
170 {
171 typeof(ref uint),
173 typeof(ref uint),
174 typeof(ref global::System.UIntPtr),
175 typeof(ref global::System.UIntPtr)
176 }, ReturnType = typeof(void))]
177 [global::Cpp2ILInjected.CallAnalysis.CallsUnknownMethods(Count = 2)]
179 {
180 throw null;
181 }
182
183 [global::Cpp2ILInjected.Token(Token = "0x60031D7")]
184 [global::Cpp2ILInjected.Address(RVA = "0x187FDEC", Offset = "0x187FDEC", Length = "0x8")]
185 [global::Cpp2ILInjected.CallAnalysis.DeduplicatedMethod]
186 [global::Cpp2ILInjected.CallAnalysis.CallerCount(Count = 0)]
187 private static bool GetTrimBuffers()
188 {
189 throw null;
190 }
191
192 // Note: this type is marked as 'beforefieldinit'.
193 [global::Cpp2ILInjected.Token(Token = "0x60031D8")]
194 [global::Cpp2ILInjected.Address(RVA = "0x187FDF4", Offset = "0x187FDF4", Length = "0x1A8")]
195 [global::Cpp2ILInjected.CallAnalysis.DeduplicatedMethod]
196 [global::Cpp2ILInjected.CallAnalysis.ContainsUnimplementedInstructions]
197 [global::Cpp2ILInjected.CallAnalysis.CallerCount(Count = 0)]
198 [global::Cpp2ILInjected.CallAnalysis.CallsUnknownMethods(Count = 15)]
200 {
201 throw null;
202 }
203
204 [global::Cpp2ILInjected.Token(Token = "0x4001AB2")]
205 [global::Cpp2ILInjected.FieldOffset(Offset = "0x0")]
207
208 [global::Cpp2ILInjected.Token(Token = "0x4001AB3")]
209 [global::Cpp2ILInjected.FieldOffset(Offset = "0x0")]
211
212 [global::System.ThreadStatic]
213 [global::Cpp2ILInjected.Token(Token = "0x4001AB4")]
214 private static T[][] t_tlsBuckets;
215
216 [global::Cpp2ILInjected.Token(Token = "0x4001AB5")]
217 [global::Cpp2ILInjected.FieldOffset(Offset = "0x0")]
218 private int _callbackCreated;
219
220 [global::Cpp2ILInjected.Token(Token = "0x4001AB6")]
221 private static readonly bool s_trimBuffers;
222
223 [global::Cpp2ILInjected.Token(Token = "0x4001AB7")]
224 private static readonly global::System.Runtime.CompilerServices.ConditionalWeakTable<T[][], object> s_allTlsBuckets;
225
226 [global::Cpp2ILInjected.Token(Token = "0x2000667")]
227 private enum MemoryPressure
228 {
229 [global::Cpp2ILInjected.Token(Token = "0x4001AB9")]
230 Low,
231 [global::Cpp2ILInjected.Token(Token = "0x4001ABA")]
232 Medium,
233 [global::Cpp2ILInjected.Token(Token = "0x4001ABB")]
234 High
235 }
236
237 [global::Cpp2ILInjected.Token(Token = "0x2000668")]
238 private sealed class PerCoreLockedStacks
239 {
240 [global::Cpp2ILInjected.Token(Token = "0x60031D9")]
241 [global::Cpp2ILInjected.Address(RVA = "0x1819534", Offset = "0x1819534", Length = "0x148")]
242 [global::Cpp2ILInjected.CallAnalysis.DeduplicatedMethod]
243 [global::Cpp2ILInjected.CallAnalysis.ContainsUnimplementedInstructions]
244 [global::Cpp2ILInjected.CallAnalysis.CallerCount(Count = 0)]
245 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(object), Member = ".ctor", ReturnType = typeof(void))]
246 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(global::System.Environment), Member = "get_ProcessorCount", ReturnType = typeof(int))]
247 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(global::System.Math), Member = "Min", MemberParameters = new object[]
248 {
249 typeof(int),
250 typeof(int)
251 }, ReturnType = typeof(int))]
252 [global::Cpp2ILInjected.CallAnalysis.CallsUnknownMethods(Count = 9)]
254 {
255 throw null;
256 }
257
258 [global::Cpp2ILInjected.Token(Token = "0x60031DA")]
259 [global::Cpp2ILInjected.Address(RVA = "0x181967C", Offset = "0x181967C", Length = "0xC4")]
260 [global::Cpp2ILInjected.CallAnalysis.DeduplicatedMethod]
261 [global::Cpp2ILInjected.CallAnalysis.ContainsUnimplementedInstructions]
262 [global::Cpp2ILInjected.CallAnalysis.CallerCount(Count = 0)]
263 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(Internal.Runtime.Augments.RuntimeThread), Member = "GetCurrentProcessorId", ReturnType = typeof(int))]
264 [global::Cpp2ILInjected.CallAnalysis.CallsUnknownMethods(Count = 2)]
265 [MethodImpl(256)]
266 public void TryPush(T[] array)
267 {
268 throw null;
269 }
270
271 [global::Cpp2ILInjected.Token(Token = "0x60031DB")]
272 [global::Cpp2ILInjected.Address(RVA = "0x1819740", Offset = "0x1819740", Length = "0xC0")]
273 [global::Cpp2ILInjected.CallAnalysis.DeduplicatedMethod]
274 [global::Cpp2ILInjected.CallAnalysis.ContainsUnimplementedInstructions]
275 [global::Cpp2ILInjected.CallAnalysis.CallerCount(Count = 0)]
276 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(Internal.Runtime.Augments.RuntimeThread), Member = "GetCurrentProcessorId", ReturnType = typeof(int))]
277 [global::Cpp2ILInjected.CallAnalysis.CallsUnknownMethods(Count = 2)]
278 [MethodImpl(256)]
279 public T[] TryPop()
280 {
281 throw null;
282 }
283
284 [global::Cpp2ILInjected.Token(Token = "0x60031DC")]
285 [global::Cpp2ILInjected.Address(RVA = "0x1819800", Offset = "0x1819800", Length = "0x94")]
286 [global::Cpp2ILInjected.CallAnalysis.DeduplicatedMethod]
287 [global::Cpp2ILInjected.CallAnalysis.ContainsUnimplementedInstructions]
288 [global::Cpp2ILInjected.CallAnalysis.CallerCount(Count = 0)]
290 {
291 throw null;
292 }
293
294 [global::Cpp2ILInjected.Token(Token = "0x4001ABC")]
295 [global::Cpp2ILInjected.FieldOffset(Offset = "0x0")]
297 }
298
299 [global::Cpp2ILInjected.Token(Token = "0x2000669")]
300 private sealed class LockedStack
301 {
302 [global::Cpp2ILInjected.Token(Token = "0x60031DD")]
303 [global::Cpp2ILInjected.Address(RVA = "0x17C6254", Offset = "0x17C6254", Length = "0xF0")]
304 [global::Cpp2ILInjected.CallAnalysis.DeduplicatedMethod]
305 [global::Cpp2ILInjected.CallAnalysis.ContainsUnimplementedInstructions]
306 [global::Cpp2ILInjected.CallAnalysis.CallerCount(Count = 0)]
307 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(global::System.Threading.Monitor), Member = "Enter", MemberParameters = new object[] { typeof(object) }, ReturnType = typeof(void))]
308 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(global::System.Environment), Member = "get_TickCount", ReturnType = typeof(int))]
309 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(global::System.Threading.Monitor), Member = "Exit", MemberParameters = new object[] { typeof(object) }, ReturnType = typeof(void))]
310 [global::Cpp2ILInjected.CallAnalysis.CallsUnknownMethods(Count = 6)]
311 [MethodImpl(256)]
312 public bool TryPush(T[] array)
313 {
314 throw null;
315 }
316
317 [global::Cpp2ILInjected.Token(Token = "0x60031DE")]
318 [global::Cpp2ILInjected.Address(RVA = "0x17C6344", Offset = "0x17C6344", Length = "0x58")]
319 [global::Cpp2ILInjected.CallAnalysis.DeduplicatedMethod]
320 [global::Cpp2ILInjected.CallAnalysis.CallerCount(Count = 0)]
321 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(global::System.Threading.Monitor), Member = "Enter", MemberParameters = new object[] { typeof(object) }, ReturnType = typeof(void))]
322 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(global::System.Threading.Monitor), Member = "Exit", MemberParameters = new object[] { typeof(object) }, ReturnType = typeof(void))]
323 [MethodImpl(256)]
324 public T[] TryPop()
325 {
326 throw null;
327 }
328
329 [global::Cpp2ILInjected.Token(Token = "0x60031DF")]
330 [global::Cpp2ILInjected.Address(RVA = "0x17C639C", Offset = "0x17C639C", Length = "0x228")]
331 [global::Cpp2ILInjected.CallAnalysis.DeduplicatedMethod]
332 [global::Cpp2ILInjected.CallAnalysis.ContainsUnimplementedInstructions]
333 [global::Cpp2ILInjected.CallAnalysis.CallerCount(Count = 0)]
334 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(global::System.Threading.Monitor), Member = "Enter", MemberParameters = new object[]
335 {
336 typeof(object),
337 typeof(ref bool)
338 }, ReturnType = typeof(void))]
339 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(global::System.Diagnostics.Tracing.EventSource), Member = "IsEnabled", ReturnType = typeof(bool))]
340 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(ArrayPoolEventSource), Member = "BufferTrimmed", MemberParameters = new object[]
341 {
342 typeof(int),
343 typeof(int),
344 typeof(int)
345 }, ReturnType = typeof(void))]
346 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(global::System.Threading.Monitor), Member = "Exit", MemberParameters = new object[] { typeof(object) }, ReturnType = typeof(void))]
347 [global::Cpp2ILInjected.CallAnalysis.CallsUnknownMethods(Count = 8)]
349 {
350 throw null;
351 }
352
353 [global::Cpp2ILInjected.Token(Token = "0x60031E0")]
354 [global::Cpp2ILInjected.Address(RVA = "0x17C65C4", Offset = "0x17C65C4", Length = "0x48")]
355 [global::Cpp2ILInjected.CallAnalysis.DeduplicatedMethod]
356 [global::Cpp2ILInjected.CallAnalysis.CallerCount(Count = 0)]
357 [global::Cpp2ILInjected.CallAnalysis.Calls(Type = typeof(object), Member = ".ctor", ReturnType = typeof(void))]
358 [global::Cpp2ILInjected.CallAnalysis.CallsUnknownMethods(Count = 2)]
359 public LockedStack()
360 {
361 throw null;
362 }
363
364 [global::Cpp2ILInjected.Token(Token = "0x4001ABD")]
365 [global::Cpp2ILInjected.FieldOffset(Offset = "0x0")]
366 private readonly T[][] _arrays;
367
368 [global::Cpp2ILInjected.Token(Token = "0x4001ABE")]
369 [global::Cpp2ILInjected.FieldOffset(Offset = "0x0")]
370 private int _count;
371
372 [global::Cpp2ILInjected.Token(Token = "0x4001ABF")]
373 [global::Cpp2ILInjected.FieldOffset(Offset = "0x0")]
374 private uint _firstStackItemMS;
375 }
376 }
377}
class f__AnonymousType0<< Count > j__TPar
void Trim(uint tickCount, int id, TlsOverPerCoreLockedStacksArrayPool< T >.MemoryPressure pressure, int bucketSize)
bool Trim(uint tickCount, int id, TlsOverPerCoreLockedStacksArrayPool< T >.MemoryPressure pressure, int[] bucketSizes)
readonly TlsOverPerCoreLockedStacksArrayPool< T >.LockedStack[] _perCoreStacks
static TlsOverPerCoreLockedStacksArrayPool< T >.MemoryPressure GetMemoryPressure()
readonly TlsOverPerCoreLockedStacksArrayPool< T >.PerCoreLockedStacks[] _buckets
static readonly global::System.Runtime.CompilerServices.ConditionalWeakTable< T[][], object > s_allTlsBuckets
TlsOverPerCoreLockedStacksArrayPool< T >.PerCoreLockedStacks CreatePerCoreLockedStacks(int bucketIndex)