/[dotgnu-pnet]/pnet/engine/engine.h
ViewVC logotype

Diff of /pnet/engine/engine.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.103 by darkdust, Fri Apr 22 16:08:05 2005 UTC revision 1.104 by ktreichel, Thu May 5 10:16:15 2005 UTC
# Line 39  extern "C" { Line 39  extern "C" {
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 */
# Line 118  struct _tagILLoadedModule Line 120  struct _tagILLoadedModule
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   */   */
# Line 161  struct _tagILExecProcess Line 183  struct _tagILExecProcess
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;
# Line 252  struct _tagILExecProcess Line 276  struct _tagILExecProcess
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  /*  /*
# Line 432  struct _tagObjectHeader Line 466  struct _tagObjectHeader
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   */   */

Legend:
Removed from v.1.103  
changed lines
  Added in v.1.104

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26