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
LocalDataStoreMgr.cs
Go to the documentation of this file.
1using System;
6
7namespace System
8{
9 // Token: 0x02000143 RID: 323
10 internal sealed class LocalDataStoreMgr
11 {
12 // Token: 0x06000CBF RID: 3263 RVA: 0x0000207A File Offset: 0x0000027A
14 {
15 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
16 }
17
18 // Token: 0x06000CC0 RID: 3264 RVA: 0x0001BBCC File Offset: 0x00019DCC
20 {
23 long num = 0L;
24 Monitor.Exit(this);
25 if (num == 0L)
26 {
27 return;
28 }
29 throw new OutOfMemoryException();
30 }
31
32 // Token: 0x06000CC1 RID: 3265 RVA: 0x0001BC18 File Offset: 0x00019E18
34 {
36 bool[] slotInfoTable = this.m_SlotInfoTable;
38 bool[] slotInfoTable2 = this.m_SlotInfoTable;
39 int num = 1;
42 long num2 = 0L;
43 Monitor.Exit(this);
44 if (num2 == 0L)
45 {
46 throw new OverflowException();
47 }
48 throw new OutOfMemoryException();
49 }
50
51 // Token: 0x06000CC2 RID: 3266 RVA: 0x0001BC88 File Offset: 0x00019E88
65
66 // Token: 0x06000CC3 RID: 3267 RVA: 0x0001BCD8 File Offset: 0x00019ED8
68 {
71 string text;
73 if (text == null)
74 {
76 }
77 long num = 0L;
78 Monitor.Exit(this);
79 if (num == 0L)
80 {
81 return localDataStoreSlot;
82 }
83 throw new OutOfMemoryException();
84 }
85
86 // Token: 0x06000CC4 RID: 3268 RVA: 0x0001BD28 File Offset: 0x00019F28
87 public void FreeNamedDataSlot(string name)
88 {
91 long num = 0L;
92 Monitor.Exit(this);
93 if (num == 0L)
94 {
95 return;
96 }
97 throw new OutOfMemoryException();
98 }
99
100 // Token: 0x06000CC5 RID: 3269 RVA: 0x0000207A File Offset: 0x0000027A
101 internal void FreeDataSlot(int slot, long cookie)
102 {
103 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
104 }
105
106 // Token: 0x06000CC6 RID: 3270 RVA: 0x0001BD74 File Offset: 0x00019F74
108 {
109 /*
110An exception occurred when decompiling this method (06000CC6)
111
112ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void System.LocalDataStoreMgr::ValidateSlot(System.LocalDataStoreSlot)
113
114 ---> System.Exception: Basic block has to end with unconditional control flow.
115{
116 IL_000B:
117 stloc:string(var_1_15, call:string(Environment::GetResourceString, ldstr:string("Specified slot number was invalid.")))
118}
119
120 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
121 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
122 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
123 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
124 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
125 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
126 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
127 --- End of inner exception stack trace ---
128 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
129 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
130*/;
131 }
132
133 // Token: 0x06000CC7 RID: 3271 RVA: 0x0001BD98 File Offset: 0x00019F98
134 internal int GetSlotTableLength()
135 {
136 /*
137An exception occurred when decompiling this method (06000CC7)
138
139ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 System.LocalDataStoreMgr::GetSlotTableLength()
140
141 ---> System.Exception: Basic block has to end with unconditional control flow.
142{
143 Block_0:
144 stloc:bool[](var_0_06, ldfld:bool[](LocalDataStoreMgr::m_SlotInfoTable, ldloc:LocalDataStoreMgr(this)))
145}
146
147 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
148 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
149 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
150 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
151 --- End of inner exception stack trace ---
152 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
153 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
154*/;
155 }
156
157 // Token: 0x06000CC8 RID: 3272 RVA: 0x0001BDAC File Offset: 0x00019FAC
159 {
160 }
161
162 // Token: 0x040004EF RID: 1263
163 private const int InitialSlotTableSize = 64;
164
165 // Token: 0x040004F0 RID: 1264
166 private const int SlotTableDoubleThreshold = 512;
167
168 // Token: 0x040004F1 RID: 1265
169 private const int LargeSlotTableSizeIncrease = 128;
170
171 // Token: 0x040004F2 RID: 1266
172 private bool[] m_SlotInfoTable;
173
174 // Token: 0x040004F3 RID: 1267
176
177 // Token: 0x040004F4 RID: 1268
179
180 // Token: 0x040004F5 RID: 1269
182
183 // Token: 0x040004F6 RID: 1270
184 private long m_CookieGenerator;
185 }
186}
class f__AnonymousType0<< Count > j__TPar
static readonly long
LocalDataStoreHolder CreateLocalDataStore()
LocalDataStoreSlot GetNamedDataSlot(string name)
Dictionary< string, LocalDataStoreSlot > m_KeyToSlotMap
void DeleteLocalDataStore(LocalDataStore store)
void FreeNamedDataSlot(string name)
void FreeDataSlot(int slot, long cookie)
LocalDataStoreSlot AllocateDataSlot()
List< LocalDataStore > m_ManagedLocalDataStores
LocalDataStoreSlot AllocateNamedDataSlot(string name)
void ValidateSlot(LocalDataStoreSlot slot)
static void Exit(object obj)
Definition Monitor.cs:47