39 |
#endif |
#endif |
40 |
|
|
41 |
/* State of an ILExecProcess/AppDomain */ |
/* State of an ILExecProcess/AppDomain */ |
42 |
#define _IL_PROCESS_STATE_UNLOADING (1) |
#define _IL_PROCESS_STATE_CREATED (0) |
43 |
#define _IL_PROCESS_STATE_UNLOADED (2) |
#define _IL_PROCESS_STATE_LOADED (1) |
44 |
|
#define _IL_PROCESS_STATE_UNLOADING (2) |
45 |
|
#define _IL_PROCESS_STATE_UNLOADED (4) |
46 |
|
|
47 |
/* Flags that represents various tasks that need to be performed |
/* Flags that represents various tasks that need to be performed |
48 |
at safe points */ |
at safe points */ |
120 |
|
|
121 |
}; |
}; |
122 |
|
|
123 |
|
#ifdef IL_CONFIG_APPDOMAINS |
124 |
|
/* |
125 |
|
* structure that keeps track of the created processes |
126 |
|
*/ |
127 |
|
struct __tagILExecEngine |
128 |
|
{ |
129 |
|
/* Default stack size for new threads */ |
130 |
|
ILUInt32 stackSize; |
131 |
|
ILUInt32 frameStackSize; |
132 |
|
|
133 |
|
/* lock to serialize access to application domains */ |
134 |
|
ILMutex *processLock; |
135 |
|
/* linked list of application domains */ |
136 |
|
ILExecProcess *firstProcess; |
137 |
|
|
138 |
|
/* default appdomain */ |
139 |
|
ILExecProcess *defaultProcess; |
140 |
|
}; |
141 |
|
#endif |
142 |
|
|
143 |
/* |
/* |
144 |
* Structure of a breakpoint watch registration. |
* Structure of a breakpoint watch registration. |
145 |
*/ |
*/ |
183 |
/* The finalizer thread for the process */ |
/* The finalizer thread for the process */ |
184 |
ILExecThread *finalizerThread; |
ILExecThread *finalizerThread; |
185 |
|
|
186 |
|
#ifndef IL_CONFIG_APPDOMAINS |
187 |
/* Default stack size for new threads */ |
/* Default stack size for new threads */ |
188 |
ILUInt32 stackSize; |
ILUInt32 stackSize; |
189 |
ILUInt32 frameStackSize; |
ILUInt32 frameStackSize; |
190 |
|
#endif |
191 |
|
|
192 |
/* Context that holds all images that have been loaded by this process */ |
/* Context that holds all images that have been loaded by this process */ |
193 |
ILContext *context; |
ILContext *context; |
276 |
ILUInt32 imtBase; |
ILUInt32 imtBase; |
277 |
|
|
278 |
#endif |
#endif |
279 |
|
|
280 |
|
#ifdef IL_CONFIG_APPDOMAINS |
281 |
|
|
282 |
|
/* sibling app domains */ |
283 |
|
ILExecProcess *prevProcess; |
284 |
|
ILExecProcess *nextProcess; |
285 |
|
|
286 |
|
ILExecEngine *engine; |
287 |
|
|
288 |
|
#endif /* IL_CONFIG_APPDOMAINS */ |
289 |
}; |
}; |
290 |
|
|
291 |
/* |
/* |
466 |
#endif |
#endif |
467 |
}; |
}; |
468 |
|
|
469 |
|
#ifdef IL_CONFIG_APPDOMAINS |
470 |
|
/* global accessor function to get the global engine object */ |
471 |
|
ILExecEngine *ILExecEngineInstance(); |
472 |
|
|
473 |
|
/* |
474 |
|
* Destroy the engine. |
475 |
|
*/ |
476 |
|
void ILExecEngineDestroy(ILExecEngine *engine); |
477 |
|
|
478 |
|
/* |
479 |
|
* Create a new execution engine. |
480 |
|
* Returns the ILExecEngine or 0 if the function fails. |
481 |
|
*/ |
482 |
|
ILExecEngine *ILExecEngineCreate(); |
483 |
|
#endif |
484 |
|
|
485 |
/* |
/* |
486 |
* Class information for the CVM coder. |
* Class information for the CVM coder. |
487 |
*/ |
*/ |