dotgnu-pnet-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[dotgnu-pnet-commits] pnet ChangeLog engine/int_proto.h engine/int_ta...


From: Klaus Treichel
Subject: [dotgnu-pnet-commits] pnet ChangeLog engine/int_proto.h engine/int_ta...
Date: Sat, 03 Jan 2009 14:15:21 +0000

CVSROOT:        /cvsroot/dotgnu-pnet
Module name:    pnet
Changes by:     Klaus Treichel <ktreichel>      09/01/03 14:15:21

Modified files:
        .              : ChangeLog 
        engine         : int_proto.h int_table.c lib_array.c 
                         lib_object.c mkint.sh 

Log message:
        Add internal call function for Array.Clone.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/pnet/ChangeLog?cvsroot=dotgnu-pnet&r1=1.3599&r2=1.3600
http://cvs.savannah.gnu.org/viewcvs/pnet/engine/int_proto.h?cvsroot=dotgnu-pnet&r1=1.109&r2=1.110
http://cvs.savannah.gnu.org/viewcvs/pnet/engine/int_table.c?cvsroot=dotgnu-pnet&r1=1.113&r2=1.114
http://cvs.savannah.gnu.org/viewcvs/pnet/engine/lib_array.c?cvsroot=dotgnu-pnet&r1=1.34&r2=1.35
http://cvs.savannah.gnu.org/viewcvs/pnet/engine/lib_object.c?cvsroot=dotgnu-pnet&r1=1.17&r2=1.18
http://cvs.savannah.gnu.org/viewcvs/pnet/engine/mkint.sh?cvsroot=dotgnu-pnet&r1=1.3&r2=1.4

Patches:
Index: ChangeLog
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/ChangeLog,v
retrieving revision 1.3599
retrieving revision 1.3600
diff -u -b -r1.3599 -r1.3600
--- ChangeLog   2 Jan 2009 14:33:05 -0000       1.3599
+++ ChangeLog   3 Jan 2009 14:15:20 -0000       1.3600
@@ -1,3 +1,16 @@
+2009-01-03  Klaus Treichel  <address@hidden>
+
+       * engine/int_proto.h, engine/int_table.c: Regenerate
+
+       * engine/mkint.sh: Set collation to en_US prior to generating the
+       internal table to make sure it's ordered the same way every time.
+
+       * engine/lib_array.c (_IL_Array_Clone): Add internal function for
+       Array.Clone.
+
+       * engine/lib_object.c (_IL_Object_MemberwiseClone): Remove handling
+       of arrays because this is done now in Array.Clone.
+
 2009-01-02  Klaus Treichel  <address@hidden>
 
        * codegen/cg_lvalue.tc (ILNode_GenRef(ILNode_Deref)): Add code 
generation

Index: engine/int_proto.h
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/engine/int_proto.h,v
retrieving revision 1.109
retrieving revision 1.110
diff -u -b -r1.109 -r1.110
--- engine/int_proto.h  25 Nov 2008 09:15:12 -0000      1.109
+++ engine/int_proto.h  3 Jan 2009 14:15:20 -0000       1.110
@@ -5,6 +5,29 @@
 extern ILBool _IL_Object_Equals(ILExecThread * _thread, ILObject * _this, 
ILObject * obj);
 extern ILObject * _IL_Object_MemberwiseClone(ILExecThread * _thread, ILObject 
* _this);
 
+extern void _IL_BlockingOperation_ThreadSigAbort(ILExecThread * _thread, 
ILObject * thread);
+
+extern ILInt32 _IL_Array_GetRank(ILExecThread * _thread, ILObject * _this);
+extern ILObject * _IL_Array_Get_iii(ILExecThread * _thread, ILObject * _this, 
ILInt32 index1, ILInt32 index2, ILInt32 index3);
+extern ILInt32 _IL_Array_GetLowerBound(ILExecThread * _thread, ILObject * 
_this, ILInt32 dimension);
+extern ILInt32 _IL_Array_GetUpperBound(ILExecThread * _thread, ILObject * 
_this, ILInt32 dimension);
+extern void _IL_Array_Clear(ILExecThread * _thread, ILObject * array, ILInt32 
index, ILInt32 length);
+extern void _IL_Array_Initialize(ILExecThread * _thread, ILObject * _this);
+extern ILObject * _IL_Array_Clone(ILExecThread * _thread, ILObject * _this);
+extern ILInt32 _IL_Array_GetLength_(ILExecThread * _thread, ILObject * _this);
+extern void _IL_Array_InternalCopy(ILExecThread * _thread, ILObject * 
sourceArray, ILInt32 sourceIndex, ILObject * destinationArray, ILInt32 
destinationIndex, ILInt32 length);
+extern ILObject * _IL_Array_GetRelative(ILExecThread * _thread, ILObject * 
_this, ILInt32 index);
+extern void _IL_Array_SetRelative(ILExecThread * _thread, ILObject * _this, 
ILObject * value, ILInt32 index);
+extern ILObject * _IL_Array_CreateArray_jiiii(ILExecThread * _thread, 
ILNativeInt elementType, ILInt32 rank, ILInt32 length1, ILInt32 length2, 
ILInt32 length3);
+extern ILObject * _IL_Array_CreateArray_jaiai(ILExecThread * _thread, 
ILNativeInt elementType, System_Array * lengths, System_Array * lowerBounds);
+extern ILObject * _IL_Array_Get_ai(ILExecThread * _thread, ILObject * _this, 
System_Array * indices);
+extern ILInt32 _IL_Array_GetLength_i(ILExecThread * _thread, ILObject * _this, 
ILInt32 dimension);
+extern void _IL_Array_Set_Objectiii(ILExecThread * _thread, ILObject * _this, 
ILObject * value, ILInt32 index1, ILInt32 index2, ILInt32 index3);
+extern void _IL_Array_Set_Objectai(ILExecThread * _thread, ILObject * _this, 
ILObject * value, System_Array * indices);
+
+extern ILBool _IL_Double_IsNaN(ILExecThread * _thread, ILDouble d);
+extern ILInt32 _IL_Double_TestInfinity(ILExecThread * _thread, ILDouble d);
+
 extern ILObject * _IL_Enum_GetEnumValue(ILExecThread * _thread, ILObject * 
_this);
 extern ILString * _IL_Enum_FormatEnumWithFlags(ILExecThread * _thread, 
ILObject * enumType, ILObject * value);
 extern ILString * _IL_Enum_GetEnumName(ILExecThread * _thread, ILObject * 
enumType, ILObject * value);
@@ -14,156 +37,6 @@
 extern ILObject * _IL_Enum_EnumValueOr(ILExecThread * _thread, ILObject * 
value1, ILObject * value2);
 extern ILObject * _IL_Enum_EnumLongToObject(ILExecThread * _thread, ILObject * 
enumType, ILInt64 value);
 
-extern ILInt32 _IL_SysCharInfo_GetUnicodeCategory(ILExecThread * _thread, 
ILUInt16 ch);
-extern ILDouble _IL_SysCharInfo_GetNumericValue(ILExecThread * _thread, 
ILUInt16 ch);
-extern ILString * _IL_SysCharInfo_GetNewLine(ILExecThread * _thread);
-
-extern void _IL_TaskMethods_Exit(ILExecThread * _thread, ILInt32 exitCode);
-extern void _IL_TaskMethods_SetExitCode(ILExecThread * _thread, ILInt32 
exitCode);
-extern System_Array * _IL_TaskMethods_GetCommandLineArgs(ILExecThread * 
_thread);
-extern ILString * _IL_TaskMethods_GetEnvironmentVariable(ILExecThread * 
_thread, ILString * variable);
-extern ILInt32 _IL_TaskMethods_GetEnvironmentCount(ILExecThread * _thread);
-extern ILString * _IL_TaskMethods_GetEnvironmentKey(ILExecThread * _thread, 
ILInt32 posn);
-extern ILString * _IL_TaskMethods_GetEnvironmentValue(ILExecThread * _thread, 
ILInt32 posn);
-
-extern ILInt32 _IL_DirMethods_CreateDirectory(ILExecThread * _thread, ILString 
* path);
-extern void _IL_DirMethods_GetPathInfo(ILExecThread * _thread, void * _result);
-extern ILString * _IL_DirMethods_GetSystemDirectory(ILExecThread * _thread);
-extern ILInt32 _IL_DirMethods_GetLastAccess(ILExecThread * _thread, ILString * 
path, ILInt64 * lastac);
-extern ILInt32 _IL_DirMethods_GetLastModification(ILExecThread * _thread, 
ILString * path, ILInt64 * last_mod);
-extern ILInt32 _IL_DirMethods_GetCreationTime(ILExecThread * _thread, ILString 
* path, ILInt64 * create_time);
-extern ILInt32 _IL_DirMethods_Delete(ILExecThread * _thread, ILString * path);
-extern ILInt32 _IL_DirMethods_Rename(ILExecThread * _thread, ILString * 
old_name, ILString * new_name);
-extern ILString * _IL_DirMethods_GetCurrentDirectory(ILExecThread * _thread);
-extern ILInt32 _IL_DirMethods_GetFilesInDirectory(ILExecThread * _thread, 
ILString * path, System_Array * * files);
-extern ILInt32 _IL_DirMethods_ChangeDirectory(ILExecThread * _thread, ILString 
* name);
-extern System_Array * _IL_DirMethods_GetLogicalDrives(ILExecThread * _thread);
-
-extern ILNativeInt _IL_FileMethods_GetInvalidHandle(ILExecThread * _thread);
-extern ILBool _IL_FileMethods_ValidatePathname(ILExecThread * _thread, 
ILString * path);
-extern ILInt32 _IL_FileMethods_GetFileType(ILExecThread * _thread, ILString * 
path);
-extern ILBool _IL_FileMethods_Open(ILExecThread * _thread, ILString * path, 
ILInt32 mode, ILInt32 access, ILInt32 share, ILNativeInt * handle);
-extern ILBool _IL_FileMethods_HasAsync(ILExecThread * _thread);
-extern ILBool _IL_FileMethods_CanSeek(ILExecThread * _thread, ILNativeInt 
handle);
-extern ILBool _IL_FileMethods_CheckHandleAccess(ILExecThread * _thread, 
ILNativeInt handle, ILInt32 access);
-extern ILInt64 _IL_FileMethods_Seek(ILExecThread * _thread, ILNativeInt 
handle, ILInt64 offset, ILInt32 origin);
-extern ILBool _IL_FileMethods_Write(ILExecThread * _thread, ILNativeInt 
handle, System_Array * buffer, ILInt32 offset, ILInt32 count);
-extern ILInt32 _IL_FileMethods_Read(ILExecThread * _thread, ILNativeInt 
handle, System_Array * buffer, ILInt32 offset, ILInt32 count);
-extern ILBool _IL_FileMethods_Close(ILExecThread * _thread, ILNativeInt 
handle);
-extern ILBool _IL_FileMethods_FlushWrite(ILExecThread * _thread, ILNativeInt 
handle);
-extern ILBool _IL_FileMethods_SetLength(ILExecThread * _thread, ILNativeInt 
handle, ILInt64 value);
-extern ILBool _IL_FileMethods_Lock(ILExecThread * _thread, ILNativeInt handle, 
ILInt64 position, ILInt64 length);
-extern ILBool _IL_FileMethods_Unlock(ILExecThread * _thread, ILNativeInt 
handle, ILInt64 position, ILInt64 length);
-extern ILInt32 _IL_FileMethods_GetErrno(ILExecThread * _thread);
-extern ILString * _IL_FileMethods_GetErrnoMessage(ILExecThread * _thread, 
ILInt32 error);
-extern ILInt32 _IL_FileMethods_Copy(ILExecThread * _thread, ILString * src, 
ILString * dest);
-extern ILInt32 _IL_FileMethods_SetLastWriteTime(ILExecThread * _thread, 
ILString * path, ILInt64 ticks);
-extern ILInt32 _IL_FileMethods_SetLastAccessTime(ILExecThread * _thread, 
ILString * path, ILInt64 ticks);
-extern ILInt32 _IL_FileMethods_SetCreationTime(ILExecThread * _thread, 
ILString * path, ILInt64 ticks);
-extern ILInt32 _IL_FileMethods_GetAttributes(ILExecThread * _thread, ILString 
* path, ILInt32 * attrs);
-extern ILInt32 _IL_FileMethods_SetAttributes(ILExecThread * _thread, ILString 
* path, ILInt32 attrs);
-extern ILInt32 _IL_FileMethods_GetLength(ILExecThread * _thread, ILString * 
path, ILInt64 * length);
-extern ILInt32 _IL_FileMethods_ReadLink(ILExecThread * _thread, ILString * 
path, ILString * * contents);
-extern ILInt32 _IL_FileMethods_CreateLink(ILExecThread * _thread, ILString * 
oldpath, ILString * newpath);
-
-extern void _IL_Stdio_StdClose(ILExecThread * _thread, ILInt32 fd);
-extern void _IL_Stdio_StdFlush(ILExecThread * _thread, ILInt32 fd);
-extern void _IL_Stdio_StdWrite_ic(ILExecThread * _thread, ILInt32 fd, ILUInt16 
value);
-extern void _IL_Stdio_StdWrite_iacii(ILExecThread * _thread, ILInt32 fd, 
System_Array * value, ILInt32 index, ILInt32 count);
-extern void _IL_Stdio_StdWrite_iaBii(ILExecThread * _thread, ILInt32 fd, 
System_Array * value, ILInt32 index, ILInt32 count);
-extern void _IL_Stdio_StdWrite_iString(ILExecThread * _thread, ILInt32 fd, 
ILString * value);
-extern ILInt32 _IL_Stdio_StdRead_i(ILExecThread * _thread, ILInt32 fd);
-extern ILInt32 _IL_Stdio_StdRead_iacii(ILExecThread * _thread, ILInt32 fd, 
System_Array * value, ILInt32 index, ILInt32 count);
-extern ILInt32 _IL_Stdio_StdRead_iaBii(ILExecThread * _thread, ILInt32 fd, 
System_Array * value, ILInt32 index, ILInt32 count);
-extern ILInt32 _IL_Stdio_StdPeek(ILExecThread * _thread, ILInt32 fd);
-extern void _IL_Stdio_SetConsoleMode(ILExecThread * _thread, ILInt32 mode);
-extern void _IL_Stdio_GetBufferSize(ILExecThread * _thread, ILInt32 * width, 
ILInt32 * height);
-extern void _IL_Stdio_SetBufferSize(ILExecThread * _thread, ILInt32 width, 
ILInt32 height);
-extern void _IL_Stdio_GetWindowSize(ILExecThread * _thread, ILInt32 * left, 
ILInt32 * top, ILInt32 * width, ILInt32 * height);
-extern void _IL_Stdio_SetWindowSize(ILExecThread * _thread, ILInt32 left, 
ILInt32 top, ILInt32 width, ILInt32 height);
-extern void _IL_Stdio_GetLargestWindowSize(ILExecThread * _thread, ILInt32 * 
width, ILInt32 * height);
-extern void _IL_Stdio_GetCursorPosition(ILExecThread * _thread, ILInt32 * x, 
ILInt32 * y);
-extern void _IL_Stdio_SetCursorPosition(ILExecThread * _thread, ILInt32 x, 
ILInt32 y);
-extern void _IL_Stdio_SetConsoleTitle(ILExecThread * _thread, ILString * 
title);
-extern void _IL_Stdio_Beep(ILExecThread * _thread, ILInt32 frequency, ILInt32 
duration);
-extern void _IL_Stdio_Clear(ILExecThread * _thread);
-extern ILInt32 _IL_Stdio_GetTextAttributes(ILExecThread * _thread);
-extern void _IL_Stdio_SetTextAttributes(ILExecThread * _thread, ILInt32 attrs);
-extern ILBool _IL_Stdio_KeyAvailable(ILExecThread * _thread);
-extern void _IL_Stdio_ReadKey(ILExecThread * _thread, ILUInt16 * ch, ILInt32 * 
key, ILInt32 * modifiers);
-extern void _IL_Stdio_MoveBufferArea(ILExecThread * _thread, ILInt32 
sourceLeft, ILInt32 sourceTop, ILInt32 sourceWidth, ILInt32 sourceHeight, 
ILInt32 targetLeft, ILInt32 targetTop, ILUInt16 sourceChar, ILInt32 attributes);
-extern ILInt32 _IL_Stdio_GetLockState(ILExecThread * _thread);
-extern ILInt32 _IL_Stdio_GetCursorSize(ILExecThread * _thread);
-extern void _IL_Stdio_SetCursorSize(ILExecThread * _thread, ILInt32 size);
-extern ILBool _IL_Stdio_GetCursorVisible(ILExecThread * _thread);
-extern void _IL_Stdio_SetCursorVisible(ILExecThread * _thread, ILBool flag);
-
-extern ILBool _IL_CryptoMethods_AlgorithmSupported(ILExecThread * _thread, 
ILInt32 algorithm);
-extern ILNativeInt _IL_CryptoMethods_HashNew(ILExecThread * _thread, ILInt32 
algorithm);
-extern void _IL_CryptoMethods_HashReset(ILExecThread * _thread, ILNativeInt 
state);
-extern void _IL_CryptoMethods_HashUpdate(ILExecThread * _thread, ILNativeInt 
state, System_Array * buffer, ILInt32 offset, ILInt32 count);
-extern void _IL_CryptoMethods_HashFinal(ILExecThread * _thread, ILNativeInt 
state, System_Array * hash);
-extern void _IL_CryptoMethods_HashFree(ILExecThread * _thread, ILNativeInt 
state);
-extern ILBool _IL_CryptoMethods_IsSemiWeakKey(ILExecThread * _thread, 
System_Array * key, ILInt32 offset);
-extern ILBool _IL_CryptoMethods_IsWeakKey(ILExecThread * _thread, System_Array 
* key, ILInt32 offset);
-extern ILBool _IL_CryptoMethods_SameKey(ILExecThread * _thread, System_Array * 
key1, ILInt32 offset1, System_Array * key2, ILInt32 offset2);
-extern void _IL_CryptoMethods_GenerateRandom(ILExecThread * _thread, 
System_Array * buf, ILInt32 offset, ILInt32 count);
-extern ILNativeInt _IL_CryptoMethods_EncryptCreate(ILExecThread * _thread, 
ILInt32 algorithm, System_Array * key);
-extern ILNativeInt _IL_CryptoMethods_DecryptCreate(ILExecThread * _thread, 
ILInt32 algorithm, System_Array * key);
-extern void _IL_CryptoMethods_Encrypt(ILExecThread * _thread, ILNativeInt 
state, System_Array * inBuffer, ILInt32 inOffset, System_Array * outBuffer, 
ILInt32 outOffset);
-extern void _IL_CryptoMethods_Decrypt(ILExecThread * _thread, ILNativeInt 
state, System_Array * inBuffer, ILInt32 inOffset, System_Array * outBuffer, 
ILInt32 outOffset);
-extern void _IL_CryptoMethods_SymmetricFree(ILExecThread * _thread, 
ILNativeInt state);
-extern System_Array * _IL_CryptoMethods_NumAdd(ILExecThread * _thread, 
System_Array * x, System_Array * y, System_Array * modulus);
-extern System_Array * _IL_CryptoMethods_NumSub(ILExecThread * _thread, 
System_Array * x, System_Array * y, System_Array * modulus);
-extern System_Array * _IL_CryptoMethods_NumMul(ILExecThread * _thread, 
System_Array * x, System_Array * y, System_Array * modulus);
-extern System_Array * _IL_CryptoMethods_NumPow(ILExecThread * _thread, 
System_Array * x, System_Array * y, System_Array * modulus);
-extern System_Array * _IL_CryptoMethods_NumInv(ILExecThread * _thread, 
System_Array * x, System_Array * modulus);
-extern System_Array * _IL_CryptoMethods_NumMod(ILExecThread * _thread, 
System_Array * x, System_Array * modulus);
-extern ILBool _IL_CryptoMethods_NumEq(ILExecThread * _thread, System_Array * 
x, System_Array * y);
-extern ILBool _IL_CryptoMethods_NumZero(ILExecThread * _thread, System_Array * 
x);
-extern System_Array * _IL_CryptoMethods_GetKey(ILExecThread * _thread, ILInt32 
algorithm, ILString * name, ILInt32 flag, ILInt32 * result);
-extern void _IL_CryptoMethods_StoreKey(ILExecThread * _thread, ILInt32 
algorithm, ILString * name, System_Array * key);
-
-extern ILString * _IL_InfoMethods_GetUserStorageDir(ILExecThread * _thread);
-extern ILString * _IL_InfoMethods_GetRuntimeVersion(ILExecThread * _thread);
-extern ILString * _IL_InfoMethods_GetNetBIOSMachineName(ILExecThread * 
_thread);
-extern ILString * _IL_InfoMethods_GetUserDomainName(ILExecThread * _thread);
-extern ILBool _IL_InfoMethods_IsUserInteractive(ILExecThread * _thread);
-extern ILString * _IL_InfoMethods_GetUserName(ILExecThread * _thread);
-extern ILInt64 _IL_InfoMethods_GetWorkingSet(ILExecThread * _thread);
-extern ILInt32 _IL_InfoMethods_GetPlatformID(ILExecThread * _thread);
-extern ILString * _IL_InfoMethods_GetPlatformName(ILExecThread * _thread);
-extern ILString * _IL_InfoMethods_GetGlobalConfigDir(ILExecThread * _thread);
-extern ILInt32 _IL_InfoMethods_GetProcessorCount(ILExecThread * _thread);
-
-extern ILNativeInt _IL_RegexpMethods_CompileInternal(ILExecThread * _thread, 
ILString * pattern, ILInt32 flags);
-extern ILNativeInt _IL_RegexpMethods_CompileWithSyntaxInternal(ILExecThread * 
_thread, ILString * pattern, ILInt32 syntax);
-extern ILInt32 _IL_RegexpMethods_ExecInternal(ILExecThread * _thread, 
ILNativeInt compiled, ILString * input, ILInt32 flags);
-extern ILObject * _IL_RegexpMethods_MatchInternal(ILExecThread * _thread, 
ILNativeInt compiled, ILString * input, ILInt32 maxMatches, ILInt32 flags, 
ILObject * elemType);
-extern void _IL_RegexpMethods_FreeInternal(ILExecThread * _thread, ILNativeInt 
compiled);
-
-extern ILInt64 _IL_TimeMethods_GetCurrentTime(ILExecThread * _thread);
-extern ILInt64 _IL_TimeMethods_GetCurrentUtcTime(ILExecThread * _thread);
-extern ILInt32 _IL_TimeMethods_GetTimeZoneAdjust(ILExecThread * _thread, 
ILInt64 time);
-extern ILInt32 _IL_TimeMethods_GetUpTime(ILExecThread * _thread);
-extern ILString * _IL_TimeMethods_GetDaylightName(ILExecThread * _thread);
-extern ILString * _IL_TimeMethods_GetStandardName(ILExecThread * _thread);
-extern ILBool _IL_TimeMethods_GetDaylightRules(ILExecThread * _thread, ILInt32 
year, ILInt64 * start, ILInt64 * end, ILInt64 * delta);
-
-extern void _IL_Guid_NewGuid(ILExecThread * _thread, void * _result);
-
-extern void _IL_GC_SuppressFinalizeInternal(ILExecThread * _thread, ILObject * 
obj);
-extern void _IL_GC_CollectInternal(ILExecThread * _thread, ILInt32 
collectionMode);
-extern ILInt32 _IL_GC_CollectionCountInternal(ILExecThread * _thread);
-extern ILInt64 _IL_GC_GetTotalMemoryInternal(ILExecThread * _thread, ILBool 
forceFullCollection);
-extern void _IL_GC_ReRegisterForFinalizeInternal(ILExecThread * _thread, 
ILObject * obj);
-extern void _IL_GC_WaitForPendingFinalizersInternal(ILExecThread * _thread);
-
-extern ILObject * _IL_Delegate_CreateBlankDelegate(ILExecThread * _thread, 
ILObject * type, ILObject * method);
-
-extern ILBool _IL_Double_IsNaN(ILExecThread * _thread, ILDouble d);
-extern ILInt32 _IL_Double_TestInfinity(ILExecThread * _thread, ILDouble d);
-
 extern void _IL_AppDomain_AppendPrivatePathsInternal(ILExecThread * _thread, 
ILObject * appDomain, System_Array * paths);
 extern void _IL_AppDomain_ClearPrivatePathInternal(ILExecThread * _thread, 
ILObject * appDomain);
 extern void _IL_AppDomain_ClearShadowCopyPathInternal(ILExecThread * _thread, 
ILObject * appDomain);
@@ -184,25 +57,7 @@
 extern System_Array * _IL_AppDomain_GetAssembliesInternal(ILExecThread * 
_thread, ILObject * appDomain);
 extern ILBool _IL_AppDomain_IsFinalizingForUnloadInternal(ILExecThread * 
_thread, ILObject * appDomain);
 
-extern ILBool _IL_Single_IsNaN(ILExecThread * _thread, ILFloat f);
-extern ILInt32 _IL_Single_TestInfinity(ILExecThread * _thread, ILFloat f);
-
-extern void _IL_Array_Initialize(ILExecThread * _thread, ILObject * _this);
-extern ILObject * _IL_Array_CreateArray_jiiii(ILExecThread * _thread, 
ILNativeInt elementType, ILInt32 rank, ILInt32 length1, ILInt32 length2, 
ILInt32 length3);
-extern ILInt32 _IL_Array_GetRank(ILExecThread * _thread, ILObject * _this);
-extern void _IL_Array_Set_Objectiii(ILExecThread * _thread, ILObject * _this, 
ILObject * value, ILInt32 index1, ILInt32 index2, ILInt32 index3);
-extern ILInt32 _IL_Array_GetLength_(ILExecThread * _thread, ILObject * _this);
-extern ILObject * _IL_Array_Get_iii(ILExecThread * _thread, ILObject * _this, 
ILInt32 index1, ILInt32 index2, ILInt32 index3);
-extern ILInt32 _IL_Array_GetLowerBound(ILExecThread * _thread, ILObject * 
_this, ILInt32 dimension);
-extern ILInt32 _IL_Array_GetUpperBound(ILExecThread * _thread, ILObject * 
_this, ILInt32 dimension);
-extern void _IL_Array_Clear(ILExecThread * _thread, ILObject * array, ILInt32 
index, ILInt32 length);
-extern void _IL_Array_InternalCopy(ILExecThread * _thread, ILObject * 
sourceArray, ILInt32 sourceIndex, ILObject * destinationArray, ILInt32 
destinationIndex, ILInt32 length);
-extern ILObject * _IL_Array_GetRelative(ILExecThread * _thread, ILObject * 
_this, ILInt32 index);
-extern void _IL_Array_SetRelative(ILExecThread * _thread, ILObject * _this, 
ILObject * value, ILInt32 index);
-extern ILObject * _IL_Array_CreateArray_jaiai(ILExecThread * _thread, 
ILNativeInt elementType, System_Array * lengths, System_Array * lowerBounds);
-extern ILObject * _IL_Array_Get_ai(ILExecThread * _thread, ILObject * _this, 
System_Array * indices);
-extern ILInt32 _IL_Array_GetLength_i(ILExecThread * _thread, ILObject * _this, 
ILInt32 dimension);
-extern void _IL_Array_Set_Objectai(ILExecThread * _thread, ILObject * _this, 
ILObject * value, System_Array * indices);
+extern ILObject * _IL_Delegate_CreateBlankDelegate(ILExecThread * _thread, 
ILObject * type, ILObject * method);
 
 extern ILBool _IL_BitConverter_GetLittleEndian(ILExecThread * _thread);
 extern ILInt64 _IL_BitConverter_DoubleToInt64Bits(ILExecThread * _thread, 
ILDouble value);
@@ -212,47 +67,16 @@
 extern System_Array * _IL_BitConverter_GetLittleEndianBytes_f(ILExecThread * 
_thread, ILFloat value);
 extern System_Array * _IL_BitConverter_GetLittleEndianBytes_d(ILExecThread * 
_thread, ILDouble value);
 
-extern ILDouble _IL_Math_Log(ILExecThread * _thread, ILDouble d);
-extern ILDouble _IL_Math_RoundDouble(ILExecThread * _thread, ILDouble value, 
ILInt32 digits);
-extern ILDouble _IL_Math_Acos(ILExecThread * _thread, ILDouble d);
-extern ILDouble _IL_Math_Asin(ILExecThread * _thread, ILDouble d);
-extern ILDouble _IL_Math_Atan(ILExecThread * _thread, ILDouble d);
-extern ILDouble _IL_Math_Atan2(ILExecThread * _thread, ILDouble y, ILDouble x);
-extern ILDouble _IL_Math_Ceiling(ILExecThread * _thread, ILDouble a);
-extern ILDouble _IL_Math_Cos(ILExecThread * _thread, ILDouble d);
-extern ILDouble _IL_Math_Cosh(ILExecThread * _thread, ILDouble value);
-extern ILDouble _IL_Math_Exp(ILExecThread * _thread, ILDouble d);
-extern ILDouble _IL_Math_Floor(ILExecThread * _thread, ILDouble d);
-extern ILDouble _IL_Math_IEEERemainder(ILExecThread * _thread, ILDouble x, 
ILDouble y);
-extern ILDouble _IL_Math_Log10(ILExecThread * _thread, ILDouble d);
-extern ILDouble _IL_Math_Pow(ILExecThread * _thread, ILDouble x, ILDouble y);
-extern ILDouble _IL_Math_Round(ILExecThread * _thread, ILDouble a);
-extern ILDouble _IL_Math_Sin(ILExecThread * _thread, ILDouble a);
-extern ILDouble _IL_Math_Sinh(ILExecThread * _thread, ILDouble a);
-extern ILDouble _IL_Math_Sqrt(ILExecThread * _thread, ILDouble a);
-extern ILDouble _IL_Math_Tan(ILExecThread * _thread, ILDouble a);
-extern ILDouble _IL_Math_Tanh(ILExecThread * _thread, ILDouble value);
-
-extern void _IL_ArgIterator_ctor_RuntimeArgumentHandle(ILExecThread * _thread, 
void * _this, void * argList);
-extern ILInt32 _IL_ArgIterator_GetRemainingCount(ILExecThread * _thread, void 
* _this);
-extern ILTypedRef _IL_ArgIterator_GetNextArg_(ILExecThread * _thread, void * 
_this);
-extern void _IL_ArgIterator_ctor_RuntimeArgumentHandlepV(ILExecThread * 
_thread, void * _this, void * argList, void * ptr);
-extern void _IL_ArgIterator_End(ILExecThread * _thread, void * _this);
-extern ILTypedRef _IL_ArgIterator_GetNextArg_RuntimeTypeHandle(ILExecThread * 
_thread, void * _this, void * type);
-extern void _IL_ArgIterator_GetNextArgType(ILExecThread * _thread, void * 
_result, void * _this);
-
 extern System_String * _IL_String_Concat_StringString(ILExecThread * _thread, 
System_String * str1, System_String * str2);
-extern System_String * _IL_String_ctor_acii(ILExecThread * _thread, 
System_Array * value, ILInt32 startIndex, ILInt32 length);
-extern System_String * _IL_String_ctor_ci(ILExecThread * _thread, ILUInt16 c, 
ILInt32 count);
-extern System_String * _IL_String_ctor_ac(ILExecThread * _thread, System_Array 
* value);
-extern ILInt32 _IL_String_GetHashCode(ILExecThread * _thread, System_String * 
_this);
+extern System_String * _IL_String_Trim(ILExecThread * _thread, System_String * 
_this, System_Array * trimChars, ILInt32 trimFlags);
 extern ILBool _IL_String_Equals(ILExecThread * _thread, System_String * a, 
System_String * b);
 extern ILUInt16 _IL_String_GetChar(ILExecThread * _thread, System_String * 
_this, ILInt32 posn);
 extern System_String * _IL_String_NewString(ILExecThread * _thread, ILInt32 
length);
 extern void _IL_String_Copy_StringiStringii(ILExecThread * _thread, 
System_String * dest, ILInt32 destPos, System_String * src, ILInt32 srcPos, 
ILInt32 length);
-extern ILInt32 _IL_String_InternalOrdinal(ILExecThread * _thread, 
System_String * strA, ILInt32 indexA, ILInt32 lengthA, System_String * strB, 
ILInt32 indexB, ILInt32 lengthB);
 extern ILInt32 _IL_String_IndexOf(ILExecThread * _thread, System_String * 
_this, ILUInt16 value, ILInt32 startIndex, ILInt32 count);
-extern System_String * _IL_String_Trim(ILExecThread * _thread, System_String * 
_this, System_Array * trimChars, ILInt32 trimFlags);
+extern System_String * _IL_String_ctor_acii(ILExecThread * _thread, 
System_Array * value, ILInt32 startIndex, ILInt32 length);
+extern System_String * _IL_String_ctor_ac(ILExecThread * _thread, System_Array 
* value);
+extern System_String * _IL_String_ctor_ci(ILExecThread * _thread, ILUInt16 c, 
ILInt32 count);
 extern System_String * _IL_String_ctor_pcii(ILExecThread * _thread, ILUInt16 * 
value, ILInt32 startIndex, ILInt32 length);
 extern System_String * _IL_String_ctor_pc(ILExecThread * _thread, ILUInt16 * 
value);
 extern System_String * _IL_String_ctor_pbiiEncoding(ILExecThread * _thread, 
ILInt8 * value, ILInt32 startIndex, ILInt32 length, ILObject * enc);
@@ -260,6 +84,7 @@
 extern System_String * _IL_String_ctor_pb(ILExecThread * _thread, ILInt8 * 
value);
 extern ILInt32 _IL_String_Compare(ILExecThread * _thread, System_String * 
strA, System_String * strB);
 extern ILInt32 _IL_String_CompareInternal(ILExecThread * _thread, 
System_String * strA, ILInt32 indexA, ILInt32 lengthA, System_String * strB, 
ILInt32 indexB, ILInt32 lengthB, ILBool ignoreCase);
+extern ILInt32 _IL_String_InternalOrdinal(ILExecThread * _thread, 
System_String * strA, ILInt32 indexA, ILInt32 lengthA, System_String * strB, 
ILInt32 indexB, ILInt32 lengthB);
 extern System_String * _IL_String_NewBuilder(ILExecThread * _thread, 
System_String * value, ILInt32 length);
 extern void _IL_String_Copy_StringiString(ILExecThread * _thread, 
System_String * dest, ILInt32 destPos, System_String * src);
 extern void _IL_String_InsertSpace(ILExecThread * _thread, System_String * 
str, ILInt32 srcPos, ILInt32 destPos);
@@ -267,6 +92,7 @@
 extern System_String * _IL_String_Concat_StringStringString(ILExecThread * 
_thread, System_String * str1, System_String * str2, System_String * str3);
 extern void _IL_String_CopyToChecked(ILExecThread * _thread, System_String * 
_this, ILInt32 sourceIndex, System_Array * destination, ILInt32 
destinationIndex, ILInt32 count);
 extern ILInt32 _IL_String_IndexOfAny(ILExecThread * _thread, System_String * 
_this, System_Array * anyOf, ILInt32 startIndex, ILInt32 count);
+extern ILInt32 _IL_String_GetHashCode(ILExecThread * _thread, System_String * 
_this);
 extern ILInt32 _IL_String_FindInRange(ILExecThread * _thread, System_String * 
_this, ILInt32 srcFirst, ILInt32 srcLast, ILInt32 step, System_String * dest);
 extern System_String * _IL_String_Intern(ILExecThread * _thread, System_String 
* str);
 extern System_String * _IL_String_IsInterned(ILExecThread * _thread, 
System_String * str);
@@ -278,187 +104,81 @@
 extern System_String * _IL_String_Replace_StringString(ILExecThread * _thread, 
System_String * _this, System_String * oldValue, System_String * newValue);
 extern void _IL_String_SetChar(ILExecThread * _thread, System_String * _this, 
ILInt32 posn, ILUInt16 value);
 
-extern void _IL_Decimal_Round(ILExecThread * _thread, ILDecimal * _result, 
ILDecimal * x, ILInt32 decimals);
-extern ILInt32 _IL_Decimal_Compare(ILExecThread * _thread, ILDecimal * x, 
ILDecimal * y);
-extern void _IL_Decimal_Truncate(ILExecThread * _thread, ILDecimal * _result, 
ILDecimal * x);
-extern ILFloat _IL_Decimal_ToSingle(ILExecThread * _thread, ILDecimal * value);
-extern ILDouble _IL_Decimal_ToDouble(ILExecThread * _thread, ILDecimal * 
value);
-extern void _IL_Decimal_ctor_f(ILExecThread * _thread, ILDecimal * _this, 
ILFloat value);
-extern void _IL_Decimal_ctor_d(ILExecThread * _thread, ILDecimal * _this, 
ILDouble value);
 extern void _IL_Decimal_Add(ILExecThread * _thread, ILDecimal * _result, 
ILDecimal * x, ILDecimal * y);
+extern ILInt32 _IL_Decimal_Compare(ILExecThread * _thread, ILDecimal * x, 
ILDecimal * y);
 extern void _IL_Decimal_Divide(ILExecThread * _thread, ILDecimal * _result, 
ILDecimal * x, ILDecimal * y);
 extern void _IL_Decimal_Floor(ILExecThread * _thread, ILDecimal * _result, 
ILDecimal * x);
 extern void _IL_Decimal_Remainder(ILExecThread * _thread, ILDecimal * _result, 
ILDecimal * x, ILDecimal * y);
 extern void _IL_Decimal_Multiply(ILExecThread * _thread, ILDecimal * _result, 
ILDecimal * x, ILDecimal * y);
 extern void _IL_Decimal_Negate(ILExecThread * _thread, ILDecimal * _result, 
ILDecimal * x);
+extern void _IL_Decimal_Round(ILExecThread * _thread, ILDecimal * _result, 
ILDecimal * x, ILInt32 decimals);
 extern void _IL_Decimal_Subtract(ILExecThread * _thread, ILDecimal * _result, 
ILDecimal * x, ILDecimal * y);
+extern void _IL_Decimal_Truncate(ILExecThread * _thread, ILDecimal * _result, 
ILDecimal * x);
+extern void _IL_Decimal_ctor_f(ILExecThread * _thread, ILDecimal * _this, 
ILFloat value);
+extern void _IL_Decimal_ctor_d(ILExecThread * _thread, ILDecimal * _this, 
ILDouble value);
+extern ILFloat _IL_Decimal_ToSingle(ILExecThread * _thread, ILDecimal * value);
+extern ILDouble _IL_Decimal_ToDouble(ILExecThread * _thread, ILDecimal * 
value);
 
-extern ILInt32 _IL_Buffer_GetLength(ILExecThread * _thread, ILObject * array);
-extern void _IL_Buffer_Copy(ILExecThread * _thread, ILObject * src, ILInt32 
srcOffset, ILObject * dst, ILInt32 dstOffset, ILInt32 count);
-extern ILUInt8 _IL_Buffer_GetElement(ILExecThread * _thread, ILObject * array, 
ILInt32 index);
-extern void _IL_Buffer_SetElement(ILExecThread * _thread, ILObject * array, 
ILInt32 index, ILUInt8 value);
-
-extern void _IL_AppDomainSetup_GetPrivateBinPaths(ILExecThread * _thread, 
ILObject * appDomain, System_Array * * paths);
-extern void _IL_AppDomainSetup_SetPrivateBinPaths(ILExecThread * _thread, 
ILObject * appDomain, System_Array * paths);
-
-extern ILObject * _IL_TypedReference_ToObject(ILExecThread * _thread, 
ILTypedRef value);
-extern ILTypedRef _IL_TypedReference_ClrMakeTypedReference(ILExecThread * 
_thread, ILObject * target, System_Array * flds);
-extern ILBool _IL_TypedReference_ClrSetTypedReference(ILExecThread * _thread, 
ILTypedRef target, ILObject * value);
-
-extern ILNativeInt _IL_RuntimeMethodHandle_GetFunctionPointer(ILExecThread * 
_thread, void * _this);
-
-extern ILObject * _IL_Activator_CreateValueTypeInstance(ILExecThread * 
_thread, ILObject * type);
+extern void _IL_GC_CollectInternal(ILExecThread * _thread, ILInt32 
collectionMode);
+extern ILInt32 _IL_GC_CollectionCountInternal(ILExecThread * _thread);
+extern ILInt64 _IL_GC_GetTotalMemoryInternal(ILExecThread * _thread, ILBool 
forceFullCollection);
+extern void _IL_GC_ReRegisterForFinalizeInternal(ILExecThread * _thread, 
ILObject * obj);
+extern void _IL_GC_SuppressFinalizeInternal(ILExecThread * _thread, ILObject * 
obj);
+extern void _IL_GC_WaitForPendingFinalizersInternal(ILExecThread * _thread);
 
 extern ILObject * _IL_Type_GetTypeFromHandle(ILExecThread * _thread, void * 
handle);
-extern ILObject * _IL_Type_GetType(ILExecThread * _thread, ILString * name, 
ILBool throwOnError, ILBool ignoreCase);
 extern void _IL_Type_GetTypeHandle(ILExecThread * _thread, void * _result, 
ILObject * obj);
+extern ILObject * _IL_Type_GetType(ILExecThread * _thread, ILString * name, 
ILBool throwOnError, ILBool ignoreCase);
 
-extern void _IL_WaitHandle_InternalClose(ILExecThread * _thread, ILNativeInt 
privateData);
-extern ILBool _IL_WaitHandle_InternalWaitAll(ILExecThread * _thread, 
System_Array * waitHandles, ILInt32 timeout, ILBool exitContext);
-extern ILInt32 _IL_WaitHandle_InternalWaitAny(ILExecThread * _thread, 
System_Array * waitHandles, ILInt32 timeout, ILBool exitContext);
-extern ILBool _IL_WaitHandle_InternalWaitOne(ILExecThread * _thread, 
ILNativeInt privateData, ILInt32 timeout);
-
-extern ILNativeInt _IL_Mutex_InternalCreateMutex(ILExecThread * _thread, 
ILBool initiallyOwned, ILString * name, ILBool * gotOwnership);
-extern void _IL_Mutex_InternalReleaseMutex(ILExecThread * _thread, ILNativeInt 
mutex);
-
-extern ILNativeInt _IL_WaitEvent_InternalCreateEvent(ILExecThread * _thread, 
ILBool manualReset, ILBool initialState);
-extern ILBool _IL_WaitEvent_InternalSetEvent(ILExecThread * _thread, 
ILNativeInt handle);
-extern ILBool _IL_WaitEvent_InternalResetEvent(ILExecThread * _thread, 
ILNativeInt handle);
-
-extern void _IL_Monitor_Enter(ILExecThread * _thread, ILObject * obj);
-extern void _IL_Monitor_Exit(ILExecThread * _thread, ILObject * obj);
-extern void _IL_Monitor_Pulse(ILExecThread * _thread, ILObject * obj);
-extern ILBool _IL_Monitor_InternalWait(ILExecThread * _thread, ILObject * obj, 
ILInt32 timeout);
-extern ILBool _IL_Monitor_InternalTryEnter(ILExecThread * _thread, ILObject * 
obj, ILInt32 timeout);
-extern void _IL_Monitor_PulseAll(ILExecThread * _thread, ILObject * obj);
-
-extern ILInt32 _IL_Interlocked_CompareExchange_Riii(ILExecThread * _thread, 
ILInt32 * location1, ILInt32 value, ILInt32 comparand);
-extern ILFloat _IL_Interlocked_CompareExchange_Rfff(ILExecThread * _thread, 
ILFloat * location1, ILFloat value, ILFloat comparand);
-extern ILObject * 
_IL_Interlocked_CompareExchange_RObjectObjectObject(ILExecThread * _thread, 
ILObject * * location1, ILObject * value, ILObject * comparand);
-extern ILInt32 _IL_Interlocked_Decrement_Ri(ILExecThread * _thread, ILInt32 * 
location);
-extern ILInt64 _IL_Interlocked_Decrement_Rl(ILExecThread * _thread, ILInt64 * 
location);
-extern ILInt32 _IL_Interlocked_Exchange_Rii(ILExecThread * _thread, ILInt32 * 
location, ILInt32 value);
-extern ILFloat _IL_Interlocked_Exchange_Rff(ILExecThread * _thread, ILFloat * 
location, ILFloat value);
-extern ILObject * _IL_Interlocked_Exchange_RObjectObject(ILExecThread * 
_thread, ILObject * * location, ILObject * value);
-extern ILInt32 _IL_Interlocked_Increment_Ri(ILExecThread * _thread, ILInt32 * 
location);
-extern ILInt64 _IL_Interlocked_Increment_Rl(ILExecThread * _thread, ILInt64 * 
location);
-
-extern ILInt32 _IL_Thread_InternalGetThreadId(ILExecThread * _thread);
-extern ILBool _IL_Thread_CanStartThreads(ILExecThread * _thread);
-extern void _IL_Thread_Start(ILExecThread * _thread, ILObject * _this);
-extern ILObject * _IL_Thread_InternalCurrentThread(ILExecThread * _thread);
-extern void _IL_Thread_InitializeThread(ILExecThread * _thread, ILObject * 
_this);
-extern void _IL_Thread_InternalSetBackground(ILExecThread * _thread, ILObject 
* _this, ILBool value);
-extern void _IL_Thread_FinalizeThread(ILExecThread * _thread, ILObject * 
_this);
-extern void _IL_Thread_Abort(ILExecThread * _thread, ILObject * _this);
-extern ILBool _IL_Thread_InternalJoin(ILExecThread * _thread, ILObject * 
_this, ILInt32 timeout);
-extern void _IL_Thread_MemoryBarrier(ILExecThread * _thread);
-extern void _IL_Thread_ResetAbort(ILExecThread * _thread);
-extern void _IL_Thread_InternalSleep(ILExecThread * _thread, ILInt32 timeout);
-extern ILUInt8 _IL_Thread_VolatileRead_RB(ILExecThread * _thread, ILUInt8 * 
address);
-extern ILInt8 _IL_Thread_VolatileRead_Rb(ILExecThread * _thread, ILInt8 * 
address);
-extern ILInt16 _IL_Thread_VolatileRead_Rs(ILExecThread * _thread, ILInt16 * 
address);
-extern ILUInt16 _IL_Thread_VolatileRead_RS(ILExecThread * _thread, ILUInt16 * 
address);
-extern ILInt32 _IL_Thread_VolatileRead_Ri(ILExecThread * _thread, ILInt32 * 
address);
-extern ILUInt32 _IL_Thread_VolatileRead_RI(ILExecThread * _thread, ILUInt32 * 
address);
-extern ILInt64 _IL_Thread_VolatileRead_Rl(ILExecThread * _thread, ILInt64 * 
address);
-extern ILUInt64 _IL_Thread_VolatileRead_RL(ILExecThread * _thread, ILUInt64 * 
address);
-extern ILNativeInt _IL_Thread_VolatileRead_Rj(ILExecThread * _thread, 
ILNativeInt * address);
-extern ILNativeUInt _IL_Thread_VolatileRead_RJ(ILExecThread * _thread, 
ILNativeUInt * address);
-extern ILFloat _IL_Thread_VolatileRead_Rf(ILExecThread * _thread, ILFloat * 
address);
-extern ILDouble _IL_Thread_VolatileRead_Rd(ILExecThread * _thread, ILDouble * 
address);
-extern ILObject * _IL_Thread_VolatileRead_RObject(ILExecThread * _thread, 
ILObject * * address);
-extern void _IL_Thread_VolatileWrite_RBB(ILExecThread * _thread, ILUInt8 * 
address, ILUInt8 value);
-extern void _IL_Thread_VolatileWrite_Rbb(ILExecThread * _thread, ILInt8 * 
address, ILInt8 value);
-extern void _IL_Thread_VolatileWrite_Rss(ILExecThread * _thread, ILInt16 * 
address, ILInt16 value);
-extern void _IL_Thread_VolatileWrite_RSS(ILExecThread * _thread, ILUInt16 * 
address, ILUInt16 value);
-extern void _IL_Thread_VolatileWrite_Rii(ILExecThread * _thread, ILInt32 * 
address, ILInt32 value);
-extern void _IL_Thread_VolatileWrite_RII(ILExecThread * _thread, ILUInt32 * 
address, ILUInt32 value);
-extern void _IL_Thread_VolatileWrite_Rll(ILExecThread * _thread, ILInt64 * 
address, ILInt64 value);
-extern void _IL_Thread_VolatileWrite_RLL(ILExecThread * _thread, ILUInt64 * 
address, ILUInt64 value);
-extern void _IL_Thread_VolatileWrite_Rjj(ILExecThread * _thread, ILNativeInt * 
address, ILNativeInt value);
-extern void _IL_Thread_VolatileWrite_RJJ(ILExecThread * _thread, ILNativeUInt 
* address, ILNativeUInt value);
-extern void _IL_Thread_VolatileWrite_Rff(ILExecThread * _thread, ILFloat * 
address, ILFloat value);
-extern void _IL_Thread_VolatileWrite_Rdd(ILExecThread * _thread, ILDouble * 
address, ILDouble value);
-extern void _IL_Thread_VolatileWrite_RObjectObject(ILExecThread * _thread, 
ILObject * * address, ILObject * value);
-extern ILInt32 _IL_Thread_InternalGetState(ILExecThread * _thread, ILObject * 
_this);
-extern ILInt32 _IL_Thread_InternalGetPriority(ILExecThread * _thread, ILObject 
* _this);
-extern void _IL_Thread_InternalSetPriority(ILExecThread * _thread, ILObject * 
_this, ILInt32 value);
-extern void _IL_Thread_Interrupt(ILExecThread * _thread, ILObject * _this);
-extern void _IL_Thread_Resume(ILExecThread * _thread, ILObject * _this);
-extern void _IL_Thread_SpinWait(ILExecThread * _thread, ILInt32 iterations);
-extern void _IL_Thread_Suspend(ILExecThread * _thread, ILObject * _this);
-
-extern ILInt32 _IL_CultureInfo_InternalCultureID(ILExecThread * _thread);
-extern ILString * _IL_CultureInfo_InternalCultureName(ILExecThread * _thread);
-
-extern ILUInt16 _IL_TextInfo_ToLower_c(ILExecThread * _thread, ILObject * 
_this, ILUInt16 c);
-extern ILUInt16 _IL_TextInfo_ToUpper_c(ILExecThread * _thread, ILObject * 
_this, ILUInt16 c);
-extern ILString * _IL_TextInfo_ToLower_String(ILExecThread * _thread, ILObject 
* _this, ILString * str);
-extern ILString * _IL_TextInfo_ToUpper_String(ILExecThread * _thread, ILObject 
* _this, ILString * str);
+extern ILBool _IL_Single_IsNaN(ILExecThread * _thread, ILFloat f);
+extern ILInt32 _IL_Single_TestInfinity(ILExecThread * _thread, ILFloat f);
 
-extern System_Array * 
_IL_FormatterServices_InternalGetSerializableMembers(ILExecThread * _thread, 
ILObject * type);
-extern ILObject * 
_IL_FormatterServices_InternalGetUninitializedObject(ILExecThread * _thread, 
ILObject * type);
+extern ILDouble _IL_Math_Log(ILExecThread * _thread, ILDouble d);
+extern ILDouble _IL_Math_RoundDouble(ILExecThread * _thread, ILDouble value, 
ILInt32 digits);
+extern ILDouble _IL_Math_Acos(ILExecThread * _thread, ILDouble d);
+extern ILDouble _IL_Math_Asin(ILExecThread * _thread, ILDouble d);
+extern ILDouble _IL_Math_Atan(ILExecThread * _thread, ILDouble d);
+extern ILDouble _IL_Math_Atan2(ILExecThread * _thread, ILDouble y, ILDouble x);
+extern ILDouble _IL_Math_Ceiling(ILExecThread * _thread, ILDouble a);
+extern ILDouble _IL_Math_Cos(ILExecThread * _thread, ILDouble d);
+extern ILDouble _IL_Math_Cosh(ILExecThread * _thread, ILDouble value);
+extern ILDouble _IL_Math_Exp(ILExecThread * _thread, ILDouble d);
+extern ILDouble _IL_Math_Floor(ILExecThread * _thread, ILDouble d);
+extern ILDouble _IL_Math_IEEERemainder(ILExecThread * _thread, ILDouble x, 
ILDouble y);
+extern ILDouble _IL_Math_Log10(ILExecThread * _thread, ILDouble d);
+extern ILDouble _IL_Math_Pow(ILExecThread * _thread, ILDouble x, ILDouble y);
+extern ILDouble _IL_Math_Round(ILExecThread * _thread, ILDouble a);
+extern ILDouble _IL_Math_Sin(ILExecThread * _thread, ILDouble a);
+extern ILDouble _IL_Math_Sinh(ILExecThread * _thread, ILDouble a);
+extern ILDouble _IL_Math_Sqrt(ILExecThread * _thread, ILDouble a);
+extern ILDouble _IL_Math_Tan(ILExecThread * _thread, ILDouble a);
+extern ILDouble _IL_Math_Tanh(ILExecThread * _thread, ILDouble value);
 
-extern void _IL_AsyncResult_SetOutParams(ILExecThread * _thread, ILObject * 
del, System_Array * args, System_Array * outParams);
+extern void _IL_ArgIterator_ctor_RuntimeArgumentHandle(ILExecThread * _thread, 
void * _this, void * argList);
+extern ILInt32 _IL_ArgIterator_GetRemainingCount(ILExecThread * _thread, void 
* _this);
+extern ILTypedRef _IL_ArgIterator_GetNextArg_(ILExecThread * _thread, void * 
_this);
+extern void _IL_ArgIterator_ctor_RuntimeArgumentHandlepV(ILExecThread * 
_thread, void * _this, void * argList, void * ptr);
+extern void _IL_ArgIterator_End(ILExecThread * _thread, void * _this);
+extern ILTypedRef _IL_ArgIterator_GetNextArg_RuntimeTypeHandle(ILExecThread * 
_thread, void * _this, void * type);
+extern void _IL_ArgIterator_GetNextArgType(ILExecThread * _thread, void * 
_result, void * _this);
 
-extern void _IL_GCHandle_GCFree(ILExecThread * _thread, ILInt32 handle);
-extern ILObject * _IL_GCHandle_GCGetTarget(ILExecThread * _thread, ILInt32 
handle);
-extern void _IL_GCHandle_GCSetTarget(ILExecThread * _thread, ILInt32 handle, 
ILObject * value);
-extern ILInt32 _IL_GCHandle_GCAlloc(ILExecThread * _thread, ILObject * value, 
ILInt32 type);
-extern ILNativeInt _IL_GCHandle_GCAddrOfPinnedObject(ILExecThread * _thread, 
ILInt32 handle);
-extern ILBool _IL_GCHandle_GCValidate(ILExecThread * _thread, ILInt32 handle);
+extern ILObject * _IL_TypedReference_ToObject(ILExecThread * _thread, 
ILTypedRef value);
+extern ILTypedRef _IL_TypedReference_ClrMakeTypedReference(ILExecThread * 
_thread, ILObject * target, System_Array * flds);
+extern ILBool _IL_TypedReference_ClrSetTypedReference(ILExecThread * _thread, 
ILTypedRef target, ILObject * value);
 
-extern void _IL_Marshal_FreeHGlobal(ILExecThread * _thread, ILNativeInt 
hglobal);
-extern ILNativeInt _IL_Marshal_AllocHGlobal(ILExecThread * _thread, 
ILNativeInt cb);
-extern ILString * _IL_Marshal_PtrToStringAnsiInternal(ILExecThread * _thread, 
ILNativeInt ptr, ILInt32 len);
-extern void _IL_Marshal_CopyMU(ILExecThread * _thread, ILObject * source, 
ILInt32 startOffset, ILNativeInt destination, ILInt32 numBytes);
-extern void _IL_Marshal_CopyUM(ILExecThread * _thread, ILNativeInt source, 
ILObject * destination, ILInt32 startOffset, ILInt32 numBytes);
-extern ILNativeInt _IL_Marshal_OffsetOfInternal(ILExecThread * _thread, 
ILObject * t, ILString * fieldName);
-extern ILString * _IL_Marshal_PtrToStringAutoInternal(ILExecThread * _thread, 
ILNativeInt ptr, ILInt32 len);
-extern ILString * _IL_Marshal_PtrToStringUniInternal(ILExecThread * _thread, 
ILNativeInt ptr, ILInt32 len);
-extern ILBool _IL_Marshal_PtrToStructureInternal(ILExecThread * _thread, 
ILNativeInt ptr, ILObject * structure, ILBool allowValueTypes);
-extern ILBool _IL_Marshal_DestroyStructureInternal(ILExecThread * _thread, 
ILNativeInt ptr, ILObject * structureType);
-extern ILBool _IL_Marshal_StructureToPtrInternal(ILExecThread * _thread, 
ILObject * structure, ILNativeInt ptr);
-extern ILNativeInt _IL_Marshal_ObjectToPtr(ILExecThread * _thread, ILObject * 
obj);
-extern ILUInt8 _IL_Marshal_ReadByte(ILExecThread * _thread, ILNativeInt ptr, 
ILInt32 ofs);
-extern ILInt16 _IL_Marshal_ReadInt16(ILExecThread * _thread, ILNativeInt ptr, 
ILInt32 ofs);
-extern ILInt32 _IL_Marshal_ReadInt32(ILExecThread * _thread, ILNativeInt ptr, 
ILInt32 ofs);
-extern ILInt64 _IL_Marshal_ReadInt64(ILExecThread * _thread, ILNativeInt ptr, 
ILInt32 ofs);
-extern ILNativeInt _IL_Marshal_ReadIntPtr(ILExecThread * _thread, ILNativeInt 
ptr, ILInt32 ofs);
-extern ILNativeInt _IL_Marshal_ReAllocHGlobal(ILExecThread * _thread, 
ILNativeInt pv, ILNativeInt cb);
-extern ILInt32 _IL_Marshal_SizeOfInternal(ILExecThread * _thread, ILObject * 
t);
-extern ILNativeInt _IL_Marshal_StringToHGlobalAnsi(ILExecThread * _thread, 
ILString * s);
-extern ILNativeInt _IL_Marshal_StringToHGlobalAuto(ILExecThread * _thread, 
ILString * s);
-extern ILNativeInt _IL_Marshal_StringToHGlobalUni(ILExecThread * _thread, 
ILString * s);
-extern ILNativeInt _IL_Marshal_UnsafeAddrOfPinnedArrayElement(ILExecThread * 
_thread, ILObject * arr, ILInt32 index);
-extern void _IL_Marshal_WriteByte(ILExecThread * _thread, ILNativeInt ptr, 
ILInt32 ofs, ILUInt8 val);
-extern void _IL_Marshal_WriteInt16(ILExecThread * _thread, ILNativeInt ptr, 
ILInt32 ofs, ILInt16 val);
-extern void _IL_Marshal_WriteInt32(ILExecThread * _thread, ILNativeInt ptr, 
ILInt32 ofs, ILInt32 val);
-extern void _IL_Marshal_WriteInt64(ILExecThread * _thread, ILNativeInt ptr, 
ILInt32 ofs, ILInt64 val);
-extern void _IL_Marshal_WriteIntPtr(ILExecThread * _thread, ILNativeInt ptr, 
ILInt32 ofs, ILNativeInt val);
+extern ILObject * _IL_Activator_CreateValueTypeInstance(ILExecThread * 
_thread, ILObject * type);
 
-extern void _IL_RuntimeHelpers_InitializeArray(ILExecThread * _thread, 
ILObject * array, void * field);
-extern void _IL_RuntimeHelpers_RunClassConstructor(ILExecThread * _thread, 
void * type);
-extern ILInt32 _IL_RuntimeHelpers_InternalOffsetToStringData(ILExecThread * 
_thread);
-extern ILObject * _IL_RuntimeHelpers_GetObjectValue(ILExecThread * _thread, 
ILObject * obj);
-extern ILBool _IL_RuntimeHelpers_Equals(ILExecThread * _thread, ILObject * o1, 
ILObject * o2);
-extern ILInt32 _IL_RuntimeHelpers_GetHashCode(ILExecThread * _thread, ILObject 
* o);
+extern void _IL_Guid_NewGuid(ILExecThread * _thread, void * _result);
 
-extern ILBool _IL_Debugger_InternalIsAttached(ILExecThread * _thread);
-extern void _IL_Debugger_Break(ILExecThread * _thread);
-extern ILBool _IL_Debugger_IsLogging(ILExecThread * _thread);
-extern ILBool _IL_Debugger_InternalLaunch(ILExecThread * _thread);
-extern void _IL_Debugger_Log(ILExecThread * _thread, ILInt32 level, ILString * 
category, ILString * message);
+extern ILNativeInt _IL_RuntimeMethodHandle_GetFunctionPointer(ILExecThread * 
_thread, void * _this);
 
-extern System_Array * _IL_StackFrame_GetExceptionStackTrace(ILExecThread * 
_thread);
-extern ILInt32 _IL_StackFrame_InternalGetTotalFrames(ILExecThread * _thread);
-extern ILString * _IL_StackFrame_InternalGetDebugInfo(ILExecThread * _thread, 
void * method, ILInt32 offset, ILInt32 * line, ILInt32 * column);
-extern void _IL_StackFrame_InternalGetMethod(ILExecThread * _thread, void * 
_result, ILInt32 skipFrames);
-extern ILInt32 _IL_StackFrame_InternalGetILOffset(ILExecThread * _thread, 
ILInt32 skipFrames);
-extern ILInt32 _IL_StackFrame_InternalGetNativeOffset(ILExecThread * _thread, 
ILInt32 skipFrames);
+extern ILInt32 _IL_Buffer_GetLength(ILExecThread * _thread, ILObject * array);
+extern void _IL_Buffer_Copy(ILExecThread * _thread, ILObject * src, ILInt32 
srcOffset, ILObject * dst, ILInt32 dstOffset, ILInt32 count);
+extern ILUInt8 _IL_Buffer_GetElement(ILExecThread * _thread, ILObject * array, 
ILInt32 index);
+extern void _IL_Buffer_SetElement(ILExecThread * _thread, ILObject * array, 
ILInt32 index, ILUInt8 value);
 
-extern ILObject * _IL_ClrProperty_GetPropertyType(ILExecThread * _thread, 
ILNativeInt item);
+extern void _IL_AppDomainSetup_GetPrivateBinPaths(ILExecThread * _thread, 
ILObject * appDomain, System_Array * * paths);
+extern void _IL_AppDomainSetup_SetPrivateBinPaths(ILExecThread * _thread, 
ILObject * appDomain, System_Array * paths);
 
 extern ILObject * _IL_MethodBase_GetMethodFromHandle(ILExecThread * _thread, 
void * handle);
 extern ILObject * _IL_MethodBase_GetCurrentMethod(ILExecThread * _thread);
@@ -466,6 +186,8 @@
 extern ILObject * _IL_ClrConstructor_Invoke(ILExecThread * _thread, ILObject * 
_this, ILInt32 invokeAttr, ILObject * binder, System_Array * parameters, 
ILObject * culture);
 extern ILObject * _IL_ClrConstructor_InvokeOnEmpty(ILExecThread * _thread, 
ILObject * _this, ILObject * obj, ILInt32 invokeAttr, ILObject * binder, 
System_Array * parameters, ILObject * culture);
 
+extern ILObject * _IL_ClrProperty_GetPropertyType(ILExecThread * _thread, 
ILNativeInt item);
+
 extern ILObject * _IL_Module_GetModuleType(ILExecThread * _thread, ILObject * 
_this);
 extern ILObject * _IL_Module_GetAssembly(ILExecThread * _thread, ILObject * 
_this);
 extern ILString * _IL_Module_GetFullName(ILExecThread * _thread, ILObject * 
_this);
@@ -473,13 +195,17 @@
 extern System_Array * _IL_Module_GetTypes(ILExecThread * _thread, ILObject * 
_this);
 extern ILBool _IL_Module_IsResource(ILExecThread * _thread, ILObject * _this);
 
+extern ILInt32 _IL_ClrParameter_GetParamAttrs(ILExecThread * _thread, 
ILNativeInt item);
+extern ILString * _IL_ClrParameter_GetParamName(ILExecThread * _thread, 
ILNativeInt item);
+extern ILObject * _IL_ClrParameter_GetDefault(ILExecThread * _thread, 
ILNativeInt item);
+
 extern ILBool _IL_ClrHelpers_CanAccess(ILExecThread * _thread, ILNativeInt 
item);
-extern ILInt32 _IL_ClrHelpers_GetMemberAttrs(ILExecThread * _thread, 
ILNativeInt item);
-extern ILBool _IL_ClrHelpers_HasSemantics(ILExecThread * _thread, ILNativeInt 
item, ILInt32 type, ILBool nonPublic);
-extern ILObject * _IL_ClrHelpers_GetSemantics(ILExecThread * _thread, 
ILNativeInt item, ILInt32 type, ILBool nonPublic);
 extern ILInt32 _IL_ClrHelpers_GetNumParameters(ILExecThread * _thread, 
ILNativeInt item);
+extern ILInt32 _IL_ClrHelpers_GetMemberAttrs(ILExecThread * _thread, 
ILNativeInt item);
 extern ILInt32 _IL_ClrHelpers_GetCallConv(ILExecThread * _thread, ILNativeInt 
item);
 extern ILInt32 _IL_ClrHelpers_GetImplAttrs(ILExecThread * _thread, ILNativeInt 
item);
+extern ILBool _IL_ClrHelpers_HasSemantics(ILExecThread * _thread, ILNativeInt 
item, ILInt32 type, ILBool nonPublic);
+extern ILObject * _IL_ClrHelpers_GetSemantics(ILExecThread * _thread, 
ILNativeInt item, ILInt32 type, ILBool nonPublic);
 extern ILString * _IL_ClrHelpers_GetName(ILExecThread * _thread, ILNativeInt 
item);
 extern System_Array * _IL_ClrHelpers_GetCustomAttributes(ILExecThread * 
_thread, ILNativeInt item, ILNativeInt type, ILBool inherit);
 extern ILBool _IL_ClrHelpers_IsDefined(ILExecThread * _thread, ILNativeInt 
item, ILNativeInt type, ILBool inherit);
@@ -487,10 +213,6 @@
 extern ILNativeInt _IL_ClrHelpers_GetParameter(ILExecThread * _thread, 
ILNativeInt item, ILInt32 num);
 extern ILObject * _IL_ClrHelpers_GetParameterType(ILExecThread * _thread, 
ILNativeInt item, ILInt32 num);
 
-extern ILObject * _IL_FieldInfo_GetFieldFromHandle(ILExecThread * _thread, 
void * handle);
-
-extern ILInt32 _IL_AssemblyName_FillAssemblyNameFromFile(ILExecThread * 
_thread, ILObject * nameInfo, ILString * assemblyFile, ILObject * caller);
-
 extern ILObject * _IL_ClrMethod_Invoke(ILExecThread * _thread, ILObject * 
_this, ILObject * obj, ILInt32 invokeAttr, ILObject * binder, System_Array * 
parameters, ILObject * culture);
 extern ILObject * _IL_ClrMethod_GetBaseDefinition(ILExecThread * _thread, 
ILObject * _this);
 extern ILBool _IL_ClrMethod_HasGenericArgumentsImpl(ILExecThread * _thread, 
ILObject * _this);
@@ -500,11 +222,37 @@
 extern ILInt32 _IL_ClrMethod_GetArity(ILExecThread * _thread, ILObject * 
_this);
 extern ILObject * _IL_ClrMethod_BindGenericParametersImpl(ILExecThread * 
_thread, ILObject * _this, System_Array * typeArgs);
 
-extern ILObject * _IL_ClrField_GetFieldType(ILExecThread * _thread, 
ILNativeInt item);
-extern ILObject * _IL_ClrField_GetValueInternal(ILExecThread * _thread, 
ILObject * _this, ILObject * obj);
-extern void _IL_ClrField_SetValueInternal(ILExecThread * _thread, ILObject * 
_this, ILObject * obj, ILObject * value, ILInt32 invokeAttr, ILObject * binder, 
ILObject * culture);
-extern ILObject * _IL_ClrField_GetValueDirect(ILExecThread * _thread, ILObject 
* _this, ILTypedRef obj);
-extern void _IL_ClrField_SetValueDirect(ILExecThread * _thread, ILObject * 
_this, ILTypedRef obj, ILObject * value);
+extern ILObject * _IL_Assembly_GetExecutingAssembly(ILExecThread * _thread);
+extern ILObject * _IL_Assembly_GetEntryAssembly(ILExecThread * _thread);
+extern ILObject * _IL_Assembly_GetCallingAssembly(ILExecThread * _thread);
+extern ILObject * _IL_Assembly_LoadFromBytes(ILExecThread * _thread, 
System_Array * bytes, ILInt32 * error, ILObject * parent);
+extern ILObject * _IL_Assembly_GetType(ILExecThread * _thread, ILObject * 
_this, ILString * typeName, ILBool throwOnError, ILBool ignoreCase);
+extern System_Array * _IL_Assembly_GetTypes(ILExecThread * _thread, ILObject * 
_this);
+extern ILString * _IL_Assembly_GetLocation(ILExecThread * _thread, ILObject * 
_this);
+extern ILString * _IL_Assembly_GetFullName(ILExecThread * _thread, ILObject * 
_this);
+extern ILObject * _IL_Assembly_GetModuleInternal(ILExecThread * _thread, 
ILObject * _this, ILString * name);
+extern System_Array * _IL_Assembly_GetExportedTypes(ILExecThread * _thread, 
ILObject * _this);
+extern ILObject * _IL_Assembly_GetFile(ILExecThread * _thread, ILObject * 
_this, ILString * name);
+extern System_Array * _IL_Assembly_GetFiles(ILExecThread * _thread, ILObject * 
_this, ILBool getResourceModules);
+extern ILObject * _IL_Assembly_GetManifestResourceInfo(ILExecThread * _thread, 
ILObject * _this, ILString * resourceName);
+extern System_Array * _IL_Assembly_GetManifestResourceNames(ILExecThread * 
_thread, ILObject * _this);
+extern ILObject * _IL_Assembly_GetManifestResourceStream(ILExecThread * 
_thread, ILObject * _this, ILString * name);
+extern ILObject * _IL_Assembly_LoadFromName(ILExecThread * _thread, ILString * 
name, ILInt32 * error, ILObject * parent);
+extern ILObject * _IL_Assembly_LoadFromFile(ILExecThread * _thread, ILString * 
name, ILInt32 * error, ILObject * parent);
+extern void _IL_Assembly_FillAssemblyName(ILExecThread * _thread, ILObject * 
_this, ILObject * nameInfo);
+extern void _IL_Assembly_GetEntryPoint(ILExecThread * _thread, void * _result, 
ILObject * _this);
+extern ILString * _IL_Assembly_GetImageRuntimeVersion(ILExecThread * _thread, 
ILObject * _this);
+extern ILString * _IL_Assembly_GetSatellitePath(ILExecThread * _thread, 
ILObject * _this, ILString * filename);
+extern System_Array * _IL_Assembly_GetModules(ILExecThread * _thread, ILObject 
* _this, ILBool getResourceModules);
+extern System_Array * 
_IL_Assembly_GetReferencedAssembliesInternal(ILExecThread * _thread, ILObject * 
_this);
+
+extern ILInt32 _IL_AssemblyName_FillAssemblyNameFromFile(ILExecThread * 
_thread, ILObject * nameInfo, ILString * assemblyFile, ILObject * caller);
+
+extern ILInt32 _IL_ClrResourceStream_ResourceRead(ILExecThread * _thread, 
ILNativeInt handle, ILInt64 position, System_Array * buffer, ILInt32 offset, 
ILInt32 count);
+extern ILInt32 _IL_ClrResourceStream_ResourceReadByte(ILExecThread * _thread, 
ILNativeInt handle, ILInt64 position);
+extern ILUInt8 * _IL_ClrResourceStream_ResourceGetAddress(ILExecThread * 
_thread, ILNativeInt handle, ILInt64 position);
+
+extern ILObject * _IL_FieldInfo_GetFieldFromHandle(ILExecThread * _thread, 
void * handle);
 
 extern ILInt32 _IL_ClrType_GetClrArrayRank(ILExecThread * _thread, ILObject * 
_this);
 extern ILInt32 _IL_ClrType_GetAttributeFlagsImpl(ILExecThread * _thread, 
ILObject * _this);
@@ -530,42 +278,25 @@
 extern ILObject * _IL_ClrType_BindGenericParameters(ILExecThread * _thread, 
ILObject * _this, System_Array * inst);
 extern ILObject * _IL_ClrType_GetGenericTypeDefinition(ILExecThread * _thread, 
ILObject * _this);
 
-extern ILInt32 _IL_ClrResourceStream_ResourceRead(ILExecThread * _thread, 
ILNativeInt handle, ILInt64 position, System_Array * buffer, ILInt32 offset, 
ILInt32 count);
-extern ILInt32 _IL_ClrResourceStream_ResourceReadByte(ILExecThread * _thread, 
ILNativeInt handle, ILInt64 position);
-extern ILUInt8 * _IL_ClrResourceStream_ResourceGetAddress(ILExecThread * 
_thread, ILNativeInt handle, ILInt64 position);
+extern ILObject * _IL_ClrField_GetFieldType(ILExecThread * _thread, 
ILNativeInt item);
+extern ILObject * _IL_ClrField_GetValueInternal(ILExecThread * _thread, 
ILObject * _this, ILObject * obj);
+extern void _IL_ClrField_SetValueInternal(ILExecThread * _thread, ILObject * 
_this, ILObject * obj, ILObject * value, ILInt32 invokeAttr, ILObject * binder, 
ILObject * culture);
+extern ILObject * _IL_ClrField_GetValueDirect(ILExecThread * _thread, ILObject 
* _this, ILTypedRef obj);
+extern void _IL_ClrField_SetValueDirect(ILExecThread * _thread, ILObject * 
_this, ILTypedRef obj, ILObject * value);
 
-extern ILObject * _IL_Assembly_GetExecutingAssembly(ILExecThread * _thread);
-extern ILObject * _IL_Assembly_GetEntryAssembly(ILExecThread * _thread);
-extern ILObject * _IL_Assembly_GetCallingAssembly(ILExecThread * _thread);
-extern ILObject * _IL_Assembly_LoadFromBytes(ILExecThread * _thread, 
System_Array * bytes, ILInt32 * error, ILObject * parent);
-extern ILObject * _IL_Assembly_GetType(ILExecThread * _thread, ILObject * 
_this, ILString * typeName, ILBool throwOnError, ILBool ignoreCase);
-extern System_Array * _IL_Assembly_GetTypes(ILExecThread * _thread, ILObject * 
_this);
-extern ILString * _IL_Assembly_GetFullName(ILExecThread * _thread, ILObject * 
_this);
-extern ILString * _IL_Assembly_GetLocation(ILExecThread * _thread, ILObject * 
_this);
-extern ILObject * _IL_Assembly_GetModuleInternal(ILExecThread * _thread, 
ILObject * _this, ILString * name);
-extern System_Array * _IL_Assembly_GetExportedTypes(ILExecThread * _thread, 
ILObject * _this);
-extern ILObject * _IL_Assembly_GetFile(ILExecThread * _thread, ILObject * 
_this, ILString * name);
-extern System_Array * _IL_Assembly_GetFiles(ILExecThread * _thread, ILObject * 
_this, ILBool getResourceModules);
-extern ILObject * _IL_Assembly_GetManifestResourceInfo(ILExecThread * _thread, 
ILObject * _this, ILString * resourceName);
-extern System_Array * _IL_Assembly_GetManifestResourceNames(ILExecThread * 
_thread, ILObject * _this);
-extern ILObject * _IL_Assembly_GetManifestResourceStream(ILExecThread * 
_thread, ILObject * _this, ILString * name);
-extern ILObject * _IL_Assembly_LoadFromName(ILExecThread * _thread, ILString * 
name, ILInt32 * error, ILObject * parent);
-extern ILObject * _IL_Assembly_LoadFromFile(ILExecThread * _thread, ILString * 
name, ILInt32 * error, ILObject * parent);
-extern void _IL_Assembly_FillAssemblyName(ILExecThread * _thread, ILObject * 
_this, ILObject * nameInfo);
-extern void _IL_Assembly_GetEntryPoint(ILExecThread * _thread, void * _result, 
ILObject * _this);
-extern ILString * _IL_Assembly_GetImageRuntimeVersion(ILExecThread * _thread, 
ILObject * _this);
-extern ILString * _IL_Assembly_GetSatellitePath(ILExecThread * _thread, 
ILObject * _this, ILString * filename);
-extern System_Array * _IL_Assembly_GetModules(ILExecThread * _thread, ILObject 
* _this, ILBool getResourceModules);
-extern System_Array * 
_IL_Assembly_GetReferencedAssembliesInternal(ILExecThread * _thread, ILObject * 
_this);
+extern ILNativeInt _IL_EventBuilder_ClrEventCreate(ILExecThread * _thread, 
ILNativeInt classInfo, ILString * name, ILNativeInt type, ILInt32 attributes);
+extern void _IL_EventBuilder_ClrEventAddSemantics(ILExecThread * _thread, 
ILNativeInt eventInfo, ILInt32 attr, void * token);
 
-extern ILInt32 _IL_ClrParameter_GetParamAttrs(ILExecThread * _thread, 
ILNativeInt item);
-extern ILString * _IL_ClrParameter_GetParamName(ILExecThread * _thread, 
ILNativeInt item);
-extern ILObject * _IL_ClrParameter_GetDefault(ILExecThread * _thread, 
ILNativeInt item);
+extern ILNativeInt _IL_ParameterBuilder_ClrParameterCreate(ILExecThread * 
_thread, ILNativeInt method, ILInt32 position, ILInt32 attributes, ILString * 
name);
+extern ILInt32 _IL_ParameterBuilder_ClrParameterGetPosition(ILExecThread * 
_thread, ILNativeInt parameter);
+extern ILInt32 _IL_ParameterBuilder_ClrParameterGetAttrs(ILExecThread * 
_thread, ILNativeInt parameter);
+extern ILString * _IL_ParameterBuilder_ClrParameterGetName(ILExecThread * 
_thread, ILNativeInt parameter);
 
-extern ILNativeInt _IL_ModuleBuilder_ClrModuleCreate(ILExecThread * _thread, 
ILNativeInt assembly, ILString * name);
-extern ILInt32 _IL_ModuleBuilder_ClrModuleCreateString(ILExecThread * _thread, 
ILNativeInt module, ILString * str);
-extern ILInt32 _IL_ModuleBuilder_ClrModuleWriteData(ILExecThread * _thread, 
ILNativeInt module, System_Array * data);
-extern ILInt32 _IL_ModuleBuilder_ClrModuleWriteGap(ILExecThread * _thread, 
ILNativeInt module, ILInt32 size);
+extern ILNativeInt _IL_MethodBuilder_ClrMethodCreate(ILExecThread * _thread, 
ILNativeInt classInfo, ILString * name, ILInt32 attributes, ILNativeInt 
signature);
+extern void _IL_MethodBuilder_ClrMethodSetImplAttrs(ILExecThread * _thread, 
ILNativeInt item, ILInt32 attributes);
+extern void _IL_MethodBuilder_ClrMethodSetRVA(ILExecThread * _thread, 
ILNativeInt method, ILInt32 rva);
+extern ILInt32 _IL_MethodBuilder_ClrMethodCreateVarArgRef(ILExecThread * 
_thread, ILNativeInt module, ILInt32 methodToken, ILNativeInt signature);
+extern void _IL_MethodBuilder_ClrMethodAddPInvoke(ILExecThread * _thread, 
ILNativeInt method, ILInt32 pinvAttrs, ILString * dllName, ILString * 
entryName);
 
 extern ILNativeInt _IL_SignatureHelper_ClrSigCreateMethod(ILExecThread * 
_thread, ILNativeInt context, ILInt32 callConv, ILNativeInt returnType);
 extern ILNativeInt _IL_SignatureHelper_ClrSigModuleToContext(ILExecThread * 
_thread, ILNativeInt module);
@@ -586,6 +317,20 @@
 extern System_Array * _IL_SignatureHelper_ClrSigGetBytes(ILExecThread * 
_thread, ILNativeInt module, ILInt64 offset);
 extern ILInt32 _IL_SignatureHelper_ClrStandAloneToken(ILExecThread * _thread, 
ILNativeInt module, ILNativeInt sig);
 
+extern void _IL_FieldBuilder_ClrFieldSetConstant(ILExecThread * _thread, 
ILNativeInt item, ILObject * value);
+extern void _IL_FieldBuilder_ClrFieldSetMarshal(ILExecThread * _thread, 
ILNativeInt item, System_Array * data);
+extern ILNativeInt _IL_FieldBuilder_ClrFieldCreate(ILExecThread * _thread, 
ILNativeInt classInfo, ILString * name, ILNativeInt type, ILInt32 attributes);
+extern void _IL_FieldBuilder_ClrFieldSetOffset(ILExecThread * _thread, 
ILNativeInt item, ILInt32 offset);
+extern void _IL_FieldBuilder_ClrFieldSetRVA(ILExecThread * _thread, 
ILNativeInt item, ILInt32 rva);
+
+extern ILNativeInt _IL_PropertyBuilder_ClrPropertyCreate(ILExecThread * 
_thread, ILNativeInt classInfo, ILString * name, ILInt32 attributes, 
ILNativeInt signature);
+extern void _IL_PropertyBuilder_ClrPropertyAddSemantics(ILExecThread * 
_thread, ILNativeInt item, ILInt32 attr, void * token);
+
+extern ILInt32 _IL_ModuleBuilder_ClrModuleWriteData(ILExecThread * _thread, 
ILNativeInt module, System_Array * data);
+extern ILInt32 _IL_ModuleBuilder_ClrModuleWriteGap(ILExecThread * _thread, 
ILNativeInt module, ILInt32 size);
+extern ILInt32 _IL_ModuleBuilder_ClrModuleCreateString(ILExecThread * _thread, 
ILNativeInt module, ILString * str);
+extern ILNativeInt _IL_ModuleBuilder_ClrModuleCreate(ILExecThread * _thread, 
ILNativeInt assembly, ILString * name);
+
 extern ILInt32 _IL_TypeBuilder_ClrTypeImportMember(ILExecThread * _thread, 
ILNativeInt module, ILNativeInt memberInfo);
 extern ILInt32 _IL_TypeBuilder_ClrTypeImport(ILExecThread * _thread, 
ILNativeInt module, ILNativeInt classInfo);
 extern ILNativeInt _IL_TypeBuilder_ClrTypeCreate(ILExecThread * _thread, 
ILNativeInt module, ILNativeInt nestedParent, ILString * name, ILString * 
nspace, ILInt32 attr, void * parent);
@@ -597,29 +342,6 @@
 extern void _IL_TypeBuilder_ClrTypeAddOverride(ILExecThread * _thread, 
ILNativeInt module, ILInt32 bodyToken, ILInt32 declToken);
 extern void _IL_TypeBuilder_ClrTypeSetParent(ILExecThread * _thread, 
ILNativeInt classInfo, void * parent);
 
-extern ILNativeInt _IL_PropertyBuilder_ClrPropertyCreate(ILExecThread * 
_thread, ILNativeInt classInfo, ILString * name, ILInt32 attributes, 
ILNativeInt signature);
-extern void _IL_PropertyBuilder_ClrPropertyAddSemantics(ILExecThread * 
_thread, ILNativeInt item, ILInt32 attr, void * token);
-
-extern void _IL_FieldBuilder_ClrFieldSetConstant(ILExecThread * _thread, 
ILNativeInt item, ILObject * value);
-extern ILNativeInt _IL_FieldBuilder_ClrFieldCreate(ILExecThread * _thread, 
ILNativeInt classInfo, ILString * name, ILNativeInt type, ILInt32 attributes);
-extern void _IL_FieldBuilder_ClrFieldSetRVA(ILExecThread * _thread, 
ILNativeInt item, ILInt32 rva);
-extern void _IL_FieldBuilder_ClrFieldSetMarshal(ILExecThread * _thread, 
ILNativeInt item, System_Array * data);
-extern void _IL_FieldBuilder_ClrFieldSetOffset(ILExecThread * _thread, 
ILNativeInt item, ILInt32 offset);
-
-extern ILNativeInt _IL_ParameterBuilder_ClrParameterCreate(ILExecThread * 
_thread, ILNativeInt method, ILInt32 position, ILInt32 attributes, ILString * 
name);
-extern ILInt32 _IL_ParameterBuilder_ClrParameterGetPosition(ILExecThread * 
_thread, ILNativeInt parameter);
-extern ILInt32 _IL_ParameterBuilder_ClrParameterGetAttrs(ILExecThread * 
_thread, ILNativeInt parameter);
-extern ILString * _IL_ParameterBuilder_ClrParameterGetName(ILExecThread * 
_thread, ILNativeInt parameter);
-
-extern ILNativeInt _IL_MethodBuilder_ClrMethodCreate(ILExecThread * _thread, 
ILNativeInt classInfo, ILString * name, ILInt32 attributes, ILNativeInt 
signature);
-extern void _IL_MethodBuilder_ClrMethodSetImplAttrs(ILExecThread * _thread, 
ILNativeInt item, ILInt32 attributes);
-extern void _IL_MethodBuilder_ClrMethodSetRVA(ILExecThread * _thread, 
ILNativeInt method, ILInt32 rva);
-extern void _IL_MethodBuilder_ClrMethodAddPInvoke(ILExecThread * _thread, 
ILNativeInt method, ILInt32 pinvAttrs, ILString * dllName, ILString * 
entryName);
-extern ILInt32 _IL_MethodBuilder_ClrMethodCreateVarArgRef(ILExecThread * 
_thread, ILNativeInt module, ILInt32 methodToken, ILNativeInt signature);
-
-extern ILNativeInt _IL_EventBuilder_ClrEventCreate(ILExecThread * _thread, 
ILNativeInt classInfo, ILString * name, ILNativeInt type, ILInt32 attributes);
-extern void _IL_EventBuilder_ClrEventAddSemantics(ILExecThread * _thread, 
ILNativeInt eventInfo, ILInt32 attr, void * token);
-
 extern ILInt32 _IL_AssemblyBuilder_ClrGetItemToken(ILExecThread * _thread, 
ILNativeInt item);
 extern ILNativeInt _IL_AssemblyBuilder_ClrGetItemFromToken(ILExecThread * 
_thread, ILNativeInt assembly, ILInt32 token);
 extern ILNativeInt _IL_AssemblyBuilder_ClrAssemblyCreate(ILExecThread * 
_thread, ILString * name, ILInt32 v1, ILInt32 v2, ILInt32 v3, ILInt32 v4, 
ILInt32 access, ILNativeInt * writer);
@@ -628,17 +350,37 @@
 extern ILInt32 _IL_AssemblyBuilder_ClrWriteMethod(ILExecThread * _thread, 
ILNativeInt assembly, ILNativeInt writer, System_Array * header, System_Array * 
code, System_Array * codeFixupPtrs, System_Array * codeFixupOffsets, 
System_Array * exceptionBlocks, System_Array * exceptionBlockFixupPtrs, 
System_Array * exceptionBlockFixupOffsets);
 extern ILBool _IL_AssemblyBuilder_ClrSave(ILExecThread * _thread, ILNativeInt 
assembly, ILNativeInt writer, ILString * path, ILNativeInt entryMethod, ILInt32 
fileKind);
 
-extern ILObject * _IL_ClrSecurity_GetPermissionsFrom(ILExecThread * _thread, 
ILInt32 skipFrames);
-extern void _IL_ClrSecurity_SetPermissions(ILExecThread * _thread, ILObject * 
perm, ILInt32 skipFrames);
-extern ILObject * _IL_ClrSecurity_GetPermissions(ILExecThread * _thread, 
ILInt32 skipFrames);
+extern ILBool _IL_Debugger_InternalIsAttached(ILExecThread * _thread);
+extern void _IL_Debugger_Break(ILExecThread * _thread);
+extern ILBool _IL_Debugger_IsLogging(ILExecThread * _thread);
+extern ILBool _IL_Debugger_InternalLaunch(ILExecThread * _thread);
+extern void _IL_Debugger_Log(ILExecThread * _thread, ILInt32 level, ILString * 
category, ILString * message);
+
+extern System_Array * _IL_StackFrame_GetExceptionStackTrace(ILExecThread * 
_thread);
+extern void _IL_StackFrame_InternalGetMethod(ILExecThread * _thread, void * 
_result, ILInt32 skipFrames);
+extern ILInt32 _IL_StackFrame_InternalGetILOffset(ILExecThread * _thread, 
ILInt32 skipFrames);
+extern ILInt32 _IL_StackFrame_InternalGetNativeOffset(ILExecThread * _thread, 
ILInt32 skipFrames);
+extern ILString * _IL_StackFrame_InternalGetDebugInfo(ILExecThread * _thread, 
void * method, ILInt32 offset, ILInt32 * line, ILInt32 * column);
+extern ILInt32 _IL_StackFrame_InternalGetTotalFrames(ILExecThread * _thread);
+
+extern ILInt32 _IL_DefaultEncoding_InternalCodePage(ILExecThread * _thread);
+extern ILInt32 _IL_DefaultEncoding_InternalGetByteCount_acii(ILExecThread * 
_thread, System_Array * chars, ILInt32 index, ILInt32 count);
+extern ILInt32 _IL_DefaultEncoding_InternalGetByteCount_Stringii(ILExecThread 
* _thread, ILString * s, ILInt32 index, ILInt32 count);
+extern ILInt32 _IL_DefaultEncoding_InternalGetBytes_aciiaBi(ILExecThread * 
_thread, System_Array * chars, ILInt32 charIndex, ILInt32 charCount, 
System_Array * bytes, ILInt32 byteIndex);
+extern ILInt32 _IL_DefaultEncoding_InternalGetBytes_StringiiaBi(ILExecThread * 
_thread, ILString * s, ILInt32 charIndex, ILInt32 charCount, System_Array * 
bytes, ILInt32 byteIndex);
+extern ILInt32 _IL_DefaultEncoding_InternalGetCharCount(ILExecThread * 
_thread, System_Array * bytes, ILInt32 index, ILInt32 count);
+extern ILInt32 _IL_DefaultEncoding_InternalGetChars(ILExecThread * _thread, 
System_Array * bytes, ILInt32 byteIndex, ILInt32 byteCount, System_Array * 
chars, ILInt32 charIndex);
+extern ILInt32 _IL_DefaultEncoding_InternalGetMaxByteCount(ILExecThread * 
_thread, ILInt32 charCount);
+extern ILInt32 _IL_DefaultEncoding_InternalGetMaxCharCount(ILExecThread * 
_thread, ILInt32 byteCount);
+extern ILString * _IL_DefaultEncoding_InternalGetString(ILExecThread * 
_thread, System_Array * bytes, ILInt32 index, ILInt32 count);
 
 extern ILObject * _IL_StringBuilder_Append_c(ILExecThread * _thread, ILObject 
* _this, ILUInt16 value);
-extern ILObject * _IL_StringBuilder_Append_String(ILExecThread * _thread, 
ILObject * _this, ILString * value);
 extern ILObject * _IL_StringBuilder_Append_Stringii(ILExecThread * _thread, 
ILObject * _this, ILString * value, ILInt32 startIndex, ILInt32 length);
 extern ILObject * _IL_StringBuilder_Append_ci(ILExecThread * _thread, ILObject 
* _this, ILUInt16 value, ILInt32 repeatCount);
-extern ILObject * _IL_StringBuilder_Insert_ic(ILExecThread * _thread, ILObject 
* _this, ILInt32 index, ILUInt16 value);
-extern ILObject * _IL_StringBuilder_Append_acii(ILExecThread * _thread, 
ILObject * _this, System_Array * value, ILInt32 startIndex, ILInt32 length);
+extern ILObject * _IL_StringBuilder_Append_String(ILExecThread * _thread, 
ILObject * _this, ILString * value);
 extern ILObject * _IL_StringBuilder_Insert_iString(ILExecThread * _thread, 
ILObject * _this, ILInt32 index, ILString * value);
+extern ILObject * _IL_StringBuilder_Append_acii(ILExecThread * _thread, 
ILObject * _this, System_Array * value, ILInt32 startIndex, ILInt32 length);
+extern ILObject * _IL_StringBuilder_Insert_ic(ILExecThread * _thread, ILObject 
* _this, ILInt32 index, ILUInt16 value);
 extern ILObject * _IL_StringBuilder_Insert_iStringi(ILExecThread * _thread, 
ILObject * _this, ILInt32 index, ILString * value, ILInt32 count);
 extern ILObject * _IL_StringBuilder_Append_ac(ILExecThread * _thread, ILObject 
* _this, System_Array * value);
 extern ILInt32 _IL_StringBuilder_EnsureCapacity(ILExecThread * _thread, 
ILObject * _this, ILInt32 capacity);
@@ -647,28 +389,287 @@
 extern ILObject * _IL_StringBuilder_Replace_cc(ILExecThread * _thread, 
ILObject * _this, ILUInt16 oldChar, ILUInt16 newChar);
 extern ILObject * _IL_StringBuilder_Replace_ccii(ILExecThread * _thread, 
ILObject * _this, ILUInt16 oldChar, ILUInt16 newChar, ILInt32 startIndex, 
ILInt32 count);
 
-extern ILInt32 _IL_DefaultEncoding_InternalCodePage(ILExecThread * _thread);
-extern ILInt32 _IL_DefaultEncoding_InternalGetByteCount_acii(ILExecThread * 
_thread, System_Array * chars, ILInt32 index, ILInt32 count);
-extern ILInt32 _IL_DefaultEncoding_InternalGetByteCount_Stringii(ILExecThread 
* _thread, ILString * s, ILInt32 index, ILInt32 count);
-extern ILInt32 _IL_DefaultEncoding_InternalGetBytes_aciiaBi(ILExecThread * 
_thread, System_Array * chars, ILInt32 charIndex, ILInt32 charCount, 
System_Array * bytes, ILInt32 byteIndex);
-extern ILInt32 _IL_DefaultEncoding_InternalGetBytes_StringiiaBi(ILExecThread * 
_thread, ILString * s, ILInt32 charIndex, ILInt32 charCount, System_Array * 
bytes, ILInt32 byteIndex);
-extern ILInt32 _IL_DefaultEncoding_InternalGetCharCount(ILExecThread * 
_thread, System_Array * bytes, ILInt32 index, ILInt32 count);
-extern ILInt32 _IL_DefaultEncoding_InternalGetChars(ILExecThread * _thread, 
System_Array * bytes, ILInt32 byteIndex, ILInt32 byteCount, System_Array * 
chars, ILInt32 charIndex);
-extern ILInt32 _IL_DefaultEncoding_InternalGetMaxByteCount(ILExecThread * 
_thread, ILInt32 charCount);
-extern ILInt32 _IL_DefaultEncoding_InternalGetMaxCharCount(ILExecThread * 
_thread, ILInt32 byteCount);
-extern ILString * _IL_DefaultEncoding_InternalGetString(ILExecThread * 
_thread, System_Array * bytes, ILInt32 index, ILInt32 count);
+extern ILBool _IL_WaitHandle_InternalWaitOne(ILExecThread * _thread, 
ILNativeInt privateData, ILInt32 timeout);
+extern void _IL_WaitHandle_InternalClose(ILExecThread * _thread, ILNativeInt 
privateData);
+extern ILBool _IL_WaitHandle_InternalWaitAll(ILExecThread * _thread, 
System_Array * waitHandles, ILInt32 timeout, ILBool exitContext);
+extern ILInt32 _IL_WaitHandle_InternalWaitAny(ILExecThread * _thread, 
System_Array * waitHandles, ILInt32 timeout, ILBool exitContext);
 
-extern void _IL_BlockingOperation_ThreadSigAbort(ILExecThread * _thread, 
ILObject * thread);
+extern ILNativeInt _IL_Mutex_InternalCreateMutex(ILExecThread * _thread, 
ILBool initiallyOwned, ILString * name, ILBool * gotOwnership);
+extern void _IL_Mutex_InternalReleaseMutex(ILExecThread * _thread, ILNativeInt 
mutex);
+
+extern ILInt32 _IL_Interlocked_CompareExchange_Riii(ILExecThread * _thread, 
ILInt32 * location1, ILInt32 value, ILInt32 comparand);
+extern ILFloat _IL_Interlocked_CompareExchange_Rfff(ILExecThread * _thread, 
ILFloat * location1, ILFloat value, ILFloat comparand);
+extern ILObject * 
_IL_Interlocked_CompareExchange_RObjectObjectObject(ILExecThread * _thread, 
ILObject * * location1, ILObject * value, ILObject * comparand);
+extern ILInt32 _IL_Interlocked_Decrement_Ri(ILExecThread * _thread, ILInt32 * 
location);
+extern ILInt64 _IL_Interlocked_Decrement_Rl(ILExecThread * _thread, ILInt64 * 
location);
+extern ILInt32 _IL_Interlocked_Exchange_Rii(ILExecThread * _thread, ILInt32 * 
location, ILInt32 value);
+extern ILFloat _IL_Interlocked_Exchange_Rff(ILExecThread * _thread, ILFloat * 
location, ILFloat value);
+extern ILObject * _IL_Interlocked_Exchange_RObjectObject(ILExecThread * 
_thread, ILObject * * location, ILObject * value);
+extern ILInt32 _IL_Interlocked_Increment_Ri(ILExecThread * _thread, ILInt32 * 
location);
+extern ILInt64 _IL_Interlocked_Increment_Rl(ILExecThread * _thread, ILInt64 * 
location);
+
+extern ILNativeInt _IL_WaitEvent_InternalCreateEvent(ILExecThread * _thread, 
ILBool manualReset, ILBool initialState);
+extern ILBool _IL_WaitEvent_InternalSetEvent(ILExecThread * _thread, 
ILNativeInt handle);
+extern ILBool _IL_WaitEvent_InternalResetEvent(ILExecThread * _thread, 
ILNativeInt handle);
+
+extern ILInt32 _IL_Thread_InternalGetThreadId(ILExecThread * _thread);
+extern ILBool _IL_Thread_CanStartThreads(ILExecThread * _thread);
+extern void _IL_Thread_Start(ILExecThread * _thread, ILObject * _this);
+extern ILObject * _IL_Thread_InternalCurrentThread(ILExecThread * _thread);
+extern void _IL_Thread_InitializeThread(ILExecThread * _thread, ILObject * 
_this);
+extern void _IL_Thread_InternalSetBackground(ILExecThread * _thread, ILObject 
* _this, ILBool value);
+extern void _IL_Thread_FinalizeThread(ILExecThread * _thread, ILObject * 
_this);
+extern void _IL_Thread_Abort(ILExecThread * _thread, ILObject * _this);
+extern ILBool _IL_Thread_InternalJoin(ILExecThread * _thread, ILObject * 
_this, ILInt32 timeout);
+extern void _IL_Thread_MemoryBarrier(ILExecThread * _thread);
+extern void _IL_Thread_ResetAbort(ILExecThread * _thread);
+extern void _IL_Thread_InternalSleep(ILExecThread * _thread, ILInt32 timeout);
+extern ILUInt8 _IL_Thread_VolatileRead_RB(ILExecThread * _thread, ILUInt8 * 
address);
+extern ILInt8 _IL_Thread_VolatileRead_Rb(ILExecThread * _thread, ILInt8 * 
address);
+extern ILInt16 _IL_Thread_VolatileRead_Rs(ILExecThread * _thread, ILInt16 * 
address);
+extern ILUInt16 _IL_Thread_VolatileRead_RS(ILExecThread * _thread, ILUInt16 * 
address);
+extern ILInt32 _IL_Thread_VolatileRead_Ri(ILExecThread * _thread, ILInt32 * 
address);
+extern ILUInt32 _IL_Thread_VolatileRead_RI(ILExecThread * _thread, ILUInt32 * 
address);
+extern ILInt64 _IL_Thread_VolatileRead_Rl(ILExecThread * _thread, ILInt64 * 
address);
+extern ILUInt64 _IL_Thread_VolatileRead_RL(ILExecThread * _thread, ILUInt64 * 
address);
+extern ILNativeInt _IL_Thread_VolatileRead_Rj(ILExecThread * _thread, 
ILNativeInt * address);
+extern ILNativeUInt _IL_Thread_VolatileRead_RJ(ILExecThread * _thread, 
ILNativeUInt * address);
+extern ILFloat _IL_Thread_VolatileRead_Rf(ILExecThread * _thread, ILFloat * 
address);
+extern ILDouble _IL_Thread_VolatileRead_Rd(ILExecThread * _thread, ILDouble * 
address);
+extern ILObject * _IL_Thread_VolatileRead_RObject(ILExecThread * _thread, 
ILObject * * address);
+extern void _IL_Thread_VolatileWrite_RBB(ILExecThread * _thread, ILUInt8 * 
address, ILUInt8 value);
+extern void _IL_Thread_VolatileWrite_Rbb(ILExecThread * _thread, ILInt8 * 
address, ILInt8 value);
+extern void _IL_Thread_VolatileWrite_Rss(ILExecThread * _thread, ILInt16 * 
address, ILInt16 value);
+extern void _IL_Thread_VolatileWrite_RSS(ILExecThread * _thread, ILUInt16 * 
address, ILUInt16 value);
+extern void _IL_Thread_VolatileWrite_Rii(ILExecThread * _thread, ILInt32 * 
address, ILInt32 value);
+extern void _IL_Thread_VolatileWrite_RII(ILExecThread * _thread, ILUInt32 * 
address, ILUInt32 value);
+extern void _IL_Thread_VolatileWrite_Rll(ILExecThread * _thread, ILInt64 * 
address, ILInt64 value);
+extern void _IL_Thread_VolatileWrite_RLL(ILExecThread * _thread, ILUInt64 * 
address, ILUInt64 value);
+extern void _IL_Thread_VolatileWrite_Rjj(ILExecThread * _thread, ILNativeInt * 
address, ILNativeInt value);
+extern void _IL_Thread_VolatileWrite_RJJ(ILExecThread * _thread, ILNativeUInt 
* address, ILNativeUInt value);
+extern void _IL_Thread_VolatileWrite_Rff(ILExecThread * _thread, ILFloat * 
address, ILFloat value);
+extern void _IL_Thread_VolatileWrite_Rdd(ILExecThread * _thread, ILDouble * 
address, ILDouble value);
+extern void _IL_Thread_VolatileWrite_RObjectObject(ILExecThread * _thread, 
ILObject * * address, ILObject * value);
+extern ILInt32 _IL_Thread_InternalGetState(ILExecThread * _thread, ILObject * 
_this);
+extern ILInt32 _IL_Thread_InternalGetPriority(ILExecThread * _thread, ILObject 
* _this);
+extern void _IL_Thread_InternalSetPriority(ILExecThread * _thread, ILObject * 
_this, ILInt32 value);
+extern void _IL_Thread_Interrupt(ILExecThread * _thread, ILObject * _this);
+extern void _IL_Thread_Resume(ILExecThread * _thread, ILObject * _this);
+extern void _IL_Thread_SpinWait(ILExecThread * _thread, ILInt32 iterations);
+extern void _IL_Thread_Suspend(ILExecThread * _thread, ILObject * _this);
+
+extern void _IL_Monitor_Enter(ILExecThread * _thread, ILObject * obj);
+extern void _IL_Monitor_Exit(ILExecThread * _thread, ILObject * obj);
+extern void _IL_Monitor_Pulse(ILExecThread * _thread, ILObject * obj);
+extern ILBool _IL_Monitor_InternalWait(ILExecThread * _thread, ILObject * obj, 
ILInt32 timeout);
+extern ILBool _IL_Monitor_InternalTryEnter(ILExecThread * _thread, ILObject * 
obj, ILInt32 timeout);
+extern void _IL_Monitor_PulseAll(ILExecThread * _thread, ILObject * obj);
+
+extern System_Array * 
_IL_FormatterServices_InternalGetSerializableMembers(ILExecThread * _thread, 
ILObject * type);
+extern ILObject * 
_IL_FormatterServices_InternalGetUninitializedObject(ILExecThread * _thread, 
ILObject * type);
+
+extern void _IL_AsyncResult_SetOutParams(ILExecThread * _thread, ILObject * 
del, System_Array * args, System_Array * outParams);
+
+extern void _IL_RuntimeHelpers_InitializeArray(ILExecThread * _thread, 
ILObject * array, void * field);
+extern void _IL_RuntimeHelpers_RunClassConstructor(ILExecThread * _thread, 
void * type);
+extern ILInt32 _IL_RuntimeHelpers_InternalOffsetToStringData(ILExecThread * 
_thread);
+extern ILObject * _IL_RuntimeHelpers_GetObjectValue(ILExecThread * _thread, 
ILObject * obj);
+extern ILBool _IL_RuntimeHelpers_Equals(ILExecThread * _thread, ILObject * o1, 
ILObject * o2);
+extern ILInt32 _IL_RuntimeHelpers_GetHashCode(ILExecThread * _thread, ILObject 
* o);
+
+extern void _IL_Marshal_FreeHGlobal(ILExecThread * _thread, ILNativeInt 
hglobal);
+extern ILNativeInt _IL_Marshal_AllocHGlobal(ILExecThread * _thread, 
ILNativeInt cb);
+extern ILString * _IL_Marshal_PtrToStringAnsiInternal(ILExecThread * _thread, 
ILNativeInt ptr, ILInt32 len);
+extern void _IL_Marshal_CopyMU(ILExecThread * _thread, ILObject * source, 
ILInt32 startOffset, ILNativeInt destination, ILInt32 numBytes);
+extern void _IL_Marshal_CopyUM(ILExecThread * _thread, ILNativeInt source, 
ILObject * destination, ILInt32 startOffset, ILInt32 numBytes);
+extern ILNativeInt _IL_Marshal_OffsetOfInternal(ILExecThread * _thread, 
ILObject * t, ILString * fieldName);
+extern ILString * _IL_Marshal_PtrToStringAutoInternal(ILExecThread * _thread, 
ILNativeInt ptr, ILInt32 len);
+extern ILString * _IL_Marshal_PtrToStringUniInternal(ILExecThread * _thread, 
ILNativeInt ptr, ILInt32 len);
+extern ILBool _IL_Marshal_PtrToStructureInternal(ILExecThread * _thread, 
ILNativeInt ptr, ILObject * structure, ILBool allowValueTypes);
+extern ILBool _IL_Marshal_DestroyStructureInternal(ILExecThread * _thread, 
ILNativeInt ptr, ILObject * structureType);
+extern ILBool _IL_Marshal_StructureToPtrInternal(ILExecThread * _thread, 
ILObject * structure, ILNativeInt ptr);
+extern ILNativeInt _IL_Marshal_ObjectToPtr(ILExecThread * _thread, ILObject * 
obj);
+extern ILUInt8 _IL_Marshal_ReadByte(ILExecThread * _thread, ILNativeInt ptr, 
ILInt32 ofs);
+extern ILInt16 _IL_Marshal_ReadInt16(ILExecThread * _thread, ILNativeInt ptr, 
ILInt32 ofs);
+extern ILInt32 _IL_Marshal_ReadInt32(ILExecThread * _thread, ILNativeInt ptr, 
ILInt32 ofs);
+extern ILInt64 _IL_Marshal_ReadInt64(ILExecThread * _thread, ILNativeInt ptr, 
ILInt32 ofs);
+extern ILNativeInt _IL_Marshal_ReadIntPtr(ILExecThread * _thread, ILNativeInt 
ptr, ILInt32 ofs);
+extern ILNativeInt _IL_Marshal_ReAllocHGlobal(ILExecThread * _thread, 
ILNativeInt pv, ILNativeInt cb);
+extern ILInt32 _IL_Marshal_SizeOfInternal(ILExecThread * _thread, ILObject * 
t);
+extern ILNativeInt _IL_Marshal_StringToHGlobalAnsi(ILExecThread * _thread, 
ILString * s);
+extern ILNativeInt _IL_Marshal_StringToHGlobalAuto(ILExecThread * _thread, 
ILString * s);
+extern ILNativeInt _IL_Marshal_StringToHGlobalUni(ILExecThread * _thread, 
ILString * s);
+extern ILNativeInt _IL_Marshal_UnsafeAddrOfPinnedArrayElement(ILExecThread * 
_thread, ILObject * arr, ILInt32 index);
+extern void _IL_Marshal_WriteByte(ILExecThread * _thread, ILNativeInt ptr, 
ILInt32 ofs, ILUInt8 val);
+extern void _IL_Marshal_WriteInt16(ILExecThread * _thread, ILNativeInt ptr, 
ILInt32 ofs, ILInt16 val);
+extern void _IL_Marshal_WriteInt32(ILExecThread * _thread, ILNativeInt ptr, 
ILInt32 ofs, ILInt32 val);
+extern void _IL_Marshal_WriteInt64(ILExecThread * _thread, ILNativeInt ptr, 
ILInt32 ofs, ILInt64 val);
+extern void _IL_Marshal_WriteIntPtr(ILExecThread * _thread, ILNativeInt ptr, 
ILInt32 ofs, ILNativeInt val);
+
+extern void _IL_GCHandle_GCFree(ILExecThread * _thread, ILInt32 handle);
+extern ILObject * _IL_GCHandle_GCGetTarget(ILExecThread * _thread, ILInt32 
handle);
+extern void _IL_GCHandle_GCSetTarget(ILExecThread * _thread, ILInt32 handle, 
ILObject * value);
+extern ILInt32 _IL_GCHandle_GCAlloc(ILExecThread * _thread, ILObject * value, 
ILInt32 type);
+extern ILNativeInt _IL_GCHandle_GCAddrOfPinnedObject(ILExecThread * _thread, 
ILInt32 handle);
+extern ILBool _IL_GCHandle_GCValidate(ILExecThread * _thread, ILInt32 handle);
+
+extern ILString * _IL_TextInfo_ToLower_String(ILExecThread * _thread, ILObject 
* _this, ILString * str);
+extern ILString * _IL_TextInfo_ToUpper_String(ILExecThread * _thread, ILObject 
* _this, ILString * str);
+extern ILUInt16 _IL_TextInfo_ToLower_c(ILExecThread * _thread, ILObject * 
_this, ILUInt16 c);
+extern ILUInt16 _IL_TextInfo_ToUpper_c(ILExecThread * _thread, ILObject * 
_this, ILUInt16 c);
+
+extern ILInt32 _IL_CultureInfo_InternalCultureID(ILExecThread * _thread);
+extern ILString * _IL_CultureInfo_InternalCultureName(ILExecThread * _thread);
+
+extern ILObject * _IL_ClrSecurity_GetPermissionsFrom(ILExecThread * _thread, 
ILInt32 skipFrames);
+extern void _IL_ClrSecurity_SetPermissions(ILExecThread * _thread, ILObject * 
perm, ILInt32 skipFrames);
+extern ILObject * _IL_ClrSecurity_GetPermissions(ILExecThread * _thread, 
ILInt32 skipFrames);
+
+extern ILString * _IL_SysCharInfo_GetNewLine(ILExecThread * _thread);
+extern ILDouble _IL_SysCharInfo_GetNumericValue(ILExecThread * _thread, 
ILUInt16 ch);
+extern ILInt32 _IL_SysCharInfo_GetUnicodeCategory(ILExecThread * _thread, 
ILUInt16 ch);
+
+extern ILString * _IL_InfoMethods_GetPlatformName(ILExecThread * _thread);
+extern ILString * _IL_InfoMethods_GetRuntimeVersion(ILExecThread * _thread);
+extern ILString * _IL_InfoMethods_GetNetBIOSMachineName(ILExecThread * 
_thread);
+extern ILInt32 _IL_InfoMethods_GetPlatformID(ILExecThread * _thread);
+extern ILString * _IL_InfoMethods_GetUserDomainName(ILExecThread * _thread);
+extern ILBool _IL_InfoMethods_IsUserInteractive(ILExecThread * _thread);
+extern ILString * _IL_InfoMethods_GetUserName(ILExecThread * _thread);
+extern ILInt64 _IL_InfoMethods_GetWorkingSet(ILExecThread * _thread);
+extern ILInt32 _IL_InfoMethods_GetProcessorCount(ILExecThread * _thread);
+extern ILString * _IL_InfoMethods_GetUserStorageDir(ILExecThread * _thread);
+extern ILString * _IL_InfoMethods_GetGlobalConfigDir(ILExecThread * _thread);
+
+extern ILNativeInt _IL_RegexpMethods_CompileWithSyntaxInternal(ILExecThread * 
_thread, ILString * pattern, ILInt32 syntax);
+extern void _IL_RegexpMethods_FreeInternal(ILExecThread * _thread, ILNativeInt 
compiled);
+extern ILInt32 _IL_RegexpMethods_ExecInternal(ILExecThread * _thread, 
ILNativeInt compiled, ILString * input, ILInt32 flags);
+extern ILObject * _IL_RegexpMethods_MatchInternal(ILExecThread * _thread, 
ILNativeInt compiled, ILString * input, ILInt32 maxMatches, ILInt32 flags, 
ILObject * elemType);
+extern ILNativeInt _IL_RegexpMethods_CompileInternal(ILExecThread * _thread, 
ILString * pattern, ILInt32 flags);
+
+extern void _IL_TaskMethods_Exit(ILExecThread * _thread, ILInt32 exitCode);
+extern void _IL_TaskMethods_SetExitCode(ILExecThread * _thread, ILInt32 
exitCode);
+extern System_Array * _IL_TaskMethods_GetCommandLineArgs(ILExecThread * 
_thread);
+extern ILString * _IL_TaskMethods_GetEnvironmentVariable(ILExecThread * 
_thread, ILString * variable);
+extern ILInt32 _IL_TaskMethods_GetEnvironmentCount(ILExecThread * _thread);
+extern ILString * _IL_TaskMethods_GetEnvironmentKey(ILExecThread * _thread, 
ILInt32 posn);
+extern ILString * _IL_TaskMethods_GetEnvironmentValue(ILExecThread * _thread, 
ILInt32 posn);
+
+extern void _IL_Stdio_SetConsoleMode(ILExecThread * _thread, ILInt32 mode);
+extern ILInt32 _IL_Stdio_GetTextAttributes(ILExecThread * _thread);
+extern void _IL_Stdio_Beep(ILExecThread * _thread, ILInt32 frequency, ILInt32 
duration);
+extern void _IL_Stdio_Clear(ILExecThread * _thread);
+extern void _IL_Stdio_GetBufferSize(ILExecThread * _thread, ILInt32 * width, 
ILInt32 * height);
+extern void _IL_Stdio_MoveBufferArea(ILExecThread * _thread, ILInt32 
sourceLeft, ILInt32 sourceTop, ILInt32 sourceWidth, ILInt32 sourceHeight, 
ILInt32 targetLeft, ILInt32 targetTop, ILUInt16 sourceChar, ILInt32 attributes);
+extern void _IL_Stdio_ReadKey(ILExecThread * _thread, ILUInt16 * ch, ILInt32 * 
key, ILInt32 * modifiers);
+extern void _IL_Stdio_StdWrite_ic(ILExecThread * _thread, ILInt32 fd, ILUInt16 
value);
+extern void _IL_Stdio_SetTextAttributes(ILExecThread * _thread, ILInt32 attrs);
+extern void _IL_Stdio_GetWindowSize(ILExecThread * _thread, ILInt32 * left, 
ILInt32 * top, ILInt32 * width, ILInt32 * height);
+extern void _IL_Stdio_SetBufferSize(ILExecThread * _thread, ILInt32 width, 
ILInt32 height);
+extern void _IL_Stdio_SetCursorPosition(ILExecThread * _thread, ILInt32 x, 
ILInt32 y);
+extern void _IL_Stdio_SetWindowSize(ILExecThread * _thread, ILInt32 left, 
ILInt32 top, ILInt32 width, ILInt32 height);
+extern ILInt32 _IL_Stdio_GetLockState(ILExecThread * _thread);
+extern void _IL_Stdio_GetCursorPosition(ILExecThread * _thread, ILInt32 * x, 
ILInt32 * y);
+extern ILInt32 _IL_Stdio_GetCursorSize(ILExecThread * _thread);
+extern void _IL_Stdio_SetCursorSize(ILExecThread * _thread, ILInt32 size);
+extern ILBool _IL_Stdio_GetCursorVisible(ILExecThread * _thread);
+extern void _IL_Stdio_SetCursorVisible(ILExecThread * _thread, ILBool flag);
+extern ILBool _IL_Stdio_KeyAvailable(ILExecThread * _thread);
+extern void _IL_Stdio_GetLargestWindowSize(ILExecThread * _thread, ILInt32 * 
width, ILInt32 * height);
+extern void _IL_Stdio_SetConsoleTitle(ILExecThread * _thread, ILString * 
title);
+extern void _IL_Stdio_StdClose(ILExecThread * _thread, ILInt32 fd);
+extern void _IL_Stdio_StdFlush(ILExecThread * _thread, ILInt32 fd);
+extern ILInt32 _IL_Stdio_StdRead_iaBii(ILExecThread * _thread, ILInt32 fd, 
System_Array * value, ILInt32 index, ILInt32 count);
+extern void _IL_Stdio_StdWrite_iaBii(ILExecThread * _thread, ILInt32 fd, 
System_Array * value, ILInt32 index, ILInt32 count);
+extern ILInt32 _IL_Stdio_StdPeek(ILExecThread * _thread, ILInt32 fd);
+extern ILInt32 _IL_Stdio_StdRead_i(ILExecThread * _thread, ILInt32 fd);
+extern ILInt32 _IL_Stdio_StdRead_iacii(ILExecThread * _thread, ILInt32 fd, 
System_Array * value, ILInt32 index, ILInt32 count);
+extern void _IL_Stdio_StdWrite_iacii(ILExecThread * _thread, ILInt32 fd, 
System_Array * value, ILInt32 index, ILInt32 count);
+extern void _IL_Stdio_StdWrite_iString(ILExecThread * _thread, ILInt32 fd, 
ILString * value);
+
+extern ILInt32 _IL_TimeMethods_GetTimeZoneAdjust(ILExecThread * _thread, 
ILInt64 time);
+extern ILInt64 _IL_TimeMethods_GetCurrentTime(ILExecThread * _thread);
+extern ILInt64 _IL_TimeMethods_GetCurrentUtcTime(ILExecThread * _thread);
+extern ILString * _IL_TimeMethods_GetDaylightName(ILExecThread * _thread);
+extern ILString * _IL_TimeMethods_GetStandardName(ILExecThread * _thread);
+extern ILBool _IL_TimeMethods_GetDaylightRules(ILExecThread * _thread, ILInt32 
year, ILInt64 * start, ILInt64 * end, ILInt64 * delta);
+extern ILInt32 _IL_TimeMethods_GetUpTime(ILExecThread * _thread);
+
+extern void _IL_CryptoMethods_GenerateRandom(ILExecThread * _thread, 
System_Array * buf, ILInt32 offset, ILInt32 count);
+extern ILNativeInt _IL_CryptoMethods_HashNew(ILExecThread * _thread, ILInt32 
algorithm);
+extern void _IL_CryptoMethods_HashFree(ILExecThread * _thread, ILNativeInt 
state);
+extern void _IL_CryptoMethods_HashReset(ILExecThread * _thread, ILNativeInt 
state);
+extern void _IL_CryptoMethods_HashUpdate(ILExecThread * _thread, ILNativeInt 
state, System_Array * buffer, ILInt32 offset, ILInt32 count);
+extern void _IL_CryptoMethods_HashFinal(ILExecThread * _thread, ILNativeInt 
state, System_Array * hash);
+extern void _IL_CryptoMethods_Decrypt(ILExecThread * _thread, ILNativeInt 
state, System_Array * inBuffer, ILInt32 inOffset, System_Array * outBuffer, 
ILInt32 outOffset);
+extern void _IL_CryptoMethods_Encrypt(ILExecThread * _thread, ILNativeInt 
state, System_Array * inBuffer, ILInt32 inOffset, System_Array * outBuffer, 
ILInt32 outOffset);
+extern ILNativeInt _IL_CryptoMethods_EncryptCreate(ILExecThread * _thread, 
ILInt32 algorithm, System_Array * key);
+extern ILNativeInt _IL_CryptoMethods_DecryptCreate(ILExecThread * _thread, 
ILInt32 algorithm, System_Array * key);
+extern void _IL_CryptoMethods_SymmetricFree(ILExecThread * _thread, 
ILNativeInt state);
+extern System_Array * _IL_CryptoMethods_GetKey(ILExecThread * _thread, ILInt32 
algorithm, ILString * name, ILInt32 flag, ILInt32 * result);
+extern System_Array * _IL_CryptoMethods_NumPow(ILExecThread * _thread, 
System_Array * x, System_Array * y, System_Array * modulus);
+extern System_Array * _IL_CryptoMethods_NumMod(ILExecThread * _thread, 
System_Array * x, System_Array * modulus);
+extern System_Array * _IL_CryptoMethods_NumInv(ILExecThread * _thread, 
System_Array * x, System_Array * modulus);
+extern System_Array * _IL_CryptoMethods_NumMul(ILExecThread * _thread, 
System_Array * x, System_Array * y, System_Array * modulus);
+extern System_Array * _IL_CryptoMethods_NumAdd(ILExecThread * _thread, 
System_Array * x, System_Array * y, System_Array * modulus);
+extern ILBool _IL_CryptoMethods_NumZero(ILExecThread * _thread, System_Array * 
x);
+extern ILBool _IL_CryptoMethods_NumEq(ILExecThread * _thread, System_Array * 
x, System_Array * y);
+extern ILBool _IL_CryptoMethods_AlgorithmSupported(ILExecThread * _thread, 
ILInt32 algorithm);
+extern ILBool _IL_CryptoMethods_IsSemiWeakKey(ILExecThread * _thread, 
System_Array * key, ILInt32 offset);
+extern ILBool _IL_CryptoMethods_IsWeakKey(ILExecThread * _thread, System_Array 
* key, ILInt32 offset);
+extern System_Array * _IL_CryptoMethods_NumSub(ILExecThread * _thread, 
System_Array * x, System_Array * y, System_Array * modulus);
+extern ILBool _IL_CryptoMethods_SameKey(ILExecThread * _thread, System_Array * 
key1, ILInt32 offset1, System_Array * key2, ILInt32 offset2);
+extern void _IL_CryptoMethods_StoreKey(ILExecThread * _thread, ILInt32 
algorithm, ILString * name, System_Array * key);
+
+extern ILString * _IL_DirMethods_GetSystemDirectory(ILExecThread * _thread);
+extern System_Array * _IL_DirMethods_GetLogicalDrives(ILExecThread * _thread);
+extern ILString * _IL_DirMethods_GetCurrentDirectory(ILExecThread * _thread);
+extern ILInt32 _IL_DirMethods_ChangeDirectory(ILExecThread * _thread, ILString 
* name);
+extern ILInt32 _IL_DirMethods_GetFilesInDirectory(ILExecThread * _thread, 
ILString * path, System_Array * * files);
+extern ILInt32 _IL_DirMethods_Delete(ILExecThread * _thread, ILString * path);
+extern ILInt32 _IL_DirMethods_GetCreationTime(ILExecThread * _thread, ILString 
* path, ILInt64 * create_time);
+extern ILInt32 _IL_DirMethods_GetLastAccess(ILExecThread * _thread, ILString * 
path, ILInt64 * lastac);
+extern ILInt32 _IL_DirMethods_GetLastModification(ILExecThread * _thread, 
ILString * path, ILInt64 * last_mod);
+extern ILInt32 _IL_DirMethods_Rename(ILExecThread * _thread, ILString * 
old_name, ILString * new_name);
+extern ILInt32 _IL_DirMethods_CreateDirectory(ILExecThread * _thread, ILString 
* path);
+extern void _IL_DirMethods_GetPathInfo(ILExecThread * _thread, void * _result);
+
+extern ILString * _IL_FileMethods_GetErrnoMessage(ILExecThread * _thread, 
ILInt32 error);
+extern ILBool _IL_FileMethods_ValidatePathname(ILExecThread * _thread, 
ILString * path);
+extern ILBool _IL_FileMethods_Open(ILExecThread * _thread, ILString * path, 
ILInt32 mode, ILInt32 access, ILInt32 share, ILNativeInt * handle);
+extern ILInt32 _IL_FileMethods_GetErrno(ILExecThread * _thread);
+extern ILBool _IL_FileMethods_CanSeek(ILExecThread * _thread, ILNativeInt 
handle);
+extern ILInt64 _IL_FileMethods_Seek(ILExecThread * _thread, ILNativeInt 
handle, ILInt64 offset, ILInt32 origin);
+extern ILBool _IL_FileMethods_Close(ILExecThread * _thread, ILNativeInt 
handle);
+extern ILBool _IL_FileMethods_Write(ILExecThread * _thread, ILNativeInt 
handle, System_Array * buffer, ILInt32 offset, ILInt32 count);
+extern ILBool _IL_FileMethods_FlushWrite(ILExecThread * _thread, ILNativeInt 
handle);
+extern ILInt32 _IL_FileMethods_Read(ILExecThread * _thread, ILNativeInt 
handle, System_Array * buffer, ILInt32 offset, ILInt32 count);
+extern ILBool _IL_FileMethods_SetLength(ILExecThread * _thread, ILNativeInt 
handle, ILInt64 value);
+extern ILBool _IL_FileMethods_Lock(ILExecThread * _thread, ILNativeInt handle, 
ILInt64 position, ILInt64 length);
+extern ILBool _IL_FileMethods_Unlock(ILExecThread * _thread, ILNativeInt 
handle, ILInt64 position, ILInt64 length);
+extern ILNativeInt _IL_FileMethods_GetInvalidHandle(ILExecThread * _thread);
+extern ILInt32 _IL_FileMethods_GetFileType(ILExecThread * _thread, ILString * 
path);
+extern ILInt32 _IL_FileMethods_SetCreationTime(ILExecThread * _thread, 
ILString * path, ILInt64 ticks);
+extern ILInt32 _IL_FileMethods_SetLastAccessTime(ILExecThread * _thread, 
ILString * path, ILInt64 ticks);
+extern ILInt32 _IL_FileMethods_SetLastWriteTime(ILExecThread * _thread, 
ILString * path, ILInt64 ticks);
+extern ILInt32 _IL_FileMethods_ReadLink(ILExecThread * _thread, ILString * 
path, ILString * * contents);
+extern ILInt32 _IL_FileMethods_CreateLink(ILExecThread * _thread, ILString * 
oldpath, ILString * newpath);
+extern ILInt32 _IL_FileMethods_GetAttributes(ILExecThread * _thread, ILString 
* path, ILInt32 * attrs);
+extern ILInt32 _IL_FileMethods_SetAttributes(ILExecThread * _thread, ILString 
* path, ILInt32 attrs);
+extern ILInt32 _IL_FileMethods_GetLength(ILExecThread * _thread, ILString * 
path, ILInt64 * length);
+extern ILBool _IL_FileMethods_HasAsync(ILExecThread * _thread);
+extern ILBool _IL_FileMethods_CheckHandleAccess(ILExecThread * _thread, 
ILNativeInt handle, ILInt32 access);
+extern ILInt32 _IL_FileMethods_Copy(ILExecThread * _thread, ILString * src, 
ILString * dest);
 
 extern ILBool _IL_Stopwatch_GetPerformanceFrequency(ILExecThread * _thread, 
ILInt64 * frequency);
 extern ILInt64 _IL_Stopwatch_GetPerformanceCounter(ILExecThread * _thread);
 
+extern void _IL_Process_CloseProcess(ILExecThread * _thread, ILNativeInt 
processHandle, ILInt32 processID);
 extern ILInt32 _IL_Process_GetHandleCount(ILExecThread * _thread, ILNativeInt 
processHandle);
 extern ILNativeInt _IL_Process_GetMainWindowHandle(ILExecThread * _thread, 
ILInt32 processID);
 extern ILString * _IL_Process_GetMainWindowTitle(ILExecThread * _thread, 
ILNativeInt windowHandle);
 extern ILInt32 _IL_Process_GetProcessorAffinity(ILExecThread * _thread, 
ILNativeInt processHandle);
 extern ILBool _IL_Process_MainWindowIsResponding(ILExecThread * _thread, 
ILNativeInt windowHandle);
-extern void _IL_Process_CloseProcess(ILExecThread * _thread, ILNativeInt 
processHandle, ILInt32 processID);
 extern ILBool _IL_Process_CloseMainWindow(ILExecThread * _thread, ILNativeInt 
windowHandle);
 extern void _IL_Process_GetCurrentProcessInfo(ILExecThread * _thread, ILInt32 
* processID, ILNativeInt * handle);
 extern void _IL_Process_KillProcess(ILExecThread * _thread, ILNativeInt 
processHandle, ILInt32 processID);
@@ -678,66 +679,66 @@
 extern ILBool _IL_Process_WaitForExit(ILExecThread * _thread, ILNativeInt 
processHandle, ILInt32 processID, ILInt32 milliseconds, ILInt32 * exitCode);
 extern ILBool _IL_Process_WaitForInputIdle(ILExecThread * _thread, ILNativeInt 
processHandle, ILInt32 processID, ILInt32 milliseconds);
 
-extern ILBool _IL_PortMethods_IsValid(ILExecThread * _thread, ILInt32 type, 
ILInt32 portNumber);
-extern ILBool _IL_PortMethods_IsAccessible(ILExecThread * _thread, ILInt32 
type, ILInt32 portNumber);
-extern ILNativeInt _IL_PortMethods_Open(ILExecThread * _thread, ILInt32 type, 
ILInt32 portNumber, ILObject * parameters);
-extern void _IL_PortMethods_Close(ILExecThread * _thread, ILNativeInt handle);
-extern void _IL_PortMethods_Modify(ILExecThread * _thread, ILNativeInt handle, 
ILObject * parameters);
-extern ILInt32 _IL_PortMethods_GetBytesToRead(ILExecThread * _thread, 
ILNativeInt handle);
-extern ILInt32 _IL_PortMethods_GetBytesToWrite(ILExecThread * _thread, 
ILNativeInt handle);
-extern ILInt32 _IL_PortMethods_ReadPins(ILExecThread * _thread, ILNativeInt 
handle);
-extern void _IL_PortMethods_WritePins(ILExecThread * _thread, ILNativeInt 
handle, ILInt32 mask, ILInt32 value);
-extern void _IL_PortMethods_GetRecommendedBufferSizes(ILExecThread * _thread, 
ILInt32 * readBufferSize, ILInt32 * writeBufferSize, ILInt32 * 
receivedBytesThreshold);
-extern void _IL_PortMethods_DiscardInBuffer(ILExecThread * _thread, 
ILNativeInt handle);
-extern void _IL_PortMethods_DiscardOutBuffer(ILExecThread * _thread, 
ILNativeInt handle);
-extern void _IL_PortMethods_DrainOutBuffer(ILExecThread * _thread, ILNativeInt 
handle);
-extern ILInt32 _IL_PortMethods_Read(ILExecThread * _thread, ILNativeInt 
handle, System_Array * buffer, ILInt32 offset, ILInt32 count);
-extern ILInt32 _IL_PortMethods_Write(ILExecThread * _thread, ILNativeInt 
handle, System_Array * buffer, ILInt32 offset, ILInt32 count);
-extern ILInt32 _IL_PortMethods_WaitForPinChange(ILExecThread * _thread, 
ILNativeInt handle);
-extern ILInt32 _IL_PortMethods_WaitForInput(ILExecThread * _thread, 
ILNativeInt handle, ILInt32 timeout);
-extern void _IL_PortMethods_Interrupt(ILExecThread * _thread, ILObject * 
thread);
-
-extern ILBool _IL_DnsMethods_InternalGetHostByName(ILExecThread * _thread, 
ILString * host, ILString * * h_name, System_Array * * h_aliases, System_Array 
* * h_addr_list);
-extern ILBool _IL_DnsMethods_InternalGetHostByAddr(ILExecThread * _thread, 
ILInt64 address, ILString * * h_name, System_Array * * h_aliases, System_Array 
* * h_addr_list);
-extern ILString * _IL_DnsMethods_InternalGetHostName(ILExecThread * _thread);
+extern ILInt32 _IL_IPAddress_HostToNetworkOrder_i(ILExecThread * _thread, 
ILInt32 host);
+extern ILInt32 _IL_IPAddress_NetworkToHostOrder_i(ILExecThread * _thread, 
ILInt32 network);
+extern ILInt64 _IL_IPAddress_HostToNetworkOrder_l(ILExecThread * _thread, 
ILInt64 host);
+extern ILInt16 _IL_IPAddress_HostToNetworkOrder_s(ILExecThread * _thread, 
ILInt16 host);
+extern ILInt64 _IL_IPAddress_NetworkToHostOrder_l(ILExecThread * _thread, 
ILInt64 network);
+extern ILInt16 _IL_IPAddress_NetworkToHostOrder_s(ILExecThread * _thread, 
ILInt16 network);
 
+extern ILInt32 _IL_SocketMethods_GetErrno(ILExecThread * _thread);
+extern ILString * _IL_SocketMethods_GetErrnoMessage(ILExecThread * _thread, 
ILInt32 error);
 extern ILNativeInt _IL_SocketMethods_GetInvalidHandle(ILExecThread * _thread);
 extern ILBool _IL_SocketMethods_AddressFamilySupported(ILExecThread * _thread, 
ILInt32 af);
 extern ILBool _IL_SocketMethods_Create(ILExecThread * _thread, ILInt32 af, 
ILInt32 st, ILInt32 pt, ILNativeInt * handle);
-extern ILBool _IL_SocketMethods_Bind(ILExecThread * _thread, ILNativeInt 
handle, System_Array * addr);
-extern ILBool _IL_SocketMethods_Shutdown(ILExecThread * _thread, ILNativeInt 
handle, ILInt32 how);
-extern ILBool _IL_SocketMethods_Listen(ILExecThread * _thread, ILNativeInt 
handle, ILInt32 backlog);
-extern ILBool _IL_SocketMethods_Accept(ILExecThread * _thread, ILNativeInt 
handle, System_Array * addrReturn, ILNativeInt * newHandle);
 extern ILBool _IL_SocketMethods_Connect(ILExecThread * _thread, ILNativeInt 
handle, System_Array * addr);
 extern ILInt32 _IL_SocketMethods_Receive(ILExecThread * _thread, ILNativeInt 
handle, System_Array * buffer, ILInt32 offset, ILInt32 size, ILInt32 flags);
-extern ILInt32 _IL_SocketMethods_ReceiveFrom(ILExecThread * _thread, 
ILNativeInt handle, System_Array * buffer, ILInt32 offset, ILInt32 size, 
ILInt32 flags, System_Array * addrReturn);
 extern ILInt32 _IL_SocketMethods_Send(ILExecThread * _thread, ILNativeInt 
handle, System_Array * buffer, ILInt32 offset, ILInt32 size, ILInt32 flags);
-extern ILInt32 _IL_SocketMethods_SendTo(ILExecThread * _thread, ILNativeInt 
handle, System_Array * buffer, ILInt32 offset, ILInt32 size, ILInt32 flags, 
System_Array * addr);
-extern ILBool _IL_SocketMethods_Close(ILExecThread * _thread, ILNativeInt 
handle);
-extern ILInt32 _IL_SocketMethods_Select(ILExecThread * _thread, System_Array * 
readarray, System_Array * writearray, System_Array * errorarray, ILInt64 
timeout);
-extern ILBool _IL_SocketMethods_SetBlocking(ILExecThread * _thread, 
ILNativeInt handle, ILBool blocking);
 extern ILInt32 _IL_SocketMethods_GetAvailable(ILExecThread * _thread, 
ILNativeInt handle);
+extern ILBool _IL_SocketMethods_Close(ILExecThread * _thread, ILNativeInt 
handle);
+extern ILBool _IL_SocketMethods_Accept(ILExecThread * _thread, ILNativeInt 
handle, System_Array * addrReturn, ILNativeInt * newHandle);
 extern ILBool _IL_SocketMethods_GetSockName(ILExecThread * _thread, 
ILNativeInt handle, System_Array * addrReturn);
-extern ILBool _IL_SocketMethods_SetSocketOption(ILExecThread * _thread, 
ILNativeInt handle, ILInt32 level, ILInt32 name, ILInt32 value);
+extern ILInt32 _IL_SocketMethods_ReceiveFrom(ILExecThread * _thread, 
ILNativeInt handle, System_Array * buffer, ILInt32 offset, ILInt32 size, 
ILInt32 flags, System_Array * addrReturn);
+extern ILInt32 _IL_SocketMethods_SendTo(ILExecThread * _thread, ILNativeInt 
handle, System_Array * buffer, ILInt32 offset, ILInt32 size, ILInt32 flags, 
System_Array * addr);
+extern ILBool _IL_SocketMethods_Bind(ILExecThread * _thread, ILNativeInt 
handle, System_Array * addr);
 extern ILBool _IL_SocketMethods_GetSocketOption(ILExecThread * _thread, 
ILNativeInt handle, ILInt32 level, ILInt32 name, ILInt32 * value);
-extern ILBool _IL_SocketMethods_SetLingerOption(ILExecThread * _thread, 
ILNativeInt handle, ILBool enabled, ILInt32 seconds);
 extern ILBool _IL_SocketMethods_GetLingerOption(ILExecThread * _thread, 
ILNativeInt handle, ILBool * enabled, ILInt32 * seconds);
-extern ILBool _IL_SocketMethods_SetMulticastOption(ILExecThread * _thread, 
ILNativeInt handle, ILInt32 af, ILInt32 name, System_Array * group, 
System_Array * mcint);
 extern ILBool _IL_SocketMethods_GetMulticastOption(ILExecThread * _thread, 
ILNativeInt handle, ILInt32 af, ILInt32 name, System_Array * group, 
System_Array * mcint);
 extern ILBool _IL_SocketMethods_DiscoverIrDADevices(ILExecThread * _thread, 
ILNativeInt handle, System_Array * buf);
-extern ILInt32 _IL_SocketMethods_GetErrno(ILExecThread * _thread);
-extern ILString * _IL_SocketMethods_GetErrnoMessage(ILExecThread * _thread, 
ILInt32 error);
+extern ILBool _IL_SocketMethods_Listen(ILExecThread * _thread, ILNativeInt 
handle, ILInt32 backlog);
+extern ILInt32 _IL_SocketMethods_Select(ILExecThread * _thread, System_Array * 
readarray, System_Array * writearray, System_Array * errorarray, ILInt64 
timeout);
+extern ILBool _IL_SocketMethods_SetSocketOption(ILExecThread * _thread, 
ILNativeInt handle, ILInt32 level, ILInt32 name, ILInt32 value);
+extern ILBool _IL_SocketMethods_SetLingerOption(ILExecThread * _thread, 
ILNativeInt handle, ILBool enabled, ILInt32 seconds);
+extern ILBool _IL_SocketMethods_SetMulticastOption(ILExecThread * _thread, 
ILNativeInt handle, ILInt32 af, ILInt32 name, System_Array * group, 
System_Array * mcint);
+extern ILBool _IL_SocketMethods_Shutdown(ILExecThread * _thread, ILNativeInt 
handle, ILInt32 how);
+extern ILBool _IL_SocketMethods_SetBlocking(ILExecThread * _thread, 
ILNativeInt handle, ILBool blocking);
 extern ILBool _IL_SocketMethods_CanStartThreads(ILExecThread * _thread);
 extern ILBool _IL_SocketMethods_QueueCompletionItem(ILExecThread * _thread, 
ILObject * callback, ILObject * state);
 extern ILObject * _IL_SocketMethods_CreateManualResetEvent(ILExecThread * 
_thread);
 extern void _IL_SocketMethods_WaitHandleSet(ILExecThread * _thread, ILObject * 
waitHandle);
 
-extern ILInt32 _IL_IPAddress_HostToNetworkOrder_i(ILExecThread * _thread, 
ILInt32 host);
-extern ILInt32 _IL_IPAddress_NetworkToHostOrder_i(ILExecThread * _thread, 
ILInt32 network);
-extern ILInt64 _IL_IPAddress_HostToNetworkOrder_l(ILExecThread * _thread, 
ILInt64 host);
-extern ILInt16 _IL_IPAddress_HostToNetworkOrder_s(ILExecThread * _thread, 
ILInt16 host);
-extern ILInt64 _IL_IPAddress_NetworkToHostOrder_l(ILExecThread * _thread, 
ILInt64 network);
-extern ILInt16 _IL_IPAddress_NetworkToHostOrder_s(ILExecThread * _thread, 
ILInt16 network);
+extern ILBool _IL_DnsMethods_InternalGetHostByName(ILExecThread * _thread, 
ILString * host, ILString * * h_name, System_Array * * h_aliases, System_Array 
* * h_addr_list);
+extern ILBool _IL_DnsMethods_InternalGetHostByAddr(ILExecThread * _thread, 
ILInt64 address, ILString * * h_name, System_Array * * h_aliases, System_Array 
* * h_addr_list);
+extern ILString * _IL_DnsMethods_InternalGetHostName(ILExecThread * _thread);
+
+extern void _IL_PortMethods_GetRecommendedBufferSizes(ILExecThread * _thread, 
ILInt32 * readBufferSize, ILInt32 * writeBufferSize, ILInt32 * 
receivedBytesThreshold);
+extern ILBool _IL_PortMethods_IsValid(ILExecThread * _thread, ILInt32 type, 
ILInt32 portNumber);
+extern void _IL_PortMethods_Modify(ILExecThread * _thread, ILNativeInt handle, 
ILObject * parameters);
+extern ILInt32 _IL_PortMethods_GetBytesToRead(ILExecThread * _thread, 
ILNativeInt handle);
+extern ILInt32 _IL_PortMethods_GetBytesToWrite(ILExecThread * _thread, 
ILNativeInt handle);
+extern ILInt32 _IL_PortMethods_ReadPins(ILExecThread * _thread, ILNativeInt 
handle);
+extern void _IL_PortMethods_WritePins(ILExecThread * _thread, ILNativeInt 
handle, ILInt32 mask, ILInt32 value);
+extern void _IL_PortMethods_Close(ILExecThread * _thread, ILNativeInt handle);
+extern void _IL_PortMethods_DiscardInBuffer(ILExecThread * _thread, 
ILNativeInt handle);
+extern void _IL_PortMethods_DiscardOutBuffer(ILExecThread * _thread, 
ILNativeInt handle);
+extern ILBool _IL_PortMethods_IsAccessible(ILExecThread * _thread, ILInt32 
type, ILInt32 portNumber);
+extern ILNativeInt _IL_PortMethods_Open(ILExecThread * _thread, ILInt32 type, 
ILInt32 portNumber, ILObject * parameters);
+extern void _IL_PortMethods_DrainOutBuffer(ILExecThread * _thread, ILNativeInt 
handle);
+extern ILInt32 _IL_PortMethods_Read(ILExecThread * _thread, ILNativeInt 
handle, System_Array * buffer, ILInt32 offset, ILInt32 count);
+extern ILInt32 _IL_PortMethods_Write(ILExecThread * _thread, ILNativeInt 
handle, System_Array * buffer, ILInt32 offset, ILInt32 count);
+extern ILInt32 _IL_PortMethods_WaitForPinChange(ILExecThread * _thread, 
ILNativeInt handle);
+extern ILInt32 _IL_PortMethods_WaitForInput(ILExecThread * _thread, 
ILNativeInt handle, ILInt32 timeout);
+extern void _IL_PortMethods_Interrupt(ILExecThread * _thread, ILObject * 
thread);
 
 extern ILUInt8 * _IL_CodeTable_GetAddress(ILExecThread * _thread, ILObject * 
_p1, ILInt64 _p2);
 

Index: engine/int_table.c
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/engine/int_table.c,v
retrieving revision 1.113
retrieving revision 1.114
diff -u -b -r1.113 -r1.114
--- engine/int_table.c  25 Nov 2008 09:15:12 -0000      1.113
+++ engine/int_table.c  3 Jan 2009 14:15:20 -0000       1.114
@@ -40,175 +40,209 @@
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_pppp(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_vpp(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((void * *)rvalue) = (*(void * (*)(void *, void *, void *))fn)(*((void 
* *)(avalue[0])), *((void * *)(avalue[1])), *((void * *)(avalue[2])));
+       (*(void (*)(void *, void *))fn)(*((void * *)(avalue[0])), *((void * 
*)(avalue[1])));
 }
 
 #endif
 
+#ifndef _IL_BlockingOperation_suppressed
+
+IL_METHOD_BEGIN(BlockingOperation_Methods)
+       IL_METHOD("ThreadSigAbort", "(oSystem.Threading.Thread;)V", 
_IL_BlockingOperation_ThreadSigAbort, marshal_vpp)
+IL_METHOD_END
+
+#endif
+
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_pppi(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_pppiii(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((void * *)rvalue) = (*(void * (*)(void *, void *, 
ILInt32))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((ILInt32 
*)(avalue[2])));
+       *((void * *)rvalue) = (*(void * (*)(void *, void *, ILInt32, ILInt32, 
ILInt32))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((ILInt32 
*)(avalue[2])), *((ILInt32 *)(avalue[3])), *((ILInt32 *)(avalue[4])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_ppppb(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_ippi(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((void * *)rvalue) = (*(void * (*)(void *, void *, void *, 
ILInt8))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((void * 
*)(avalue[2])), *((ILInt8 *)(avalue[3])));
+       *((ILNativeInt *)rvalue) = (*(ILInt32 (*)(void *, void *, 
ILInt32))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((ILInt32 
*)(avalue[2])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_pppl(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_vppii(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((void * *)rvalue) = (*(void * (*)(void *, void *, 
ILInt64))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((ILInt64 
*)(avalue[2])));
+       (*(void (*)(void *, void *, ILInt32, ILInt32))fn)(*((void * 
*)(avalue[0])), *((void * *)(avalue[1])), *((ILInt32 *)(avalue[2])), *((ILInt32 
*)(avalue[3])));
 }
 
 #endif
 
-#ifndef _IL_Enum_suppressed
+#if !defined(HAVE_LIBFFI)
 
-IL_METHOD_BEGIN(Enum_Methods)
-       IL_METHOD("GetEnumValue", "(T)oSystem.Object;", _IL_Enum_GetEnumValue, 
marshal_ppp)
-       IL_METHOD("FormatEnumWithFlags", 
"(oSystem.Type;oSystem.Object;)oSystem.String;", _IL_Enum_FormatEnumWithFlags, 
marshal_pppp)
-       IL_METHOD("GetEnumName", 
"(oSystem.Type;oSystem.Object;)oSystem.String;", _IL_Enum_GetEnumName, 
marshal_pppp)
-       IL_METHOD("EnumIntToObject", "(oSystem.Type;i)oSystem.Object;", 
_IL_Enum_EnumIntToObject, marshal_pppi)
-       IL_METHOD("GetEnumValueFromName", 
"(oSystem.Type;oSystem.String;Z)oSystem.Object;", 
_IL_Enum_GetEnumValueFromName, marshal_ppppb)
-       IL_METHOD("IsEnumValue", "(oSystem.Type;oSystem.Object;)Z", 
_IL_Enum_IsEnumValue, marshal_bppp)
-       IL_METHOD("EnumValueOr", 
"(oSystem.Object;oSystem.Object;)oSystem.Object;", _IL_Enum_EnumValueOr, 
marshal_pppp)
-       IL_METHOD("EnumLongToObject", "(oSystem.Type;l)oSystem.Object;", 
_IL_Enum_EnumLongToObject, marshal_pppl)
-IL_METHOD_END
+static void marshal_vppipii(void (*fn)(), void *rvalue, void **avalue)
+{
+       (*(void (*)(void *, void *, ILInt32, void *, ILInt32, 
ILInt32))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((ILInt32 
*)(avalue[2])), *((void * *)(avalue[3])), *((ILInt32 *)(avalue[4])), *((ILInt32 
*)(avalue[5])));
+}
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_ipS(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_pppi(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeInt *)rvalue) = (*(ILInt32 (*)(void *, ILUInt16))fn)(*((void 
* *)(avalue[0])), *((ILUInt16 *)(avalue[1])));
+       *((void * *)rvalue) = (*(void * (*)(void *, void *, 
ILInt32))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((ILInt32 
*)(avalue[2])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_dpS(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_vpppi(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILDouble *)rvalue) = (*(ILDouble (*)(void *, ILUInt16))fn)(*((void * 
*)(avalue[0])), *((ILUInt16 *)(avalue[1])));
+       (*(void (*)(void *, void *, void *, ILInt32))fn)(*((void * 
*)(avalue[0])), *((void * *)(avalue[1])), *((void * *)(avalue[2])), *((ILInt32 
*)(avalue[3])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_pp(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_ppjiiii(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((void * *)rvalue) = (*(void * (*)(void *))fn)(*((void * 
*)(avalue[0])));
+       *((void * *)rvalue) = (*(void * (*)(void *, ILNativeUInt, ILInt32, 
ILInt32, ILInt32, ILInt32))fn)(*((void * *)(avalue[0])), *((ILNativeUInt 
*)(avalue[1])), *((ILInt32 *)(avalue[2])), *((ILInt32 *)(avalue[3])), 
*((ILInt32 *)(avalue[4])), *((ILInt32 *)(avalue[5])));
 }
 
 #endif
 
-#ifndef _IL_SysCharInfo_suppressed
+#if !defined(HAVE_LIBFFI)
 
-IL_METHOD_BEGIN(SysCharInfo_Methods)
-       IL_METHOD("GetUnicodeCategory", 
"(c)vSystem.Globalization.UnicodeCategory;", 
_IL_SysCharInfo_GetUnicodeCategory, marshal_ipS)
-       IL_METHOD("GetNumericValue", "(c)d", _IL_SysCharInfo_GetNumericValue, 
marshal_dpS)
-       IL_METHOD("GetNewLine", "()oSystem.String;", 
_IL_SysCharInfo_GetNewLine, marshal_pp)
-IL_METHOD_END
+static void marshal_ppjpp(void (*fn)(), void *rvalue, void **avalue)
+{
+       *((void * *)rvalue) = (*(void * (*)(void *, ILNativeUInt, void *, void 
*))fn)(*((void * *)(avalue[0])), *((ILNativeUInt *)(avalue[1])), *((void * 
*)(avalue[2])), *((void * *)(avalue[3])));
+}
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_vpi(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_pppp(void (*fn)(), void *rvalue, void **avalue)
 {
-       (*(void (*)(void *, ILInt32))fn)(*((void * *)(avalue[0])), *((ILInt32 
*)(avalue[1])));
+       *((void * *)rvalue) = (*(void * (*)(void *, void *, void *))fn)(*((void 
* *)(avalue[0])), *((void * *)(avalue[1])), *((void * *)(avalue[2])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_ip(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_vpppiii(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeInt *)rvalue) = (*(ILInt32 (*)(void *))fn)(*((void * 
*)(avalue[0])));
+       (*(void (*)(void *, void *, void *, ILInt32, ILInt32, 
ILInt32))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((void * 
*)(avalue[2])), *((ILInt32 *)(avalue[3])), *((ILInt32 *)(avalue[4])), 
*((ILInt32 *)(avalue[5])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_ppi(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_vpppp(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((void * *)rvalue) = (*(void * (*)(void *, ILInt32))fn)(*((void * 
*)(avalue[0])), *((ILInt32 *)(avalue[1])));
+       (*(void (*)(void *, void *, void *, void *))fn)(*((void * 
*)(avalue[0])), *((void * *)(avalue[1])), *((void * *)(avalue[2])), *((void * 
*)(avalue[3])));
 }
 
 #endif
 
-#ifndef _IL_TaskMethods_suppressed
+#ifndef _IL_Array_suppressed
 
-IL_METHOD_BEGIN(TaskMethods_Methods)
-       IL_METHOD("Exit", "(i)V", _IL_TaskMethods_Exit, marshal_vpi)
-       IL_METHOD("SetExitCode", "(i)V", _IL_TaskMethods_SetExitCode, 
marshal_vpi)
-       IL_METHOD("GetCommandLineArgs", "()[oSystem.String;", 
_IL_TaskMethods_GetCommandLineArgs, marshal_pp)
-       IL_METHOD("GetEnvironmentVariable", "(oSystem.String;)oSystem.String;", 
_IL_TaskMethods_GetEnvironmentVariable, marshal_ppp)
-       IL_METHOD("GetEnvironmentCount", "()i", 
_IL_TaskMethods_GetEnvironmentCount, marshal_ip)
-       IL_METHOD("GetEnvironmentKey", "(i)oSystem.String;", 
_IL_TaskMethods_GetEnvironmentKey, marshal_ppi)
-       IL_METHOD("GetEnvironmentValue", "(i)oSystem.String;", 
_IL_TaskMethods_GetEnvironmentValue, marshal_ppi)
+IL_METHOD_BEGIN(Array_Methods)
+       IL_METHOD("GetRank", "(T)i", _IL_Array_GetRank, marshal_ipp)
+       IL_METHOD("Get", "(Tiii)oSystem.Object;", _IL_Array_Get_iii, 
marshal_pppiii)
+       IL_METHOD("GetLowerBound", "(Ti)i", _IL_Array_GetLowerBound, 
marshal_ippi)
+       IL_METHOD("GetUpperBound", "(Ti)i", _IL_Array_GetUpperBound, 
marshal_ippi)
+       IL_METHOD("Clear", "(oSystem.Array;ii)V", _IL_Array_Clear, 
marshal_vppii)
+       IL_METHOD("Initialize", "(T)V", _IL_Array_Initialize, marshal_vpp)
+       IL_METHOD("Clone", "(T)oSystem.Object;", _IL_Array_Clone, marshal_ppp)
+       IL_METHOD("GetLength", "(T)i", _IL_Array_GetLength_, marshal_ipp)
+       IL_METHOD("InternalCopy", "(oSystem.Array;ioSystem.Array;ii)V", 
_IL_Array_InternalCopy, marshal_vppipii)
+       IL_METHOD("GetRelative", "(Ti)oSystem.Object;", _IL_Array_GetRelative, 
marshal_pppi)
+       IL_METHOD("SetRelative", "(ToSystem.Object;i)V", _IL_Array_SetRelative, 
marshal_vpppi)
+       IL_METHOD("CreateArray", "(jiiii)oSystem.Array;", 
_IL_Array_CreateArray_jiiii, marshal_ppjiiii)
+       IL_METHOD("CreateArray", "(j[i[i)oSystem.Array;", 
_IL_Array_CreateArray_jaiai, marshal_ppjpp)
+       IL_METHOD("Get", "(T[i)oSystem.Object;", _IL_Array_Get_ai, marshal_pppp)
+       IL_METHOD("GetLength", "(Ti)i", _IL_Array_GetLength_i, marshal_ippi)
+       IL_METHOD("Set", "(ToSystem.Object;iii)V", _IL_Array_Set_Objectiii, 
marshal_vpppiii)
+       IL_METHOD("Set", "(ToSystem.Object;[i)V", _IL_Array_Set_Objectai, 
marshal_vpppp)
 IL_METHOD_END
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_vpp(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_bpd(void (*fn)(), void *rvalue, void **avalue)
 {
-       (*(void (*)(void *, void *))fn)(*((void * *)(avalue[0])), *((void * 
*)(avalue[1])));
+       *((ILNativeInt *)rvalue) = (*(ILInt8 (*)(void *, ILDouble))fn)(*((void 
* *)(avalue[0])), *((ILDouble *)(avalue[1])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_ippp(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_ipd(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeInt *)rvalue) = (*(ILInt32 (*)(void *, void *, void 
*))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((void * 
*)(avalue[2])));
+       *((ILNativeInt *)rvalue) = (*(ILInt32 (*)(void *, ILDouble))fn)(*((void 
* *)(avalue[0])), *((ILDouble *)(avalue[1])));
 }
 
 #endif
 
-#ifndef _IL_DirMethods_suppressed
+#ifndef _IL_Double_suppressed
 
-IL_METHOD_BEGIN(DirMethods_Methods)
-       IL_METHOD("CreateDirectory", "(oSystem.String;)vPlatform.Errno;", 
_IL_DirMethods_CreateDirectory, marshal_ipp)
-       IL_METHOD("GetPathInfo", "()vPlatform.PathInfo;", 
_IL_DirMethods_GetPathInfo, marshal_vpp)
-       IL_METHOD("GetSystemDirectory", "()oSystem.String;", 
_IL_DirMethods_GetSystemDirectory, marshal_pp)
-       IL_METHOD("GetLastAccess", "(oSystem.String;&l)vPlatform.Errno;", 
_IL_DirMethods_GetLastAccess, marshal_ippp)
-       IL_METHOD("GetLastModification", "(oSystem.String;&l)vPlatform.Errno;", 
_IL_DirMethods_GetLastModification, marshal_ippp)
-       IL_METHOD("GetCreationTime", "(oSystem.String;&l)vPlatform.Errno;", 
_IL_DirMethods_GetCreationTime, marshal_ippp)
-       IL_METHOD("Delete", "(oSystem.String;)vPlatform.Errno;", 
_IL_DirMethods_Delete, marshal_ipp)
-       IL_METHOD("Rename", "(oSystem.String;oSystem.String;)vPlatform.Errno;", 
_IL_DirMethods_Rename, marshal_ippp)
-       IL_METHOD("GetCurrentDirectory", "()oSystem.String;", 
_IL_DirMethods_GetCurrentDirectory, marshal_pp)
-       IL_METHOD("GetFilesInDirectory", 
"(oSystem.String;&[vPlatform.InternalFileInfo;)vPlatform.Errno;", 
_IL_DirMethods_GetFilesInDirectory, marshal_ippp)
-       IL_METHOD("ChangeDirectory", "(oSystem.String;)vPlatform.Errno;", 
_IL_DirMethods_ChangeDirectory, marshal_ipp)
-       IL_METHOD("GetLogicalDrives", "()[oSystem.String;", 
_IL_DirMethods_GetLogicalDrives, marshal_pp)
+IL_METHOD_BEGIN(Double_Methods)
+       IL_METHOD("IsNaN", "(d)Z", _IL_Double_IsNaN, marshal_bpd)
+       IL_METHOD("TestInfinity", "(d)i", _IL_Double_TestInfinity, marshal_ipd)
 IL_METHOD_END
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_jp(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_ppppb(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeUInt *)rvalue) = (*(ILNativeUInt (*)(void *))fn)(*((void * 
*)(avalue[0])));
+       *((void * *)rvalue) = (*(void * (*)(void *, void *, void *, 
ILInt8))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((void * 
*)(avalue[2])), *((ILInt8 *)(avalue[3])));
+}
+
+#endif
+
+#if !defined(HAVE_LIBFFI)
+
+static void marshal_pppl(void (*fn)(), void *rvalue, void **avalue)
+{
+       *((void * *)rvalue) = (*(void * (*)(void *, void *, 
ILInt64))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((ILInt64 
*)(avalue[2])));
+}
+
+#endif
+
+#ifndef _IL_Enum_suppressed
+
+IL_METHOD_BEGIN(Enum_Methods)
+       IL_METHOD("GetEnumValue", "(T)oSystem.Object;", _IL_Enum_GetEnumValue, 
marshal_ppp)
+       IL_METHOD("FormatEnumWithFlags", 
"(oSystem.Type;oSystem.Object;)oSystem.String;", _IL_Enum_FormatEnumWithFlags, 
marshal_pppp)
+       IL_METHOD("GetEnumName", 
"(oSystem.Type;oSystem.Object;)oSystem.String;", _IL_Enum_GetEnumName, 
marshal_pppp)
+       IL_METHOD("EnumIntToObject", "(oSystem.Type;i)oSystem.Object;", 
_IL_Enum_EnumIntToObject, marshal_pppi)
+       IL_METHOD("GetEnumValueFromName", 
"(oSystem.Type;oSystem.String;Z)oSystem.Object;", 
_IL_Enum_GetEnumValueFromName, marshal_ppppb)
+       IL_METHOD("IsEnumValue", "(oSystem.Type;oSystem.Object;)Z", 
_IL_Enum_IsEnumValue, marshal_bppp)
+       IL_METHOD("EnumValueOr", 
"(oSystem.Object;oSystem.Object;)oSystem.Object;", _IL_Enum_EnumValueOr, 
marshal_pppp)
+       IL_METHOD("EnumLongToObject", "(oSystem.Type;l)oSystem.Object;", 
_IL_Enum_EnumLongToObject, marshal_pppl)
+IL_METHOD_END
+
+#endif
+
+#if !defined(HAVE_LIBFFI)
+
+static void marshal_vppp(void (*fn)(), void *rvalue, void **avalue)
+{
+       (*(void (*)(void *, void *, void *))fn)(*((void * *)(avalue[0])), 
*((void * *)(avalue[1])), *((void * *)(avalue[2])));
 }
 
 #endif
@@ -224,13 +258,47 @@
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_bppiiip(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_vppb(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeInt *)rvalue) = (*(ILInt8 (*)(void *, void *, ILInt32, 
ILInt32, ILInt32, void *))fn)(*((void * *)(avalue[0])), *((void * 
*)(avalue[1])), *((ILInt32 *)(avalue[2])), *((ILInt32 *)(avalue[3])), 
*((ILInt32 *)(avalue[4])), *((void * *)(avalue[5])));
+       (*(void (*)(void *, void *, ILInt8))fn)(*((void * *)(avalue[0])), 
*((void * *)(avalue[1])), *((ILInt8 *)(avalue[2])));
 }
 
 #endif
 
+#ifndef _IL_AppDomain_suppressed
+
+IL_METHOD_BEGIN(AppDomain_Methods)
+       IL_METHOD("AppendPrivatePathsInternal", 
"(oSystem.Object;[oSystem.String;)V", _IL_AppDomain_AppendPrivatePathsInternal, 
marshal_vppp)
+       IL_METHOD("ClearPrivatePathInternal", "(oSystem.Object;)V", 
_IL_AppDomain_ClearPrivatePathInternal, marshal_vpp)
+       IL_METHOD("ClearShadowCopyPathInternal", "(oSystem.Object;)V", 
_IL_AppDomain_ClearShadowCopyPathInternal, marshal_vpp)
+       IL_METHOD("CreateAppDomain", "(&oSystem.Object;)V", 
_IL_AppDomain_CreateAppDomain, marshal_vpp)
+       IL_METHOD("CurrentAppDomain", "(&oSystem.Object;)V", 
_IL_AppDomain_CurrentAppDomain, marshal_vpp)
+       IL_METHOD("GetBaseDirectoryInternal", 
"(oSystem.Object;)oSystem.String;", _IL_AppDomain_GetBaseDirectoryInternal, 
marshal_ppp)
+       IL_METHOD("GetIdInternal", "(oSystem.Object;)i", 
_IL_AppDomain_GetIdInternal, marshal_ipp)
+       IL_METHOD("GetFriendlyNameInternal", 
"(oSystem.Object;)oSystem.String;", _IL_AppDomain_GetFriendlyNameInternal, 
marshal_ppp)
+       IL_METHOD("GetRelativeSearchPathInternal", 
"(oSystem.Object;)oSystem.String;", 
_IL_AppDomain_GetRelativeSearchPathInternal, marshal_ppp)
+       IL_METHOD("GetShadowCopyFilesInternal", "(oSystem.Object;)Z", 
_IL_AppDomain_GetShadowCopyFilesInternal, marshal_bpp)
+       IL_METHOD("IsDefaultAppDomainInternal", "(oSystem.Object;)Z", 
_IL_AppDomain_IsDefaultAppDomainInternal, marshal_bpp)
+       IL_METHOD("SetBaseDirectoryInternal", 
"(oSystem.Object;oSystem.String;)V", _IL_AppDomain_SetBaseDirectoryInternal, 
marshal_vppp)
+       IL_METHOD("SetFriendlyNameInternal", 
"(oSystem.Object;oSystem.String;)V", _IL_AppDomain_SetFriendlyNameInternal, 
marshal_vppp)
+       IL_METHOD("SetRelativeSearchPathInternal", 
"(oSystem.Object;oSystem.String;)V", 
_IL_AppDomain_SetRelativeSearchPathInternal, marshal_vppp)
+       IL_METHOD("SetShadowCopyFilesInternal", "(oSystem.Object;Z)V", 
_IL_AppDomain_SetShadowCopyFilesInternal, marshal_vppb)
+       IL_METHOD("SetShadowCopyPathInternal", 
"(oSystem.Object;[oSystem.String;)V", _IL_AppDomain_SetShadowCopyPathInternal, 
marshal_vppp)
+       IL_METHOD("UnloadAppDomain", "(oSystem.Object;)V", 
_IL_AppDomain_UnloadAppDomain, marshal_vpp)
+       IL_METHOD("GetAssembliesInternal", 
"(oSystem.Object;)[oSystem.Reflection.Assembly;", 
_IL_AppDomain_GetAssembliesInternal, marshal_ppp)
+       IL_METHOD("IsFinalizingForUnloadInternal", "(oSystem.Object;)Z", 
_IL_AppDomain_IsFinalizingForUnloadInternal, marshal_bpp)
+IL_METHOD_END
+
+#endif
+
+#ifndef _IL_Delegate_suppressed
+
+IL_METHOD_BEGIN(Delegate_Methods)
+       IL_METHOD("CreateBlankDelegate", 
"(oSystem.Type;oSystem.Reflection.ClrMethod;)oSystem.Delegate;", 
_IL_Delegate_CreateBlankDelegate, marshal_pppp)
+IL_METHOD_END
+
+#endif
+
 #if !defined(HAVE_LIBFFI)
 
 static void marshal_bp(void (*fn)(), void *rvalue, void **avalue)
@@ -242,516 +310,529 @@
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_bpj(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_lpd(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeInt *)rvalue) = (*(ILInt8 (*)(void *, 
ILNativeUInt))fn)(*((void * *)(avalue[0])), *((ILNativeUInt *)(avalue[1])));
+       *((ILInt64 *)rvalue) = (*(ILInt64 (*)(void *, ILDouble))fn)(*((void * 
*)(avalue[0])), *((ILDouble *)(avalue[1])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_bpji(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_dpl(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeInt *)rvalue) = (*(ILInt8 (*)(void *, ILNativeUInt, 
ILInt32))fn)(*((void * *)(avalue[0])), *((ILNativeUInt *)(avalue[1])), 
*((ILInt32 *)(avalue[2])));
+       *((ILDouble *)rvalue) = (*(ILDouble (*)(void *, ILInt64))fn)(*((void * 
*)(avalue[0])), *((ILInt64 *)(avalue[1])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_lpjli(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_ipf(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILInt64 *)rvalue) = (*(ILInt64 (*)(void *, ILNativeUInt, ILInt64, 
ILInt32))fn)(*((void * *)(avalue[0])), *((ILNativeUInt *)(avalue[1])), 
*((ILInt64 *)(avalue[2])), *((ILInt32 *)(avalue[3])));
+       *((ILNativeInt *)rvalue) = (*(ILInt32 (*)(void *, ILFloat))fn)(*((void 
* *)(avalue[0])), *((ILFloat *)(avalue[1])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_bpjpii(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_fpi(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeInt *)rvalue) = (*(ILInt8 (*)(void *, ILNativeUInt, void *, 
ILInt32, ILInt32))fn)(*((void * *)(avalue[0])), *((ILNativeUInt *)(avalue[1])), 
*((void * *)(avalue[2])), *((ILInt32 *)(avalue[3])), *((ILInt32 *)(avalue[4])));
+       *((ILFloat *)rvalue) = (*(ILFloat (*)(void *, ILInt32))fn)(*((void * 
*)(avalue[0])), *((ILInt32 *)(avalue[1])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_ipjpii(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_ppf(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeInt *)rvalue) = (*(ILInt32 (*)(void *, ILNativeUInt, void *, 
ILInt32, ILInt32))fn)(*((void * *)(avalue[0])), *((ILNativeUInt *)(avalue[1])), 
*((void * *)(avalue[2])), *((ILInt32 *)(avalue[3])), *((ILInt32 *)(avalue[4])));
+       *((void * *)rvalue) = (*(void * (*)(void *, ILFloat))fn)(*((void * 
*)(avalue[0])), *((ILFloat *)(avalue[1])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_bpjl(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_ppd(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeInt *)rvalue) = (*(ILInt8 (*)(void *, ILNativeUInt, 
ILInt64))fn)(*((void * *)(avalue[0])), *((ILNativeUInt *)(avalue[1])), 
*((ILInt64 *)(avalue[2])));
+       *((void * *)rvalue) = (*(void * (*)(void *, ILDouble))fn)(*((void * 
*)(avalue[0])), *((ILDouble *)(avalue[1])));
 }
 
 #endif
 
+#ifndef _IL_BitConverter_suppressed
+
+IL_METHOD_BEGIN(BitConverter_Methods)
+       IL_METHOD("GetLittleEndian", "()Z", _IL_BitConverter_GetLittleEndian, 
marshal_bp)
+       IL_METHOD("DoubleToInt64Bits", "(d)l", 
_IL_BitConverter_DoubleToInt64Bits, marshal_lpd)
+       IL_METHOD("Int64BitsToDouble", "(l)d", 
_IL_BitConverter_Int64BitsToDouble, marshal_dpl)
+       IL_METHOD("FloatToInt32Bits", "(f)i", 
_IL_BitConverter_FloatToInt32Bits, marshal_ipf)
+       IL_METHOD("Int32BitsToFloat", "(i)f", 
_IL_BitConverter_Int32BitsToFloat, marshal_fpi)
+       IL_METHOD("GetLittleEndianBytes", "(f)[B", 
_IL_BitConverter_GetLittleEndianBytes_f, marshal_ppf)
+       IL_METHOD("GetLittleEndianBytes", "(d)[B", 
_IL_BitConverter_GetLittleEndianBytes_d, marshal_ppd)
+IL_METHOD_END
+
+#endif
+
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_bpjll(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_ppppi(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeInt *)rvalue) = (*(ILInt8 (*)(void *, ILNativeUInt, ILInt64, 
ILInt64))fn)(*((void * *)(avalue[0])), *((ILNativeUInt *)(avalue[1])), 
*((ILInt64 *)(avalue[2])), *((ILInt64 *)(avalue[3])));
+       *((void * *)rvalue) = (*(void * (*)(void *, void *, void *, 
ILInt32))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((void * 
*)(avalue[2])), *((ILInt32 *)(avalue[3])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_ippl(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_Sppi(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeInt *)rvalue) = (*(ILInt32 (*)(void *, void *, 
ILInt64))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((ILInt64 
*)(avalue[2])));
+       *((ILNativeUInt *)rvalue) = (*(ILUInt16 (*)(void *, void *, 
ILInt32))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((ILInt32 
*)(avalue[2])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_ippi(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_ppi(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeInt *)rvalue) = (*(ILInt32 (*)(void *, void *, 
ILInt32))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((ILInt32 
*)(avalue[2])));
+       *((void * *)rvalue) = (*(void * (*)(void *, ILInt32))fn)(*((void * 
*)(avalue[0])), *((ILInt32 *)(avalue[1])));
 }
 
 #endif
 
-#ifndef _IL_FileMethods_suppressed
+#if !defined(HAVE_LIBFFI)
 
-IL_METHOD_BEGIN(FileMethods_Methods)
-       IL_METHOD("GetInvalidHandle", "()j", _IL_FileMethods_GetInvalidHandle, 
marshal_jp)
-       IL_METHOD("ValidatePathname", "(oSystem.String;)Z", 
_IL_FileMethods_ValidatePathname, marshal_bpp)
-       IL_METHOD("GetFileType", "(oSystem.String;)vPlatform.FileType;", 
_IL_FileMethods_GetFileType, marshal_ipp)
-       IL_METHOD("Open", 
"(oSystem.String;vSystem.IO.FileMode;vSystem.IO.FileAccess;vSystem.IO.FileShare;&j)Z",
 _IL_FileMethods_Open, marshal_bppiiip)
-       IL_METHOD("HasAsync", "()Z", _IL_FileMethods_HasAsync, marshal_bp)
-       IL_METHOD("CanSeek", "(j)Z", _IL_FileMethods_CanSeek, marshal_bpj)
-       IL_METHOD("CheckHandleAccess", "(jvSystem.IO.FileAccess;)Z", 
_IL_FileMethods_CheckHandleAccess, marshal_bpji)
-       IL_METHOD("Seek", "(jlvSystem.IO.SeekOrigin;)l", _IL_FileMethods_Seek, 
marshal_lpjli)
-       IL_METHOD("Write", "(j[Bii)Z", _IL_FileMethods_Write, marshal_bpjpii)
-       IL_METHOD("Read", "(j[Bii)i", _IL_FileMethods_Read, marshal_ipjpii)
-       IL_METHOD("Close", "(j)Z", _IL_FileMethods_Close, marshal_bpj)
-       IL_METHOD("FlushWrite", "(j)Z", _IL_FileMethods_FlushWrite, marshal_bpj)
-       IL_METHOD("SetLength", "(jl)Z", _IL_FileMethods_SetLength, marshal_bpjl)
-       IL_METHOD("Lock", "(jll)Z", _IL_FileMethods_Lock, marshal_bpjll)
-       IL_METHOD("Unlock", "(jll)Z", _IL_FileMethods_Unlock, marshal_bpjll)
-       IL_METHOD("GetErrno", "()vPlatform.Errno;", _IL_FileMethods_GetErrno, 
marshal_ip)
-       IL_METHOD("GetErrnoMessage", "(vPlatform.Errno;)oSystem.String;", 
_IL_FileMethods_GetErrnoMessage, marshal_ppi)
-       IL_METHOD("Copy", "(oSystem.String;oSystem.String;)vPlatform.Errno;", 
_IL_FileMethods_Copy, marshal_ippp)
-       IL_METHOD("SetLastWriteTime", "(oSystem.String;l)vPlatform.Errno;", 
_IL_FileMethods_SetLastWriteTime, marshal_ippl)
-       IL_METHOD("SetLastAccessTime", "(oSystem.String;l)vPlatform.Errno;", 
_IL_FileMethods_SetLastAccessTime, marshal_ippl)
-       IL_METHOD("SetCreationTime", "(oSystem.String;l)vPlatform.Errno;", 
_IL_FileMethods_SetCreationTime, marshal_ippl)
-       IL_METHOD("GetAttributes", "(oSystem.String;&i)vPlatform.Errno;", 
_IL_FileMethods_GetAttributes, marshal_ippp)
-       IL_METHOD("SetAttributes", "(oSystem.String;i)vPlatform.Errno;", 
_IL_FileMethods_SetAttributes, marshal_ippi)
-       IL_METHOD("GetLength", "(oSystem.String;&l)vPlatform.Errno;", 
_IL_FileMethods_GetLength, marshal_ippp)
-       IL_METHOD("ReadLink", 
"(oSystem.String;&oSystem.String;)vPlatform.Errno;", _IL_FileMethods_ReadLink, 
marshal_ippp)
-       IL_METHOD("CreateLink", 
"(oSystem.String;oSystem.String;)vPlatform.Errno;", _IL_FileMethods_CreateLink, 
marshal_ippp)
-IL_METHOD_END
+static void marshal_ippSii(void (*fn)(), void *rvalue, void **avalue)
+{
+       *((ILNativeInt *)rvalue) = (*(ILInt32 (*)(void *, void *, ILUInt16, 
ILInt32, ILInt32))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), 
*((ILUInt16 *)(avalue[2])), *((ILInt32 *)(avalue[3])), *((ILInt32 
*)(avalue[4])));
+}
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_vpiS(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_pppii(void (*fn)(), void *rvalue, void **avalue)
 {
-       (*(void (*)(void *, ILInt32, ILUInt16))fn)(*((void * *)(avalue[0])), 
*((ILInt32 *)(avalue[1])), *((ILUInt16 *)(avalue[2])));
+       *((void * *)rvalue) = (*(void * (*)(void *, void *, ILInt32, 
ILInt32))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((ILInt32 
*)(avalue[2])), *((ILInt32 *)(avalue[3])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_vpipii(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_ppSi(void (*fn)(), void *rvalue, void **avalue)
 {
-       (*(void (*)(void *, ILInt32, void *, ILInt32, ILInt32))fn)(*((void * 
*)(avalue[0])), *((ILInt32 *)(avalue[1])), *((void * *)(avalue[2])), *((ILInt32 
*)(avalue[3])), *((ILInt32 *)(avalue[4])));
+       *((void * *)rvalue) = (*(void * (*)(void *, ILUInt16, 
ILInt32))fn)(*((void * *)(avalue[0])), *((ILUInt16 *)(avalue[1])), *((ILInt32 
*)(avalue[2])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_vpip(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_pppiip(void (*fn)(), void *rvalue, void **avalue)
 {
-       (*(void (*)(void *, ILInt32, void *))fn)(*((void * *)(avalue[0])), 
*((ILInt32 *)(avalue[1])), *((void * *)(avalue[2])));
+       *((void * *)rvalue) = (*(void * (*)(void *, void *, ILInt32, ILInt32, 
void *))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((ILInt32 
*)(avalue[2])), *((ILInt32 *)(avalue[3])), *((void * *)(avalue[4])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_ipi(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_ippp(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeInt *)rvalue) = (*(ILInt32 (*)(void *, ILInt32))fn)(*((void 
* *)(avalue[0])), *((ILInt32 *)(avalue[1])));
+       *((ILNativeInt *)rvalue) = (*(ILInt32 (*)(void *, void *, void 
*))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((void * 
*)(avalue[2])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_ipipii(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_ippiipiib(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeInt *)rvalue) = (*(ILInt32 (*)(void *, ILInt32, void *, 
ILInt32, ILInt32))fn)(*((void * *)(avalue[0])), *((ILInt32 *)(avalue[1])), 
*((void * *)(avalue[2])), *((ILInt32 *)(avalue[3])), *((ILInt32 *)(avalue[4])));
+       *((ILNativeInt *)rvalue) = (*(ILInt32 (*)(void *, void *, ILInt32, 
ILInt32, void *, ILInt32, ILInt32, ILInt8))fn)(*((void * *)(avalue[0])), 
*((void * *)(avalue[1])), *((ILInt32 *)(avalue[2])), *((ILInt32 *)(avalue[3])), 
*((void * *)(avalue[4])), *((ILInt32 *)(avalue[5])), *((ILInt32 *)(avalue[6])), 
*((ILInt8 *)(avalue[7])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_vppp(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_ippiipii(void (*fn)(), void *rvalue, void **avalue)
 {
-       (*(void (*)(void *, void *, void *))fn)(*((void * *)(avalue[0])), 
*((void * *)(avalue[1])), *((void * *)(avalue[2])));
+       *((ILNativeInt *)rvalue) = (*(ILInt32 (*)(void *, void *, ILInt32, 
ILInt32, void *, ILInt32, ILInt32))fn)(*((void * *)(avalue[0])), *((void * 
*)(avalue[1])), *((ILInt32 *)(avalue[2])), *((ILInt32 *)(avalue[3])), *((void * 
*)(avalue[4])), *((ILInt32 *)(avalue[5])), *((ILInt32 *)(avalue[6])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_vpii(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_vppip(void (*fn)(), void *rvalue, void **avalue)
 {
-       (*(void (*)(void *, ILInt32, ILInt32))fn)(*((void * *)(avalue[0])), 
*((ILInt32 *)(avalue[1])), *((ILInt32 *)(avalue[2])));
+       (*(void (*)(void *, void *, ILInt32, void *))fn)(*((void * 
*)(avalue[0])), *((void * *)(avalue[1])), *((ILInt32 *)(avalue[2])), *((void * 
*)(avalue[3])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_vppppp(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_ppppp(void (*fn)(), void *rvalue, void **avalue)
 {
-       (*(void (*)(void *, void *, void *, void *, void *))fn)(*((void * 
*)(avalue[0])), *((void * *)(avalue[1])), *((void * *)(avalue[2])), *((void * 
*)(avalue[3])), *((void * *)(avalue[4])));
+       *((void * *)rvalue) = (*(void * (*)(void *, void *, void *, void 
*))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((void * 
*)(avalue[2])), *((void * *)(avalue[3])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_vpiiii(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_ipppii(void (*fn)(), void *rvalue, void **avalue)
 {
-       (*(void (*)(void *, ILInt32, ILInt32, ILInt32, ILInt32))fn)(*((void * 
*)(avalue[0])), *((ILInt32 *)(avalue[1])), *((ILInt32 *)(avalue[2])), 
*((ILInt32 *)(avalue[3])), *((ILInt32 *)(avalue[4])));
+       *((ILNativeInt *)rvalue) = (*(ILInt32 (*)(void *, void *, void *, 
ILInt32, ILInt32))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), 
*((void * *)(avalue[2])), *((ILInt32 *)(avalue[3])), *((ILInt32 *)(avalue[4])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_vp(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_ippiiip(void (*fn)(), void *rvalue, void **avalue)
 {
-       (*(void (*)(void *))fn)(*((void * *)(avalue[0])));
+       *((ILNativeInt *)rvalue) = (*(ILInt32 (*)(void *, void *, ILInt32, 
ILInt32, ILInt32, void *))fn)(*((void * *)(avalue[0])), *((void * 
*)(avalue[1])), *((ILInt32 *)(avalue[2])), *((ILInt32 *)(avalue[3])), 
*((ILInt32 *)(avalue[4])), *((void * *)(avalue[5])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_vpppp(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_vppiiS(void (*fn)(), void *rvalue, void **avalue)
 {
-       (*(void (*)(void *, void *, void *, void *))fn)(*((void * 
*)(avalue[0])), *((void * *)(avalue[1])), *((void * *)(avalue[2])), *((void * 
*)(avalue[3])));
+       (*(void (*)(void *, void *, ILInt32, ILInt32, ILUInt16))fn)(*((void * 
*)(avalue[0])), *((void * *)(avalue[1])), *((ILInt32 *)(avalue[2])), *((ILInt32 
*)(avalue[3])), *((ILUInt16 *)(avalue[4])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_vpiiiiiiSi(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_pppSS(void (*fn)(), void *rvalue, void **avalue)
 {
-       (*(void (*)(void *, ILInt32, ILInt32, ILInt32, ILInt32, ILInt32, 
ILInt32, ILUInt16, ILInt32))fn)(*((void * *)(avalue[0])), *((ILInt32 
*)(avalue[1])), *((ILInt32 *)(avalue[2])), *((ILInt32 *)(avalue[3])), 
*((ILInt32 *)(avalue[4])), *((ILInt32 *)(avalue[5])), *((ILInt32 
*)(avalue[6])), *((ILUInt16 *)(avalue[7])), *((ILInt32 *)(avalue[8])));
+       *((void * *)rvalue) = (*(void * (*)(void *, void *, ILUInt16, 
ILUInt16))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((ILUInt16 
*)(avalue[2])), *((ILUInt16 *)(avalue[3])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_vpb(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_vppiS(void (*fn)(), void *rvalue, void **avalue)
 {
-       (*(void (*)(void *, ILInt8))fn)(*((void * *)(avalue[0])), *((ILInt8 
*)(avalue[1])));
+       (*(void (*)(void *, void *, ILInt32, ILUInt16))fn)(*((void * 
*)(avalue[0])), *((void * *)(avalue[1])), *((ILInt32 *)(avalue[2])), 
*((ILUInt16 *)(avalue[3])));
 }
 
 #endif
 
-#ifndef _IL_Stdio_suppressed
+#ifndef _IL_String_suppressed
 
-IL_METHOD_BEGIN(Stdio_Methods)
-       IL_METHOD("StdClose", "(i)V", _IL_Stdio_StdClose, marshal_vpi)
-       IL_METHOD("StdFlush", "(i)V", _IL_Stdio_StdFlush, marshal_vpi)
-       IL_METHOD("StdWrite", "(ic)V", _IL_Stdio_StdWrite_ic, marshal_vpiS)
-       IL_METHOD("StdWrite", "(i[cii)V", _IL_Stdio_StdWrite_iacii, 
marshal_vpipii)
-       IL_METHOD("StdWrite", "(i[Bii)V", _IL_Stdio_StdWrite_iaBii, 
marshal_vpipii)
-       IL_METHOD("StdWrite", "(ioSystem.String;)V", 
_IL_Stdio_StdWrite_iString, marshal_vpip)
-       IL_METHOD("StdRead", "(i)i", _IL_Stdio_StdRead_i, marshal_ipi)
-       IL_METHOD("StdRead", "(i[cii)i", _IL_Stdio_StdRead_iacii, 
marshal_ipipii)
-       IL_METHOD("StdRead", "(i[Bii)i", _IL_Stdio_StdRead_iaBii, 
marshal_ipipii)
-       IL_METHOD("StdPeek", "(i)i", _IL_Stdio_StdPeek, marshal_ipi)
-       IL_METHOD("SetConsoleMode", "(i)V", _IL_Stdio_SetConsoleMode, 
marshal_vpi)
-       IL_METHOD("GetBufferSize", "(&i&i)V", _IL_Stdio_GetBufferSize, 
marshal_vppp)
-       IL_METHOD("SetBufferSize", "(ii)V", _IL_Stdio_SetBufferSize, 
marshal_vpii)
-       IL_METHOD("GetWindowSize", "(&i&i&i&i)V", _IL_Stdio_GetWindowSize, 
marshal_vppppp)
-       IL_METHOD("SetWindowSize", "(iiii)V", _IL_Stdio_SetWindowSize, 
marshal_vpiiii)
-       IL_METHOD("GetLargestWindowSize", "(&i&i)V", 
_IL_Stdio_GetLargestWindowSize, marshal_vppp)
-       IL_METHOD("GetCursorPosition", "(&i&i)V", _IL_Stdio_GetCursorPosition, 
marshal_vppp)
-       IL_METHOD("SetCursorPosition", "(ii)V", _IL_Stdio_SetCursorPosition, 
marshal_vpii)
-       IL_METHOD("SetConsoleTitle", "(oSystem.String;)V", 
_IL_Stdio_SetConsoleTitle, marshal_vpp)
-       IL_METHOD("Beep", "(ii)V", _IL_Stdio_Beep, marshal_vpii)
-       IL_METHOD("Clear", "()V", _IL_Stdio_Clear, marshal_vp)
-       IL_METHOD("GetTextAttributes", "()i", _IL_Stdio_GetTextAttributes, 
marshal_ip)
-       IL_METHOD("SetTextAttributes", "(i)V", _IL_Stdio_SetTextAttributes, 
marshal_vpi)
-       IL_METHOD("KeyAvailable", "()Z", _IL_Stdio_KeyAvailable, marshal_bp)
-       IL_METHOD("ReadKey", "(&c&i&i)V", _IL_Stdio_ReadKey, marshal_vpppp)
-       IL_METHOD("MoveBufferArea", "(iiiiiici)V", _IL_Stdio_MoveBufferArea, 
marshal_vpiiiiiiSi)
-       IL_METHOD("GetLockState", "()i", _IL_Stdio_GetLockState, marshal_ip)
-       IL_METHOD("GetCursorSize", "()i", _IL_Stdio_GetCursorSize, marshal_ip)
-       IL_METHOD("SetCursorSize", "(i)V", _IL_Stdio_SetCursorSize, marshal_vpi)
-       IL_METHOD("GetCursorVisible", "()Z", _IL_Stdio_GetCursorVisible, 
marshal_bp)
-       IL_METHOD("SetCursorVisible", "(Z)V", _IL_Stdio_SetCursorVisible, 
marshal_vpb)
+IL_METHOD_BEGIN(String_Methods)
+       IL_METHOD("Concat", "(oSystem.String;oSystem.String;)oSystem.String;", 
_IL_String_Concat_StringString, marshal_pppp)
+       IL_METHOD("Trim", "(T[ci)oSystem.String;", _IL_String_Trim, 
marshal_ppppi)
+       IL_METHOD("Equals", "(oSystem.String;oSystem.String;)Z", 
_IL_String_Equals, marshal_bppp)
+       IL_METHOD("GetChar", "(Ti)c", _IL_String_GetChar, marshal_Sppi)
+       IL_METHOD("NewString", "(i)oSystem.String;", _IL_String_NewString, 
marshal_ppi)
+       IL_METHOD("Copy", "(oSystem.String;ioSystem.String;ii)V", 
_IL_String_Copy_StringiStringii, marshal_vppipii)
+       IL_METHOD("IndexOf", "(Tcii)i", _IL_String_IndexOf, marshal_ippSii)
+       IL_CONSTRUCTOR(".ctor", "(T[cii)V", 0, 0, _IL_String_ctor_acii, 
marshal_pppii)
+       IL_CONSTRUCTOR(".ctor", "(T[c)V", 0, 0, _IL_String_ctor_ac, marshal_ppp)
+       IL_CONSTRUCTOR(".ctor", "(Tci)V", 0, 0, _IL_String_ctor_ci, 
marshal_ppSi)
+       IL_CONSTRUCTOR(".ctor", "(T*cii)V", 0, 0, _IL_String_ctor_pcii, 
marshal_pppii)
+       IL_CONSTRUCTOR(".ctor", "(T*c)V", 0, 0, _IL_String_ctor_pc, marshal_ppp)
+       IL_CONSTRUCTOR(".ctor", "(T*biioSystem.Text.Encoding;)V", 0, 0, 
_IL_String_ctor_pbiiEncoding, marshal_pppiip)
+       IL_CONSTRUCTOR(".ctor", "(T*bii)V", 0, 0, _IL_String_ctor_pbii, 
marshal_pppii)
+       IL_CONSTRUCTOR(".ctor", "(T*b)V", 0, 0, _IL_String_ctor_pb, marshal_ppp)
+       IL_METHOD("Compare", "(oSystem.String;oSystem.String;)i", 
_IL_String_Compare, marshal_ippp)
+       IL_METHOD("CompareInternal", "(oSystem.String;iioSystem.String;iiZ)i", 
_IL_String_CompareInternal, marshal_ippiipiib)
+       IL_METHOD("InternalOrdinal", "(oSystem.String;iioSystem.String;ii)i", 
_IL_String_InternalOrdinal, marshal_ippiipii)
+       IL_METHOD("NewBuilder", "(oSystem.String;i)oSystem.String;", 
_IL_String_NewBuilder, marshal_pppi)
+       IL_METHOD("Copy", "(oSystem.String;ioSystem.String;)V", 
_IL_String_Copy_StringiString, marshal_vppip)
+       IL_METHOD("InsertSpace", "(oSystem.String;ii)V", 
_IL_String_InsertSpace, marshal_vppii)
+       IL_METHOD("RemoveSpace", "(oSystem.String;ii)V", 
_IL_String_RemoveSpace, marshal_vppii)
+       IL_METHOD("Concat", 
"(oSystem.String;oSystem.String;oSystem.String;)oSystem.String;", 
_IL_String_Concat_StringStringString, marshal_ppppp)
+       IL_METHOD("CopyToChecked", "(Ti[cii)V", _IL_String_CopyToChecked, 
marshal_vppipii)
+       IL_METHOD("IndexOfAny", "(T[cii)i", _IL_String_IndexOfAny, 
marshal_ipppii)
+       IL_METHOD("GetHashCode", "(T)i", _IL_String_GetHashCode, marshal_ipp)
+       IL_METHOD("FindInRange", "(TiiioSystem.String;)i", 
_IL_String_FindInRange, marshal_ippiiip)
+       IL_METHOD("Intern", "(oSystem.String;)oSystem.String;", 
_IL_String_Intern, marshal_ppp)
+       IL_METHOD("IsInterned", "(oSystem.String;)oSystem.String;", 
_IL_String_IsInterned, marshal_ppp)
+       IL_METHOD("LastIndexOf", "(Tcii)i", _IL_String_LastIndexOf, 
marshal_ippSii)
+       IL_METHOD("LastIndexOfAny", "(T[cii)i", _IL_String_LastIndexOfAny, 
marshal_ipppii)
+       IL_METHOD("CharFill", "(oSystem.String;iic)V", 
_IL_String_CharFill_Stringiic, marshal_vppiiS)
+       IL_METHOD("CharFill", "(oSystem.String;i[cii)V", 
_IL_String_CharFill_Stringiacii, marshal_vppipii)
+       IL_METHOD("Replace", "(Tcc)oSystem.String;", _IL_String_Replace_cc, 
marshal_pppSS)
+       IL_METHOD("Replace", 
"(ToSystem.String;oSystem.String;)oSystem.String;", 
_IL_String_Replace_StringString, marshal_ppppp)
+       IL_METHOD("SetChar", "(Tic)V", _IL_String_SetChar, marshal_vppiS)
 IL_METHOD_END
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_bpi(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_vppf(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeInt *)rvalue) = (*(ILInt8 (*)(void *, ILInt32))fn)(*((void * 
*)(avalue[0])), *((ILInt32 *)(avalue[1])));
+       (*(void (*)(void *, void *, ILFloat))fn)(*((void * *)(avalue[0])), 
*((void * *)(avalue[1])), *((ILFloat *)(avalue[2])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_jpi(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_vppd(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeUInt *)rvalue) = (*(ILNativeUInt (*)(void *, 
ILInt32))fn)(*((void * *)(avalue[0])), *((ILInt32 *)(avalue[1])));
+       (*(void (*)(void *, void *, ILDouble))fn)(*((void * *)(avalue[0])), 
*((void * *)(avalue[1])), *((ILDouble *)(avalue[2])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_vpj(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_fpp(void (*fn)(), void *rvalue, void **avalue)
 {
-       (*(void (*)(void *, ILNativeUInt))fn)(*((void * *)(avalue[0])), 
*((ILNativeUInt *)(avalue[1])));
+       *((ILFloat *)rvalue) = (*(ILFloat (*)(void *, void *))fn)(*((void * 
*)(avalue[0])), *((void * *)(avalue[1])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_vpjpii(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_dpp(void (*fn)(), void *rvalue, void **avalue)
 {
-       (*(void (*)(void *, ILNativeUInt, void *, ILInt32, ILInt32))fn)(*((void 
* *)(avalue[0])), *((ILNativeUInt *)(avalue[1])), *((void * *)(avalue[2])), 
*((ILInt32 *)(avalue[3])), *((ILInt32 *)(avalue[4])));
+       *((ILDouble *)rvalue) = (*(ILDouble (*)(void *, void *))fn)(*((void * 
*)(avalue[0])), *((void * *)(avalue[1])));
 }
 
 #endif
 
-#if !defined(HAVE_LIBFFI)
+#ifndef _IL_Decimal_suppressed
 
-static void marshal_vpjp(void (*fn)(), void *rvalue, void **avalue)
-{
-       (*(void (*)(void *, ILNativeUInt, void *))fn)(*((void * *)(avalue[0])), 
*((ILNativeUInt *)(avalue[1])), *((void * *)(avalue[2])));
-}
+IL_METHOD_BEGIN(Decimal_Methods)
+       IL_METHOD("Add", "(vSystem.Decimal;vSystem.Decimal;)vSystem.Decimal;", 
_IL_Decimal_Add, marshal_vpppp)
+       IL_METHOD("Compare", "(vSystem.Decimal;vSystem.Decimal;)i", 
_IL_Decimal_Compare, marshal_ippp)
+       IL_METHOD("Divide", 
"(vSystem.Decimal;vSystem.Decimal;)vSystem.Decimal;", _IL_Decimal_Divide, 
marshal_vpppp)
+       IL_METHOD("Floor", "(vSystem.Decimal;)vSystem.Decimal;", 
_IL_Decimal_Floor, marshal_vppp)
+       IL_METHOD("Remainder", 
"(vSystem.Decimal;vSystem.Decimal;)vSystem.Decimal;", _IL_Decimal_Remainder, 
marshal_vpppp)
+       IL_METHOD("Multiply", 
"(vSystem.Decimal;vSystem.Decimal;)vSystem.Decimal;", _IL_Decimal_Multiply, 
marshal_vpppp)
+       IL_METHOD("Negate", "(vSystem.Decimal;)vSystem.Decimal;", 
_IL_Decimal_Negate, marshal_vppp)
+       IL_METHOD("Round", "(vSystem.Decimal;i)vSystem.Decimal;", 
_IL_Decimal_Round, marshal_vpppi)
+       IL_METHOD("Subtract", 
"(vSystem.Decimal;vSystem.Decimal;)vSystem.Decimal;", _IL_Decimal_Subtract, 
marshal_vpppp)
+       IL_METHOD("Truncate", "(vSystem.Decimal;)vSystem.Decimal;", 
_IL_Decimal_Truncate, marshal_vppp)
+       IL_CONSTRUCTOR(".ctor", "(Tf)V", _IL_Decimal_ctor_f, marshal_vppf, 0, 0)
+       IL_CONSTRUCTOR(".ctor", "(Td)V", _IL_Decimal_ctor_d, marshal_vppd, 0, 0)
+       IL_METHOD("ToSingle", "(vSystem.Decimal;)f", _IL_Decimal_ToSingle, 
marshal_fpp)
+       IL_METHOD("ToDouble", "(vSystem.Decimal;)d", _IL_Decimal_ToDouble, 
marshal_dpp)
+IL_METHOD_END
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_bppi(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_vpi(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeInt *)rvalue) = (*(ILInt8 (*)(void *, void *, 
ILInt32))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((ILInt32 
*)(avalue[2])));
+       (*(void (*)(void *, ILInt32))fn)(*((void * *)(avalue[0])), *((ILInt32 
*)(avalue[1])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_bppipi(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_ip(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeInt *)rvalue) = (*(ILInt8 (*)(void *, void *, ILInt32, void 
*, ILInt32))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((ILInt32 
*)(avalue[2])), *((void * *)(avalue[3])), *((ILInt32 *)(avalue[4])));
+       *((ILNativeInt *)rvalue) = (*(ILInt32 (*)(void *))fn)(*((void * 
*)(avalue[0])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_vppii(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_lpb(void (*fn)(), void *rvalue, void **avalue)
 {
-       (*(void (*)(void *, void *, ILInt32, ILInt32))fn)(*((void * 
*)(avalue[0])), *((void * *)(avalue[1])), *((ILInt32 *)(avalue[2])), *((ILInt32 
*)(avalue[3])));
+       *((ILInt64 *)rvalue) = (*(ILInt64 (*)(void *, ILInt8))fn)(*((void * 
*)(avalue[0])), *((ILInt8 *)(avalue[1])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_jpip(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_vp(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeUInt *)rvalue) = (*(ILNativeUInt (*)(void *, ILInt32, void 
*))fn)(*((void * *)(avalue[0])), *((ILInt32 *)(avalue[1])), *((void * 
*)(avalue[2])));
+       (*(void (*)(void *))fn)(*((void * *)(avalue[0])));
 }
 
 #endif
 
+#ifndef _IL_GC_suppressed
+
+IL_METHOD_BEGIN(GC_Methods)
+       IL_METHOD("CollectInternal", "(i)V", _IL_GC_CollectInternal, 
marshal_vpi)
+       IL_METHOD("CollectionCountInternal", "()i", 
_IL_GC_CollectionCountInternal, marshal_ip)
+       IL_METHOD("GetTotalMemoryInternal", "(Z)l", 
_IL_GC_GetTotalMemoryInternal, marshal_lpb)
+       IL_METHOD("ReRegisterForFinalizeInternal", "(oSystem.Object;)V", 
_IL_GC_ReRegisterForFinalizeInternal, marshal_vpp)
+       IL_METHOD("SuppressFinalizeInternal", "(oSystem.Object;)V", 
_IL_GC_SuppressFinalizeInternal, marshal_vpp)
+       IL_METHOD("WaitForPendingFinalizersInternal", "()V", 
_IL_GC_WaitForPendingFinalizersInternal, marshal_vp)
+IL_METHOD_END
+
+#endif
+
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_vpjpipi(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_pppbb(void (*fn)(), void *rvalue, void **avalue)
 {
-       (*(void (*)(void *, ILNativeUInt, void *, ILInt32, void *, 
ILInt32))fn)(*((void * *)(avalue[0])), *((ILNativeUInt *)(avalue[1])), *((void 
* *)(avalue[2])), *((ILInt32 *)(avalue[3])), *((void * *)(avalue[4])), 
*((ILInt32 *)(avalue[5])));
+       *((void * *)rvalue) = (*(void * (*)(void *, void *, ILInt8, 
ILInt8))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((ILInt8 
*)(avalue[2])), *((ILInt8 *)(avalue[3])));
 }
 
 #endif
 
+#ifndef _IL_Type_suppressed
+
+IL_METHOD_BEGIN(Type_Methods)
+       IL_METHOD("GetTypeFromHandle", 
"(vSystem.RuntimeTypeHandle;)oSystem.Type;", _IL_Type_GetTypeFromHandle, 
marshal_ppp)
+       IL_METHOD("GetTypeHandle", 
"(oSystem.Object;)vSystem.RuntimeTypeHandle;", _IL_Type_GetTypeHandle, 
marshal_vppp)
+       IL_METHOD("GetType", "(oSystem.String;ZZ)oSystem.Type;", 
_IL_Type_GetType, marshal_pppbb)
+IL_METHOD_END
+
+#endif
+
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_ppppp(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_bpf(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((void * *)rvalue) = (*(void * (*)(void *, void *, void *, void 
*))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((void * 
*)(avalue[2])), *((void * *)(avalue[3])));
+       *((ILNativeInt *)rvalue) = (*(ILInt8 (*)(void *, ILFloat))fn)(*((void * 
*)(avalue[0])), *((ILFloat *)(avalue[1])));
 }
 
 #endif
 
+#ifndef _IL_Single_suppressed
+
+IL_METHOD_BEGIN(Single_Methods)
+       IL_METHOD("IsNaN", "(f)Z", _IL_Single_IsNaN, marshal_bpf)
+       IL_METHOD("TestInfinity", "(f)i", _IL_Single_TestInfinity, marshal_ipf)
+IL_METHOD_END
+
+#endif
+
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_ppipip(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_dpd(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((void * *)rvalue) = (*(void * (*)(void *, ILInt32, void *, ILInt32, 
void *))fn)(*((void * *)(avalue[0])), *((ILInt32 *)(avalue[1])), *((void * 
*)(avalue[2])), *((ILInt32 *)(avalue[3])), *((void * *)(avalue[4])));
+       *((ILDouble *)rvalue) = (*(ILDouble (*)(void *, ILDouble))fn)(*((void * 
*)(avalue[0])), *((ILDouble *)(avalue[1])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_vpipp(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_dpdi(void (*fn)(), void *rvalue, void **avalue)
 {
-       (*(void (*)(void *, ILInt32, void *, void *))fn)(*((void * 
*)(avalue[0])), *((ILInt32 *)(avalue[1])), *((void * *)(avalue[2])), *((void * 
*)(avalue[3])));
+       *((ILDouble *)rvalue) = (*(ILDouble (*)(void *, ILDouble, 
ILInt32))fn)(*((void * *)(avalue[0])), *((ILDouble *)(avalue[1])), *((ILInt32 
*)(avalue[2])));
 }
 
 #endif
 
-#ifndef _IL_CryptoMethods_suppressed
-
-IL_METHOD_BEGIN(CryptoMethods_Methods)
-       IL_METHOD("AlgorithmSupported", "(i)Z", 
_IL_CryptoMethods_AlgorithmSupported, marshal_bpi)
-       IL_METHOD("HashNew", "(i)j", _IL_CryptoMethods_HashNew, marshal_jpi)
-       IL_METHOD("HashReset", "(j)V", _IL_CryptoMethods_HashReset, marshal_vpj)
-       IL_METHOD("HashUpdate", "(j[Bii)V", _IL_CryptoMethods_HashUpdate, 
marshal_vpjpii)
-       IL_METHOD("HashFinal", "(j[B)V", _IL_CryptoMethods_HashFinal, 
marshal_vpjp)
-       IL_METHOD("HashFree", "(j)V", _IL_CryptoMethods_HashFree, marshal_vpj)
-       IL_METHOD("IsSemiWeakKey", "([Bi)Z", _IL_CryptoMethods_IsSemiWeakKey, 
marshal_bppi)
-       IL_METHOD("IsWeakKey", "([Bi)Z", _IL_CryptoMethods_IsWeakKey, 
marshal_bppi)
-       IL_METHOD("SameKey", "([Bi[Bi)Z", _IL_CryptoMethods_SameKey, 
marshal_bppipi)
-       IL_METHOD("GenerateRandom", "([Bii)V", 
_IL_CryptoMethods_GenerateRandom, marshal_vppii)
-       IL_METHOD("EncryptCreate", "(i[B)j", _IL_CryptoMethods_EncryptCreate, 
marshal_jpip)
-       IL_METHOD("DecryptCreate", "(i[B)j", _IL_CryptoMethods_DecryptCreate, 
marshal_jpip)
-       IL_METHOD("Encrypt", "(j[Bi[Bi)V", _IL_CryptoMethods_Encrypt, 
marshal_vpjpipi)
-       IL_METHOD("Decrypt", "(j[Bi[Bi)V", _IL_CryptoMethods_Decrypt, 
marshal_vpjpipi)
-       IL_METHOD("SymmetricFree", "(j)V", _IL_CryptoMethods_SymmetricFree, 
marshal_vpj)
-       IL_METHOD("NumAdd", "([B[B[B)[B", _IL_CryptoMethods_NumAdd, 
marshal_ppppp)
-       IL_METHOD("NumSub", "([B[B[B)[B", _IL_CryptoMethods_NumSub, 
marshal_ppppp)
-       IL_METHOD("NumMul", "([B[B[B)[B", _IL_CryptoMethods_NumMul, 
marshal_ppppp)
-       IL_METHOD("NumPow", "([B[B[B)[B", _IL_CryptoMethods_NumPow, 
marshal_ppppp)
-       IL_METHOD("NumInv", "([B[B)[B", _IL_CryptoMethods_NumInv, marshal_pppp)
-       IL_METHOD("NumMod", "([B[B)[B", _IL_CryptoMethods_NumMod, marshal_pppp)
-       IL_METHOD("NumEq", "([B[B)Z", _IL_CryptoMethods_NumEq, marshal_bppp)
-       IL_METHOD("NumZero", "([B)Z", _IL_CryptoMethods_NumZero, marshal_bpp)
-       IL_METHOD("GetKey", 
"(ioSystem.String;vSystem.Security.Cryptography.CspProviderFlags;&i)[B", 
_IL_CryptoMethods_GetKey, marshal_ppipip)
-       IL_METHOD("StoreKey", "(ioSystem.String;[B)V", 
_IL_CryptoMethods_StoreKey, marshal_vpipp)
-IL_METHOD_END
-
-#endif
-
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_lp(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_dpdd(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILInt64 *)rvalue) = (*(ILInt64 (*)(void *))fn)(*((void * 
*)(avalue[0])));
+       *((ILDouble *)rvalue) = (*(ILDouble (*)(void *, ILDouble, 
ILDouble))fn)(*((void * *)(avalue[0])), *((ILDouble *)(avalue[1])), *((ILDouble 
*)(avalue[2])));
 }
 
 #endif
 
-#ifndef _IL_InfoMethods_suppressed
+#ifndef _IL_Math_suppressed
 
-IL_METHOD_BEGIN(InfoMethods_Methods)
-       IL_METHOD("GetUserStorageDir", "()oSystem.String;", 
_IL_InfoMethods_GetUserStorageDir, marshal_pp)
-       IL_METHOD("GetRuntimeVersion", "()oSystem.String;", 
_IL_InfoMethods_GetRuntimeVersion, marshal_pp)
-       IL_METHOD("GetNetBIOSMachineName", "()oSystem.String;", 
_IL_InfoMethods_GetNetBIOSMachineName, marshal_pp)
-       IL_METHOD("GetUserDomainName", "()oSystem.String;", 
_IL_InfoMethods_GetUserDomainName, marshal_pp)
-       IL_METHOD("IsUserInteractive", "()Z", 
_IL_InfoMethods_IsUserInteractive, marshal_bp)
-       IL_METHOD("GetUserName", "()oSystem.String;", 
_IL_InfoMethods_GetUserName, marshal_pp)
-       IL_METHOD("GetWorkingSet", "()l", _IL_InfoMethods_GetWorkingSet, 
marshal_lp)
-       IL_METHOD("GetPlatformID", "()vSystem.PlatformID;", 
_IL_InfoMethods_GetPlatformID, marshal_ip)
-       IL_METHOD("GetPlatformName", "()oSystem.String;", 
_IL_InfoMethods_GetPlatformName, marshal_pp)
-       IL_METHOD("GetGlobalConfigDir", "()oSystem.String;", 
_IL_InfoMethods_GetGlobalConfigDir, marshal_pp)
-       IL_METHOD("GetProcessorCount", "()i", 
_IL_InfoMethods_GetProcessorCount, marshal_ip)
+IL_METHOD_BEGIN(Math_Methods)
+       IL_METHOD("Log", "(d)d", _IL_Math_Log, marshal_dpd)
+       IL_METHOD("RoundDouble", "(di)d", _IL_Math_RoundDouble, marshal_dpdi)
+       IL_METHOD("Acos", "(d)d", _IL_Math_Acos, marshal_dpd)
+       IL_METHOD("Asin", "(d)d", _IL_Math_Asin, marshal_dpd)
+       IL_METHOD("Atan", "(d)d", _IL_Math_Atan, marshal_dpd)
+       IL_METHOD("Atan2", "(dd)d", _IL_Math_Atan2, marshal_dpdd)
+       IL_METHOD("Ceiling", "(d)d", _IL_Math_Ceiling, marshal_dpd)
+       IL_METHOD("Cos", "(d)d", _IL_Math_Cos, marshal_dpd)
+       IL_METHOD("Cosh", "(d)d", _IL_Math_Cosh, marshal_dpd)
+       IL_METHOD("Exp", "(d)d", _IL_Math_Exp, marshal_dpd)
+       IL_METHOD("Floor", "(d)d", _IL_Math_Floor, marshal_dpd)
+       IL_METHOD("IEEERemainder", "(dd)d", _IL_Math_IEEERemainder, 
marshal_dpdd)
+       IL_METHOD("Log10", "(d)d", _IL_Math_Log10, marshal_dpd)
+       IL_METHOD("Pow", "(dd)d", _IL_Math_Pow, marshal_dpdd)
+       IL_METHOD("Round", "(d)d", _IL_Math_Round, marshal_dpd)
+       IL_METHOD("Sin", "(d)d", _IL_Math_Sin, marshal_dpd)
+       IL_METHOD("Sinh", "(d)d", _IL_Math_Sinh, marshal_dpd)
+       IL_METHOD("Sqrt", "(d)d", _IL_Math_Sqrt, marshal_dpd)
+       IL_METHOD("Tan", "(d)d", _IL_Math_Tan, marshal_dpd)
+       IL_METHOD("Tanh", "(d)d", _IL_Math_Tanh, marshal_dpd)
 IL_METHOD_END
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_jppi(void (*fn)(), void *rvalue, void **avalue)
-{
-       *((ILNativeUInt *)rvalue) = (*(ILNativeUInt (*)(void *, void *, 
ILInt32))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((ILInt32 
*)(avalue[2])));
-}
-
-#endif
-
-#if !defined(HAVE_LIBFFI)
-
-static void marshal_ipjpi(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_rpp(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeInt *)rvalue) = (*(ILInt32 (*)(void *, ILNativeUInt, void *, 
ILInt32))fn)(*((void * *)(avalue[0])), *((ILNativeUInt *)(avalue[1])), *((void 
* *)(avalue[2])), *((ILInt32 *)(avalue[3])));
+       *((ILTypedRef *)rvalue) = (*(ILTypedRef (*)(void *, void *))fn)(*((void 
* *)(avalue[0])), *((void * *)(avalue[1])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_ppjpiip(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_rppp(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((void * *)rvalue) = (*(void * (*)(void *, ILNativeUInt, void *, 
ILInt32, ILInt32, void *))fn)(*((void * *)(avalue[0])), *((ILNativeUInt 
*)(avalue[1])), *((void * *)(avalue[2])), *((ILInt32 *)(avalue[3])), *((ILInt32 
*)(avalue[4])), *((void * *)(avalue[5])));
+       *((ILTypedRef *)rvalue) = (*(ILTypedRef (*)(void *, void *, void 
*))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((void * 
*)(avalue[2])));
 }
 
 #endif
 
-#ifndef _IL_RegexpMethods_suppressed
+#ifndef _IL_ArgIterator_suppressed
 
-IL_METHOD_BEGIN(RegexpMethods_Methods)
-       IL_METHOD("CompileInternal", "(oSystem.String;i)j", 
_IL_RegexpMethods_CompileInternal, marshal_jppi)
-       IL_METHOD("CompileWithSyntaxInternal", "(oSystem.String;i)j", 
_IL_RegexpMethods_CompileWithSyntaxInternal, marshal_jppi)
-       IL_METHOD("ExecInternal", "(joSystem.String;i)i", 
_IL_RegexpMethods_ExecInternal, marshal_ipjpi)
-       IL_METHOD("MatchInternal", 
"(joSystem.String;iioSystem.Type;)oSystem.Array;", 
_IL_RegexpMethods_MatchInternal, marshal_ppjpiip)
-       IL_METHOD("FreeInternal", "(j)V", _IL_RegexpMethods_FreeInternal, 
marshal_vpj)
+IL_METHOD_BEGIN(ArgIterator_Methods)
+       IL_CONSTRUCTOR(".ctor", "(TvSystem.RuntimeArgumentHandle;)V", 
_IL_ArgIterator_ctor_RuntimeArgumentHandle, marshal_vppp, 0, 0)
+       IL_METHOD("GetRemainingCount", "(T)i", 
_IL_ArgIterator_GetRemainingCount, marshal_ipp)
+       IL_METHOD("GetNextArg", "(T)r", _IL_ArgIterator_GetNextArg_, 
marshal_rpp)
+       IL_CONSTRUCTOR(".ctor", "(TvSystem.RuntimeArgumentHandle;*V)V", 
_IL_ArgIterator_ctor_RuntimeArgumentHandlepV, marshal_vpppp, 0, 0)
+       IL_METHOD("End", "(T)V", _IL_ArgIterator_End, marshal_vpp)
+       IL_METHOD("GetNextArg", "(TvSystem.RuntimeTypeHandle;)r", 
_IL_ArgIterator_GetNextArg_RuntimeTypeHandle, marshal_rppp)
+       IL_METHOD("GetNextArgType", "(T)vSystem.RuntimeTypeHandle;", 
_IL_ArgIterator_GetNextArgType, marshal_vppp)
 IL_METHOD_END
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_ipl(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_ppr(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeInt *)rvalue) = (*(ILInt32 (*)(void *, ILInt64))fn)(*((void 
* *)(avalue[0])), *((ILInt64 *)(avalue[1])));
+       *((void * *)rvalue) = (*(void * (*)(void *, ILTypedRef))fn)(*((void * 
*)(avalue[0])), *((ILTypedRef *)(avalue[1])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_bpippp(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_bprp(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeInt *)rvalue) = (*(ILInt8 (*)(void *, ILInt32, void *, void 
*, void *))fn)(*((void * *)(avalue[0])), *((ILInt32 *)(avalue[1])), *((void * 
*)(avalue[2])), *((void * *)(avalue[3])), *((void * *)(avalue[4])));
+       *((ILNativeInt *)rvalue) = (*(ILInt8 (*)(void *, ILTypedRef, void 
*))fn)(*((void * *)(avalue[0])), *((ILTypedRef *)(avalue[1])), *((void * 
*)(avalue[2])));
 }
 
 #endif
 
-#ifndef _IL_TimeMethods_suppressed
+#ifndef _IL_TypedReference_suppressed
 
-IL_METHOD_BEGIN(TimeMethods_Methods)
-       IL_METHOD("GetCurrentTime", "()l", _IL_TimeMethods_GetCurrentTime, 
marshal_lp)
-       IL_METHOD("GetCurrentUtcTime", "()l", 
_IL_TimeMethods_GetCurrentUtcTime, marshal_lp)
-       IL_METHOD("GetTimeZoneAdjust", "(l)i", 
_IL_TimeMethods_GetTimeZoneAdjust, marshal_ipl)
-       IL_METHOD("GetUpTime", "()i", _IL_TimeMethods_GetUpTime, marshal_ip)
-       IL_METHOD("GetDaylightName", "()oSystem.String;", 
_IL_TimeMethods_GetDaylightName, marshal_pp)
-       IL_METHOD("GetStandardName", "()oSystem.String;", 
_IL_TimeMethods_GetStandardName, marshal_pp)
-       IL_METHOD("GetDaylightRules", "(i&l&l&l)Z", 
_IL_TimeMethods_GetDaylightRules, marshal_bpippp)
+IL_METHOD_BEGIN(TypedReference_Methods)
+       IL_METHOD("ToObject", "(r)oSystem.Object;", 
_IL_TypedReference_ToObject, marshal_ppr)
+       IL_METHOD("ClrMakeTypedReference", 
"(oSystem.Object;[oSystem.Reflection.FieldInfo;)r", 
_IL_TypedReference_ClrMakeTypedReference, marshal_rppp)
+       IL_METHOD("ClrSetTypedReference", "(roSystem.Object;)Z", 
_IL_TypedReference_ClrSetTypedReference, marshal_bprp)
+IL_METHOD_END
+
+#endif
+
+#ifndef _IL_Activator_suppressed
+
+IL_METHOD_BEGIN(Activator_Methods)
+       IL_METHOD("CreateValueTypeInstance", "(oSystem.Type;)oSystem.Object;", 
_IL_Activator_CreateValueTypeInstance, marshal_ppp)
 IL_METHOD_END
 
 #endif
@@ -766,2098 +847,2018 @@
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_lpb(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_jpp(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILInt64 *)rvalue) = (*(ILInt64 (*)(void *, ILInt8))fn)(*((void * 
*)(avalue[0])), *((ILInt8 *)(avalue[1])));
+       *((ILNativeUInt *)rvalue) = (*(ILNativeUInt (*)(void *, void 
*))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])));
 }
 
 #endif
 
-#ifndef _IL_GC_suppressed
+#ifndef _IL_RuntimeMethodHandle_suppressed
 
-IL_METHOD_BEGIN(GC_Methods)
-       IL_METHOD("SuppressFinalizeInternal", "(oSystem.Object;)V", 
_IL_GC_SuppressFinalizeInternal, marshal_vpp)
-       IL_METHOD("CollectInternal", "(i)V", _IL_GC_CollectInternal, 
marshal_vpi)
-       IL_METHOD("CollectionCountInternal", "()i", 
_IL_GC_CollectionCountInternal, marshal_ip)
-       IL_METHOD("GetTotalMemoryInternal", "(Z)l", 
_IL_GC_GetTotalMemoryInternal, marshal_lpb)
-       IL_METHOD("ReRegisterForFinalizeInternal", "(oSystem.Object;)V", 
_IL_GC_ReRegisterForFinalizeInternal, marshal_vpp)
-       IL_METHOD("WaitForPendingFinalizersInternal", "()V", 
_IL_GC_WaitForPendingFinalizersInternal, marshal_vp)
+IL_METHOD_BEGIN(RuntimeMethodHandle_Methods)
+       IL_METHOD("GetFunctionPointer", "(T)j", 
_IL_RuntimeMethodHandle_GetFunctionPointer, marshal_jpp)
 IL_METHOD_END
 
 #endif
 
-#ifndef _IL_Delegate_suppressed
+#if !defined(HAVE_LIBFFI)
 
-IL_METHOD_BEGIN(Delegate_Methods)
-       IL_METHOD("CreateBlankDelegate", 
"(oSystem.Type;oSystem.Reflection.ClrMethod;)oSystem.Delegate;", 
_IL_Delegate_CreateBlankDelegate, marshal_pppp)
-IL_METHOD_END
+static void marshal_Bppi(void (*fn)(), void *rvalue, void **avalue)
+{
+       *((ILNativeUInt *)rvalue) = (*(ILUInt8 (*)(void *, void *, 
ILInt32))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((ILInt32 
*)(avalue[2])));
+}
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_bpd(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_vppiB(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeInt *)rvalue) = (*(ILInt8 (*)(void *, ILDouble))fn)(*((void 
* *)(avalue[0])), *((ILDouble *)(avalue[1])));
+       (*(void (*)(void *, void *, ILInt32, ILUInt8))fn)(*((void * 
*)(avalue[0])), *((void * *)(avalue[1])), *((ILInt32 *)(avalue[2])), *((ILUInt8 
*)(avalue[3])));
 }
 
 #endif
 
-#if !defined(HAVE_LIBFFI)
+#ifndef _IL_Buffer_suppressed
 
-static void marshal_ipd(void (*fn)(), void *rvalue, void **avalue)
-{
-       *((ILNativeInt *)rvalue) = (*(ILInt32 (*)(void *, ILDouble))fn)(*((void 
* *)(avalue[0])), *((ILDouble *)(avalue[1])));
-}
+IL_METHOD_BEGIN(Buffer_Methods)
+       IL_METHOD("GetLength", "(oSystem.Array;)i", _IL_Buffer_GetLength, 
marshal_ipp)
+       IL_METHOD("Copy", "(oSystem.Array;ioSystem.Array;ii)V", 
_IL_Buffer_Copy, marshal_vppipii)
+       IL_METHOD("GetElement", "(oSystem.Array;i)B", _IL_Buffer_GetElement, 
marshal_Bppi)
+       IL_METHOD("SetElement", "(oSystem.Array;iB)V", _IL_Buffer_SetElement, 
marshal_vppiB)
+IL_METHOD_END
 
 #endif
 
-#ifndef _IL_Double_suppressed
+#ifndef _IL_AppDomainSetup_suppressed
 
-IL_METHOD_BEGIN(Double_Methods)
-       IL_METHOD("IsNaN", "(d)Z", _IL_Double_IsNaN, marshal_bpd)
-       IL_METHOD("TestInfinity", "(d)i", _IL_Double_TestInfinity, marshal_ipd)
+IL_METHOD_BEGIN(AppDomainSetup_Methods)
+       IL_METHOD("GetPrivateBinPaths", "(oSystem.Object;&[oSystem.String;)V", 
_IL_AppDomainSetup_GetPrivateBinPaths, marshal_vppp)
+       IL_METHOD("SetPrivateBinPaths", "(oSystem.Object;[oSystem.String;)V", 
_IL_AppDomainSetup_SetPrivateBinPaths, marshal_vppp)
 IL_METHOD_END
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_vppb(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_pp(void (*fn)(), void *rvalue, void **avalue)
 {
-       (*(void (*)(void *, void *, ILInt8))fn)(*((void * *)(avalue[0])), 
*((void * *)(avalue[1])), *((ILInt8 *)(avalue[2])));
+       *((void * *)rvalue) = (*(void * (*)(void *))fn)(*((void * 
*)(avalue[0])));
 }
 
 #endif
 
-#ifndef _IL_AppDomain_suppressed
+#ifndef _IL_MethodBase_suppressed
 
-IL_METHOD_BEGIN(AppDomain_Methods)
-       IL_METHOD("AppendPrivatePathsInternal", 
"(oSystem.Object;[oSystem.String;)V", _IL_AppDomain_AppendPrivatePathsInternal, 
marshal_vppp)
-       IL_METHOD("ClearPrivatePathInternal", "(oSystem.Object;)V", 
_IL_AppDomain_ClearPrivatePathInternal, marshal_vpp)
-       IL_METHOD("ClearShadowCopyPathInternal", "(oSystem.Object;)V", 
_IL_AppDomain_ClearShadowCopyPathInternal, marshal_vpp)
-       IL_METHOD("CreateAppDomain", "(&oSystem.Object;)V", 
_IL_AppDomain_CreateAppDomain, marshal_vpp)
-       IL_METHOD("CurrentAppDomain", "(&oSystem.Object;)V", 
_IL_AppDomain_CurrentAppDomain, marshal_vpp)
-       IL_METHOD("GetBaseDirectoryInternal", 
"(oSystem.Object;)oSystem.String;", _IL_AppDomain_GetBaseDirectoryInternal, 
marshal_ppp)
-       IL_METHOD("GetIdInternal", "(oSystem.Object;)i", 
_IL_AppDomain_GetIdInternal, marshal_ipp)
-       IL_METHOD("GetFriendlyNameInternal", 
"(oSystem.Object;)oSystem.String;", _IL_AppDomain_GetFriendlyNameInternal, 
marshal_ppp)
-       IL_METHOD("GetRelativeSearchPathInternal", 
"(oSystem.Object;)oSystem.String;", 
_IL_AppDomain_GetRelativeSearchPathInternal, marshal_ppp)
-       IL_METHOD("GetShadowCopyFilesInternal", "(oSystem.Object;)Z", 
_IL_AppDomain_GetShadowCopyFilesInternal, marshal_bpp)
-       IL_METHOD("IsDefaultAppDomainInternal", "(oSystem.Object;)Z", 
_IL_AppDomain_IsDefaultAppDomainInternal, marshal_bpp)
-       IL_METHOD("SetBaseDirectoryInternal", 
"(oSystem.Object;oSystem.String;)V", _IL_AppDomain_SetBaseDirectoryInternal, 
marshal_vppp)
-       IL_METHOD("SetFriendlyNameInternal", 
"(oSystem.Object;oSystem.String;)V", _IL_AppDomain_SetFriendlyNameInternal, 
marshal_vppp)
-       IL_METHOD("SetRelativeSearchPathInternal", 
"(oSystem.Object;oSystem.String;)V", 
_IL_AppDomain_SetRelativeSearchPathInternal, marshal_vppp)
-       IL_METHOD("SetShadowCopyFilesInternal", "(oSystem.Object;Z)V", 
_IL_AppDomain_SetShadowCopyFilesInternal, marshal_vppb)
-       IL_METHOD("SetShadowCopyPathInternal", 
"(oSystem.Object;[oSystem.String;)V", _IL_AppDomain_SetShadowCopyPathInternal, 
marshal_vppp)
-       IL_METHOD("UnloadAppDomain", "(oSystem.Object;)V", 
_IL_AppDomain_UnloadAppDomain, marshal_vpp)
-       IL_METHOD("GetAssembliesInternal", 
"(oSystem.Object;)[oSystem.Reflection.Assembly;", 
_IL_AppDomain_GetAssembliesInternal, marshal_ppp)
-       IL_METHOD("IsFinalizingForUnloadInternal", "(oSystem.Object;)Z", 
_IL_AppDomain_IsFinalizingForUnloadInternal, marshal_bpp)
+IL_METHOD_BEGIN(MethodBase_Methods)
+       IL_METHOD("GetMethodFromHandle", 
"(vSystem.RuntimeMethodHandle;)oSystem.Reflection.MethodBase;", 
_IL_MethodBase_GetMethodFromHandle, marshal_ppp)
+       IL_METHOD("GetCurrentMethod", "()oSystem.Reflection.MethodBase;", 
_IL_MethodBase_GetCurrentMethod, marshal_pp)
 IL_METHOD_END
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_bpf(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_pppippp(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeInt *)rvalue) = (*(ILInt8 (*)(void *, ILFloat))fn)(*((void * 
*)(avalue[0])), *((ILFloat *)(avalue[1])));
+       *((void * *)rvalue) = (*(void * (*)(void *, void *, ILInt32, void *, 
void *, void *))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), 
*((ILInt32 *)(avalue[2])), *((void * *)(avalue[3])), *((void * *)(avalue[4])), 
*((void * *)(avalue[5])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_ipf(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_ppppippp(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeInt *)rvalue) = (*(ILInt32 (*)(void *, ILFloat))fn)(*((void 
* *)(avalue[0])), *((ILFloat *)(avalue[1])));
+       *((void * *)rvalue) = (*(void * (*)(void *, void *, void *, ILInt32, 
void *, void *, void *))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), 
*((void * *)(avalue[2])), *((ILInt32 *)(avalue[3])), *((void * *)(avalue[4])), 
*((void * *)(avalue[5])), *((void * *)(avalue[6])));
 }
 
 #endif
 
-#ifndef _IL_Single_suppressed
+#ifndef _IL_ClrConstructor_suppressed
 
-IL_METHOD_BEGIN(Single_Methods)
-       IL_METHOD("IsNaN", "(f)Z", _IL_Single_IsNaN, marshal_bpf)
-       IL_METHOD("TestInfinity", "(f)i", _IL_Single_TestInfinity, marshal_ipf)
+IL_METHOD_BEGIN(ClrConstructor_Methods)
+       IL_METHOD("Invoke", 
"(TvSystem.Reflection.BindingFlags;oSystem.Reflection.Binder;[oSystem.Object;oSystem.Globalization.CultureInfo;)oSystem.Object;",
 _IL_ClrConstructor_Invoke, marshal_pppippp)
+       IL_METHOD("InvokeOnEmpty", 
"(ToSystem.Object;vSystem.Reflection.BindingFlags;oSystem.Reflection.Binder;[oSystem.Object;oSystem.Globalization.CultureInfo;)oSystem.Object;",
 _IL_ClrConstructor_InvokeOnEmpty, marshal_ppppippp)
 IL_METHOD_END
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_ppjiiii(void (*fn)(), void *rvalue, void **avalue)
-{
-       *((void * *)rvalue) = (*(void * (*)(void *, ILNativeUInt, ILInt32, 
ILInt32, ILInt32, ILInt32))fn)(*((void * *)(avalue[0])), *((ILNativeUInt 
*)(avalue[1])), *((ILInt32 *)(avalue[2])), *((ILInt32 *)(avalue[3])), 
*((ILInt32 *)(avalue[4])), *((ILInt32 *)(avalue[5])));
-}
-
-#endif
-
-#if !defined(HAVE_LIBFFI)
-
-static void marshal_vpppiii(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_ppj(void (*fn)(), void *rvalue, void **avalue)
 {
-       (*(void (*)(void *, void *, void *, ILInt32, ILInt32, 
ILInt32))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((void * 
*)(avalue[2])), *((ILInt32 *)(avalue[3])), *((ILInt32 *)(avalue[4])), 
*((ILInt32 *)(avalue[5])));
+       *((void * *)rvalue) = (*(void * (*)(void *, ILNativeUInt))fn)(*((void * 
*)(avalue[0])), *((ILNativeUInt *)(avalue[1])));
 }
 
 #endif
 
-#if !defined(HAVE_LIBFFI)
+#ifndef _IL_ClrProperty_suppressed
 
-static void marshal_pppiii(void (*fn)(), void *rvalue, void **avalue)
-{
-       *((void * *)rvalue) = (*(void * (*)(void *, void *, ILInt32, ILInt32, 
ILInt32))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((ILInt32 
*)(avalue[2])), *((ILInt32 *)(avalue[3])), *((ILInt32 *)(avalue[4])));
-}
+IL_METHOD_BEGIN(ClrProperty_Methods)
+       IL_METHOD("GetPropertyType", "(j)oSystem.Type;", 
_IL_ClrProperty_GetPropertyType, marshal_ppj)
+IL_METHOD_END
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_vppipii(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_ppppbb(void (*fn)(), void *rvalue, void **avalue)
 {
-       (*(void (*)(void *, void *, ILInt32, void *, ILInt32, 
ILInt32))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((ILInt32 
*)(avalue[2])), *((void * *)(avalue[3])), *((ILInt32 *)(avalue[4])), *((ILInt32 
*)(avalue[5])));
+       *((void * *)rvalue) = (*(void * (*)(void *, void *, void *, ILInt8, 
ILInt8))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((void * 
*)(avalue[2])), *((ILInt8 *)(avalue[3])), *((ILInt8 *)(avalue[4])));
 }
 
 #endif
 
-#if !defined(HAVE_LIBFFI)
+#ifndef _IL_Module_suppressed
 
-static void marshal_vpppi(void (*fn)(), void *rvalue, void **avalue)
-{
-       (*(void (*)(void *, void *, void *, ILInt32))fn)(*((void * 
*)(avalue[0])), *((void * *)(avalue[1])), *((void * *)(avalue[2])), *((ILInt32 
*)(avalue[3])));
-}
+IL_METHOD_BEGIN(Module_Methods)
+       IL_METHOD("GetModuleType", "(T)oSystem.Type;", 
_IL_Module_GetModuleType, marshal_ppp)
+       IL_METHOD("GetAssembly", "(T)oSystem.Reflection.Assembly;", 
_IL_Module_GetAssembly, marshal_ppp)
+       IL_METHOD("GetFullName", "(T)oSystem.String;", _IL_Module_GetFullName, 
marshal_ppp)
+       IL_METHOD("GetType", "(ToSystem.String;ZZ)oSystem.Type;", 
_IL_Module_GetType, marshal_ppppbb)
+       IL_METHOD("GetTypes", "(T)[oSystem.Type;", _IL_Module_GetTypes, 
marshal_ppp)
+       IL_METHOD("IsResource", "(T)Z", _IL_Module_IsResource, marshal_bpp)
+IL_METHOD_END
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_ppjpp(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_ipj(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((void * *)rvalue) = (*(void * (*)(void *, ILNativeUInt, void *, void 
*))fn)(*((void * *)(avalue[0])), *((ILNativeUInt *)(avalue[1])), *((void * 
*)(avalue[2])), *((void * *)(avalue[3])));
+       *((ILNativeInt *)rvalue) = (*(ILInt32 (*)(void *, 
ILNativeUInt))fn)(*((void * *)(avalue[0])), *((ILNativeUInt *)(avalue[1])));
 }
 
 #endif
 
-#ifndef _IL_Array_suppressed
+#ifndef _IL_ClrParameter_suppressed
 
-IL_METHOD_BEGIN(Array_Methods)
-       IL_METHOD("Initialize", "(T)V", _IL_Array_Initialize, marshal_vpp)
-       IL_METHOD("CreateArray", "(jiiii)oSystem.Array;", 
_IL_Array_CreateArray_jiiii, marshal_ppjiiii)
-       IL_METHOD("GetRank", "(T)i", _IL_Array_GetRank, marshal_ipp)
-       IL_METHOD("Set", "(ToSystem.Object;iii)V", _IL_Array_Set_Objectiii, 
marshal_vpppiii)
-       IL_METHOD("GetLength", "(T)i", _IL_Array_GetLength_, marshal_ipp)
-       IL_METHOD("Get", "(Tiii)oSystem.Object;", _IL_Array_Get_iii, 
marshal_pppiii)
-       IL_METHOD("GetLowerBound", "(Ti)i", _IL_Array_GetLowerBound, 
marshal_ippi)
-       IL_METHOD("GetUpperBound", "(Ti)i", _IL_Array_GetUpperBound, 
marshal_ippi)
-       IL_METHOD("Clear", "(oSystem.Array;ii)V", _IL_Array_Clear, 
marshal_vppii)
-       IL_METHOD("InternalCopy", "(oSystem.Array;ioSystem.Array;ii)V", 
_IL_Array_InternalCopy, marshal_vppipii)
-       IL_METHOD("GetRelative", "(Ti)oSystem.Object;", _IL_Array_GetRelative, 
marshal_pppi)
-       IL_METHOD("SetRelative", "(ToSystem.Object;i)V", _IL_Array_SetRelative, 
marshal_vpppi)
-       IL_METHOD("CreateArray", "(j[i[i)oSystem.Array;", 
_IL_Array_CreateArray_jaiai, marshal_ppjpp)
-       IL_METHOD("Get", "(T[i)oSystem.Object;", _IL_Array_Get_ai, marshal_pppp)
-       IL_METHOD("GetLength", "(Ti)i", _IL_Array_GetLength_i, marshal_ippi)
-       IL_METHOD("Set", "(ToSystem.Object;[i)V", _IL_Array_Set_Objectai, 
marshal_vpppp)
+IL_METHOD_BEGIN(ClrParameter_Methods)
+       IL_METHOD("GetParamAttrs", 
"(j)vSystem.Reflection.ParameterAttributes;", _IL_ClrParameter_GetParamAttrs, 
marshal_ipj)
+       IL_METHOD("GetParamName", "(j)oSystem.String;", 
_IL_ClrParameter_GetParamName, marshal_ppj)
+       IL_METHOD("GetDefault", "(j)oSystem.Object;", 
_IL_ClrParameter_GetDefault, marshal_ppj)
 IL_METHOD_END
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_lpd(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_bpj(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILInt64 *)rvalue) = (*(ILInt64 (*)(void *, ILDouble))fn)(*((void * 
*)(avalue[0])), *((ILDouble *)(avalue[1])));
+       *((ILNativeInt *)rvalue) = (*(ILInt8 (*)(void *, 
ILNativeUInt))fn)(*((void * *)(avalue[0])), *((ILNativeUInt *)(avalue[1])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_dpl(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_bpjib(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILDouble *)rvalue) = (*(ILDouble (*)(void *, ILInt64))fn)(*((void * 
*)(avalue[0])), *((ILInt64 *)(avalue[1])));
+       *((ILNativeInt *)rvalue) = (*(ILInt8 (*)(void *, ILNativeUInt, ILInt32, 
ILInt8))fn)(*((void * *)(avalue[0])), *((ILNativeUInt *)(avalue[1])), 
*((ILInt32 *)(avalue[2])), *((ILInt8 *)(avalue[3])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_fpi(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_ppjib(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILFloat *)rvalue) = (*(ILFloat (*)(void *, ILInt32))fn)(*((void * 
*)(avalue[0])), *((ILInt32 *)(avalue[1])));
+       *((void * *)rvalue) = (*(void * (*)(void *, ILNativeUInt, ILInt32, 
ILInt8))fn)(*((void * *)(avalue[0])), *((ILNativeUInt *)(avalue[1])), 
*((ILInt32 *)(avalue[2])), *((ILInt8 *)(avalue[3])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_ppf(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_ppjjb(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((void * *)rvalue) = (*(void * (*)(void *, ILFloat))fn)(*((void * 
*)(avalue[0])), *((ILFloat *)(avalue[1])));
+       *((void * *)rvalue) = (*(void * (*)(void *, ILNativeUInt, ILNativeUInt, 
ILInt8))fn)(*((void * *)(avalue[0])), *((ILNativeUInt *)(avalue[1])), 
*((ILNativeUInt *)(avalue[2])), *((ILInt8 *)(avalue[3])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_ppd(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_bpjjb(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((void * *)rvalue) = (*(void * (*)(void *, ILDouble))fn)(*((void * 
*)(avalue[0])), *((ILDouble *)(avalue[1])));
+       *((ILNativeInt *)rvalue) = (*(ILInt8 (*)(void *, ILNativeUInt, 
ILNativeUInt, ILInt8))fn)(*((void * *)(avalue[0])), *((ILNativeUInt 
*)(avalue[1])), *((ILNativeUInt *)(avalue[2])), *((ILInt8 *)(avalue[3])));
 }
 
 #endif
 
-#ifndef _IL_BitConverter_suppressed
-
-IL_METHOD_BEGIN(BitConverter_Methods)
-       IL_METHOD("GetLittleEndian", "()Z", _IL_BitConverter_GetLittleEndian, 
marshal_bp)
-       IL_METHOD("DoubleToInt64Bits", "(d)l", 
_IL_BitConverter_DoubleToInt64Bits, marshal_lpd)
-       IL_METHOD("Int64BitsToDouble", "(l)d", 
_IL_BitConverter_Int64BitsToDouble, marshal_dpl)
-       IL_METHOD("FloatToInt32Bits", "(f)i", 
_IL_BitConverter_FloatToInt32Bits, marshal_ipf)
-       IL_METHOD("Int32BitsToFloat", "(i)f", 
_IL_BitConverter_Int32BitsToFloat, marshal_fpi)
-       IL_METHOD("GetLittleEndianBytes", "(f)[B", 
_IL_BitConverter_GetLittleEndianBytes_f, marshal_ppf)
-       IL_METHOD("GetLittleEndianBytes", "(d)[B", 
_IL_BitConverter_GetLittleEndianBytes_d, marshal_ppd)
-IL_METHOD_END
-
-#endif
-
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_dpd(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_jpj(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILDouble *)rvalue) = (*(ILDouble (*)(void *, ILDouble))fn)(*((void * 
*)(avalue[0])), *((ILDouble *)(avalue[1])));
+       *((ILNativeUInt *)rvalue) = (*(ILNativeUInt (*)(void *, 
ILNativeUInt))fn)(*((void * *)(avalue[0])), *((ILNativeUInt *)(avalue[1])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_dpdi(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_jpji(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILDouble *)rvalue) = (*(ILDouble (*)(void *, ILDouble, 
ILInt32))fn)(*((void * *)(avalue[0])), *((ILDouble *)(avalue[1])), *((ILInt32 
*)(avalue[2])));
+       *((ILNativeUInt *)rvalue) = (*(ILNativeUInt (*)(void *, ILNativeUInt, 
ILInt32))fn)(*((void * *)(avalue[0])), *((ILNativeUInt *)(avalue[1])), 
*((ILInt32 *)(avalue[2])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_dpdd(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_ppji(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILDouble *)rvalue) = (*(ILDouble (*)(void *, ILDouble, 
ILDouble))fn)(*((void * *)(avalue[0])), *((ILDouble *)(avalue[1])), *((ILDouble 
*)(avalue[2])));
+       *((void * *)rvalue) = (*(void * (*)(void *, ILNativeUInt, 
ILInt32))fn)(*((void * *)(avalue[0])), *((ILNativeUInt *)(avalue[1])), 
*((ILInt32 *)(avalue[2])));
 }
 
 #endif
 
-#ifndef _IL_Math_suppressed
+#ifndef _IL_ClrHelpers_suppressed
 
-IL_METHOD_BEGIN(Math_Methods)
-       IL_METHOD("Log", "(d)d", _IL_Math_Log, marshal_dpd)
-       IL_METHOD("RoundDouble", "(di)d", _IL_Math_RoundDouble, marshal_dpdi)
-       IL_METHOD("Acos", "(d)d", _IL_Math_Acos, marshal_dpd)
-       IL_METHOD("Asin", "(d)d", _IL_Math_Asin, marshal_dpd)
-       IL_METHOD("Atan", "(d)d", _IL_Math_Atan, marshal_dpd)
-       IL_METHOD("Atan2", "(dd)d", _IL_Math_Atan2, marshal_dpdd)
-       IL_METHOD("Ceiling", "(d)d", _IL_Math_Ceiling, marshal_dpd)
-       IL_METHOD("Cos", "(d)d", _IL_Math_Cos, marshal_dpd)
-       IL_METHOD("Cosh", "(d)d", _IL_Math_Cosh, marshal_dpd)
-       IL_METHOD("Exp", "(d)d", _IL_Math_Exp, marshal_dpd)
-       IL_METHOD("Floor", "(d)d", _IL_Math_Floor, marshal_dpd)
-       IL_METHOD("IEEERemainder", "(dd)d", _IL_Math_IEEERemainder, 
marshal_dpdd)
-       IL_METHOD("Log10", "(d)d", _IL_Math_Log10, marshal_dpd)
-       IL_METHOD("Pow", "(dd)d", _IL_Math_Pow, marshal_dpdd)
-       IL_METHOD("Round", "(d)d", _IL_Math_Round, marshal_dpd)
-       IL_METHOD("Sin", "(d)d", _IL_Math_Sin, marshal_dpd)
-       IL_METHOD("Sinh", "(d)d", _IL_Math_Sinh, marshal_dpd)
-       IL_METHOD("Sqrt", "(d)d", _IL_Math_Sqrt, marshal_dpd)
-       IL_METHOD("Tan", "(d)d", _IL_Math_Tan, marshal_dpd)
-       IL_METHOD("Tanh", "(d)d", _IL_Math_Tanh, marshal_dpd)
+IL_METHOD_BEGIN(ClrHelpers_Methods)
+       IL_METHOD("CanAccess", "(j)Z", _IL_ClrHelpers_CanAccess, marshal_bpj)
+       IL_METHOD("GetNumParameters", "(j)i", _IL_ClrHelpers_GetNumParameters, 
marshal_ipj)
+       IL_METHOD("GetMemberAttrs", "(j)i", _IL_ClrHelpers_GetMemberAttrs, 
marshal_ipj)
+       IL_METHOD("GetCallConv", "(j)vSystem.Reflection.CallingConventions;", 
_IL_ClrHelpers_GetCallConv, marshal_ipj)
+       IL_METHOD("GetImplAttrs", 
"(j)vSystem.Reflection.MethodImplAttributes;", _IL_ClrHelpers_GetImplAttrs, 
marshal_ipj)
+       IL_METHOD("HasSemantics", 
"(jvSystem.Reflection.MethodSemanticsAttributes;Z)Z", 
_IL_ClrHelpers_HasSemantics, marshal_bpjib)
+       IL_METHOD("GetSemantics", 
"(jvSystem.Reflection.MethodSemanticsAttributes;Z)oSystem.Reflection.MethodInfo;",
 _IL_ClrHelpers_GetSemantics, marshal_ppjib)
+       IL_METHOD("GetName", "(j)oSystem.String;", _IL_ClrHelpers_GetName, 
marshal_ppj)
+       IL_METHOD("GetCustomAttributes", "(jjZ)[oSystem.Object;", 
_IL_ClrHelpers_GetCustomAttributes, marshal_ppjjb)
+       IL_METHOD("IsDefined", "(jjZ)Z", _IL_ClrHelpers_IsDefined, 
marshal_bpjjb)
+       IL_METHOD("GetDeclaringType", "(j)j", _IL_ClrHelpers_GetDeclaringType, 
marshal_jpj)
+       IL_METHOD("GetParameter", "(ji)j", _IL_ClrHelpers_GetParameter, 
marshal_jpji)
+       IL_METHOD("GetParameterType", "(ji)oSystem.Type;", 
_IL_ClrHelpers_GetParameterType, marshal_ppji)
 IL_METHOD_END
 
 #endif
 
-#if !defined(HAVE_LIBFFI)
-
-static void marshal_rpp(void (*fn)(), void *rvalue, void **avalue)
-{
-       *((ILTypedRef *)rvalue) = (*(ILTypedRef (*)(void *, void *))fn)(*((void 
* *)(avalue[0])), *((void * *)(avalue[1])));
-}
-
-#endif
-
-#if !defined(HAVE_LIBFFI)
-
-static void marshal_rppp(void (*fn)(), void *rvalue, void **avalue)
-{
-       *((ILTypedRef *)rvalue) = (*(ILTypedRef (*)(void *, void *, void 
*))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((void * 
*)(avalue[2])));
-}
-
-#endif
-
-#ifndef _IL_ArgIterator_suppressed
+#ifndef _IL_ClrMethod_suppressed
 
-IL_METHOD_BEGIN(ArgIterator_Methods)
-       IL_CONSTRUCTOR(".ctor", "(TvSystem.RuntimeArgumentHandle;)V", 
_IL_ArgIterator_ctor_RuntimeArgumentHandle, marshal_vppp, 0, 0)
-       IL_METHOD("GetRemainingCount", "(T)i", 
_IL_ArgIterator_GetRemainingCount, marshal_ipp)
-       IL_METHOD("GetNextArg", "(T)r", _IL_ArgIterator_GetNextArg_, 
marshal_rpp)
-       IL_CONSTRUCTOR(".ctor", "(TvSystem.RuntimeArgumentHandle;*V)V", 
_IL_ArgIterator_ctor_RuntimeArgumentHandlepV, marshal_vpppp, 0, 0)
-       IL_METHOD("End", "(T)V", _IL_ArgIterator_End, marshal_vpp)
-       IL_METHOD("GetNextArg", "(TvSystem.RuntimeTypeHandle;)r", 
_IL_ArgIterator_GetNextArg_RuntimeTypeHandle, marshal_rppp)
-       IL_METHOD("GetNextArgType", "(T)vSystem.RuntimeTypeHandle;", 
_IL_ArgIterator_GetNextArgType, marshal_vppp)
+IL_METHOD_BEGIN(ClrMethod_Methods)
+       IL_METHOD("Invoke", 
"(ToSystem.Object;vSystem.Reflection.BindingFlags;oSystem.Reflection.Binder;[oSystem.Object;oSystem.Globalization.CultureInfo;)oSystem.Object;",
 _IL_ClrMethod_Invoke, marshal_ppppippp)
+       IL_METHOD("GetBaseDefinition", "(T)oSystem.Reflection.MethodInfo;", 
_IL_ClrMethod_GetBaseDefinition, marshal_ppp)
+       IL_METHOD("HasGenericArgumentsImpl", "(T)Z", 
_IL_ClrMethod_HasGenericArgumentsImpl, marshal_bpp)
+       IL_METHOD("HasGenericParametersImpl", "(T)Z", 
_IL_ClrMethod_HasGenericParametersImpl, marshal_bpp)
+       IL_METHOD("GetGenericArgumentsImpl", "(T)[oSystem.Type;", 
_IL_ClrMethod_GetGenericArgumentsImpl, marshal_ppp)
+       IL_METHOD("GetGenericMethodDefinitionImpl", 
"(T)oSystem.Reflection.ClrMethod;", 
_IL_ClrMethod_GetGenericMethodDefinitionImpl, marshal_ppp)
+       IL_METHOD("GetArity", "(T)i", _IL_ClrMethod_GetArity, marshal_ipp)
+       IL_METHOD("BindGenericParametersImpl", 
"(T[oSystem.Type;)oSystem.Reflection.MethodInfo;", 
_IL_ClrMethod_BindGenericParametersImpl, marshal_pppp)
 IL_METHOD_END
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_pppii(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_pppb(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((void * *)rvalue) = (*(void * (*)(void *, void *, ILInt32, 
ILInt32))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((ILInt32 
*)(avalue[2])), *((ILInt32 *)(avalue[3])));
+       *((void * *)rvalue) = (*(void * (*)(void *, void *, ILInt8))fn)(*((void 
* *)(avalue[0])), *((void * *)(avalue[1])), *((ILInt8 *)(avalue[2])));
 }
 
 #endif
 
-#if !defined(HAVE_LIBFFI)
+#ifndef _IL_Assembly_suppressed
 
-static void marshal_ppSi(void (*fn)(), void *rvalue, void **avalue)
-{
-       *((void * *)rvalue) = (*(void * (*)(void *, ILUInt16, 
ILInt32))fn)(*((void * *)(avalue[0])), *((ILUInt16 *)(avalue[1])), *((ILInt32 
*)(avalue[2])));
-}
+IL_METHOD_BEGIN(Assembly_Methods)
+       IL_METHOD("GetExecutingAssembly", "()oSystem.Reflection.Assembly;", 
_IL_Assembly_GetExecutingAssembly, marshal_pp)
+       IL_METHOD("GetEntryAssembly", "()oSystem.Reflection.Assembly;", 
_IL_Assembly_GetEntryAssembly, marshal_pp)
+       IL_METHOD("GetCallingAssembly", "()oSystem.Reflection.Assembly;", 
_IL_Assembly_GetCallingAssembly, marshal_pp)
+       IL_METHOD("LoadFromBytes", 
"([B&ioSystem.Reflection.Assembly;)oSystem.Reflection.Assembly;", 
_IL_Assembly_LoadFromBytes, marshal_ppppp)
+       IL_METHOD("GetType", "(ToSystem.String;ZZ)oSystem.Type;", 
_IL_Assembly_GetType, marshal_ppppbb)
+       IL_METHOD("GetTypes", "(T)[oSystem.Type;", _IL_Assembly_GetTypes, 
marshal_ppp)
+       IL_METHOD("GetLocation", "(T)oSystem.String;", 
_IL_Assembly_GetLocation, marshal_ppp)
+       IL_METHOD("GetFullName", "(T)oSystem.String;", 
_IL_Assembly_GetFullName, marshal_ppp)
+       IL_METHOD("GetModuleInternal", 
"(ToSystem.String;)oSystem.Reflection.Module;", _IL_Assembly_GetModuleInternal, 
marshal_pppp)
+       IL_METHOD("GetExportedTypes", "(T)[oSystem.Type;", 
_IL_Assembly_GetExportedTypes, marshal_ppp)
+       IL_METHOD("GetFile", "(ToSystem.String;)oSystem.IO.FileStream;", 
_IL_Assembly_GetFile, marshal_pppp)
+       IL_METHOD("GetFiles", "(TZ)[oSystem.IO.FileStream;", 
_IL_Assembly_GetFiles, marshal_pppb)
+       IL_METHOD("GetManifestResourceInfo", 
"(ToSystem.String;)oSystem.Reflection.ManifestResourceInfo;", 
_IL_Assembly_GetManifestResourceInfo, marshal_pppp)
+       IL_METHOD("GetManifestResourceNames", "(T)[oSystem.String;", 
_IL_Assembly_GetManifestResourceNames, marshal_ppp)
+       IL_METHOD("GetManifestResourceStream", 
"(ToSystem.String;)oSystem.IO.Stream;", _IL_Assembly_GetManifestResourceStream, 
marshal_pppp)
+       IL_METHOD("LoadFromName", 
"(oSystem.String;&ioSystem.Reflection.Assembly;)oSystem.Reflection.Assembly;", 
_IL_Assembly_LoadFromName, marshal_ppppp)
+       IL_METHOD("LoadFromFile", 
"(oSystem.String;&ioSystem.Reflection.Assembly;)oSystem.Reflection.Assembly;", 
_IL_Assembly_LoadFromFile, marshal_ppppp)
+       IL_METHOD("FillAssemblyName", "(ToSystem.Reflection.AssemblyName;)V", 
_IL_Assembly_FillAssemblyName, marshal_vppp)
+       IL_METHOD("GetEntryPoint", "(T)vSystem.RuntimeMethodHandle;", 
_IL_Assembly_GetEntryPoint, marshal_vppp)
+       IL_METHOD("GetImageRuntimeVersion", "(T)oSystem.String;", 
_IL_Assembly_GetImageRuntimeVersion, marshal_ppp)
+       IL_METHOD("GetSatellitePath", "(ToSystem.String;)oSystem.String;", 
_IL_Assembly_GetSatellitePath, marshal_pppp)
+       IL_METHOD("GetModules", "(TZ)[oSystem.Reflection.Module;", 
_IL_Assembly_GetModules, marshal_pppb)
+       IL_METHOD("GetReferencedAssembliesInternal", 
"(T)[oSystem.Reflection.Assembly;", 
_IL_Assembly_GetReferencedAssembliesInternal, marshal_ppp)
+IL_METHOD_END
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_Sppi(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_ipppp(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeUInt *)rvalue) = (*(ILUInt16 (*)(void *, void *, 
ILInt32))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((ILInt32 
*)(avalue[2])));
+       *((ILNativeInt *)rvalue) = (*(ILInt32 (*)(void *, void *, void *, void 
*))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((void * 
*)(avalue[2])), *((void * *)(avalue[3])));
 }
 
 #endif
 
-#if !defined(HAVE_LIBFFI)
+#ifndef _IL_AssemblyName_suppressed
 
-static void marshal_ippiipii(void (*fn)(), void *rvalue, void **avalue)
-{
-       *((ILNativeInt *)rvalue) = (*(ILInt32 (*)(void *, void *, ILInt32, 
ILInt32, void *, ILInt32, ILInt32))fn)(*((void * *)(avalue[0])), *((void * 
*)(avalue[1])), *((ILInt32 *)(avalue[2])), *((ILInt32 *)(avalue[3])), *((void * 
*)(avalue[4])), *((ILInt32 *)(avalue[5])), *((ILInt32 *)(avalue[6])));
-}
+IL_METHOD_BEGIN(AssemblyName_Methods)
+       IL_METHOD("FillAssemblyNameFromFile", 
"(oSystem.Reflection.AssemblyName;oSystem.String;oSystem.Reflection.Assembly;)i",
 _IL_AssemblyName_FillAssemblyNameFromFile, marshal_ipppp)
+IL_METHOD_END
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_ippSii(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_ipjlpii(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeInt *)rvalue) = (*(ILInt32 (*)(void *, void *, ILUInt16, 
ILInt32, ILInt32))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), 
*((ILUInt16 *)(avalue[2])), *((ILInt32 *)(avalue[3])), *((ILInt32 
*)(avalue[4])));
+       *((ILNativeInt *)rvalue) = (*(ILInt32 (*)(void *, ILNativeUInt, 
ILInt64, void *, ILInt32, ILInt32))fn)(*((void * *)(avalue[0])), 
*((ILNativeUInt *)(avalue[1])), *((ILInt64 *)(avalue[2])), *((void * 
*)(avalue[3])), *((ILInt32 *)(avalue[4])), *((ILInt32 *)(avalue[5])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_ppppi(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_ipjl(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((void * *)rvalue) = (*(void * (*)(void *, void *, void *, 
ILInt32))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((void * 
*)(avalue[2])), *((ILInt32 *)(avalue[3])));
+       *((ILNativeInt *)rvalue) = (*(ILInt32 (*)(void *, ILNativeUInt, 
ILInt64))fn)(*((void * *)(avalue[0])), *((ILNativeUInt *)(avalue[1])), 
*((ILInt64 *)(avalue[2])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_pppiip(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_ppjl(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((void * *)rvalue) = (*(void * (*)(void *, void *, ILInt32, ILInt32, 
void *))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((ILInt32 
*)(avalue[2])), *((ILInt32 *)(avalue[3])), *((void * *)(avalue[4])));
+       *((void * *)rvalue) = (*(void * (*)(void *, ILNativeUInt, 
ILInt64))fn)(*((void * *)(avalue[0])), *((ILNativeUInt *)(avalue[1])), 
*((ILInt64 *)(avalue[2])));
 }
 
 #endif
 
-#if !defined(HAVE_LIBFFI)
+#ifndef _IL_ClrResourceStream_suppressed
 
-static void marshal_ippiipiib(void (*fn)(), void *rvalue, void **avalue)
-{
-       *((ILNativeInt *)rvalue) = (*(ILInt32 (*)(void *, void *, ILInt32, 
ILInt32, void *, ILInt32, ILInt32, ILInt8))fn)(*((void * *)(avalue[0])), 
*((void * *)(avalue[1])), *((ILInt32 *)(avalue[2])), *((ILInt32 *)(avalue[3])), 
*((void * *)(avalue[4])), *((ILInt32 *)(avalue[5])), *((ILInt32 *)(avalue[6])), 
*((ILInt8 *)(avalue[7])));
-}
+IL_METHOD_BEGIN(ClrResourceStream_Methods)
+       IL_METHOD("ResourceRead", "(jl[Bii)i", 
_IL_ClrResourceStream_ResourceRead, marshal_ipjlpii)
+       IL_METHOD("ResourceReadByte", "(jl)i", 
_IL_ClrResourceStream_ResourceReadByte, marshal_ipjl)
+       IL_METHOD("ResourceGetAddress", "(jl)*B", 
_IL_ClrResourceStream_ResourceGetAddress, marshal_ppjl)
+IL_METHOD_END
 
 #endif
 
-#if !defined(HAVE_LIBFFI)
+#ifndef _IL_FieldInfo_suppressed
 
-static void marshal_vppip(void (*fn)(), void *rvalue, void **avalue)
-{
-       (*(void (*)(void *, void *, ILInt32, void *))fn)(*((void * 
*)(avalue[0])), *((void * *)(avalue[1])), *((ILInt32 *)(avalue[2])), *((void * 
*)(avalue[3])));
-}
+IL_METHOD_BEGIN(FieldInfo_Methods)
+       IL_METHOD("GetFieldFromHandle", 
"(vSystem.RuntimeFieldHandle;)oSystem.Reflection.FieldInfo;", 
_IL_FieldInfo_GetFieldFromHandle, marshal_ppp)
+IL_METHOD_END
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_ipppii(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_ppppiipipp(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeInt *)rvalue) = (*(ILInt32 (*)(void *, void *, void *, 
ILInt32, ILInt32))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), 
*((void * *)(avalue[2])), *((ILInt32 *)(avalue[3])), *((ILInt32 *)(avalue[4])));
+       *((void * *)rvalue) = (*(void * (*)(void *, void *, void *, ILInt32, 
ILInt32, void *, ILInt32, void *, void *))fn)(*((void * *)(avalue[0])), *((void 
* *)(avalue[1])), *((void * *)(avalue[2])), *((ILInt32 *)(avalue[3])), 
*((ILInt32 *)(avalue[4])), *((void * *)(avalue[5])), *((ILInt32 *)(avalue[6])), 
*((void * *)(avalue[7])), *((void * *)(avalue[8])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_ippiiip(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_pppiipp(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeInt *)rvalue) = (*(ILInt32 (*)(void *, void *, ILInt32, 
ILInt32, ILInt32, void *))fn)(*((void * *)(avalue[0])), *((void * 
*)(avalue[1])), *((ILInt32 *)(avalue[2])), *((ILInt32 *)(avalue[3])), 
*((ILInt32 *)(avalue[4])), *((void * *)(avalue[5])));
+       *((void * *)rvalue) = (*(void * (*)(void *, void *, ILInt32, ILInt32, 
void *, void *))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), 
*((ILInt32 *)(avalue[2])), *((ILInt32 *)(avalue[3])), *((void * *)(avalue[4])), 
*((void * *)(avalue[5])));
 }
 
 #endif
 
-#if !defined(HAVE_LIBFFI)
-
-static void marshal_vppiiS(void (*fn)(), void *rvalue, void **avalue)
-{
-       (*(void (*)(void *, void *, ILInt32, ILInt32, ILUInt16))fn)(*((void * 
*)(avalue[0])), *((void * *)(avalue[1])), *((ILInt32 *)(avalue[2])), *((ILInt32 
*)(avalue[3])), *((ILUInt16 *)(avalue[4])));
-}
-
-#endif
+#ifndef _IL_ClrType_suppressed
 
-#if !defined(HAVE_LIBFFI)
-
-static void marshal_pppSS(void (*fn)(), void *rvalue, void **avalue)
-{
-       *((void * *)rvalue) = (*(void * (*)(void *, void *, ILUInt16, 
ILUInt16))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((ILUInt16 
*)(avalue[2])), *((ILUInt16 *)(avalue[3])));
-}
+IL_METHOD_BEGIN(ClrType_Methods)
+       IL_METHOD("GetClrArrayRank", "(T)i", _IL_ClrType_GetClrArrayRank, 
marshal_ipp)
+       IL_METHOD("GetAttributeFlagsImpl", 
"(T)vSystem.Reflection.TypeAttributes;", _IL_ClrType_GetAttributeFlagsImpl, 
marshal_ipp)
+       IL_METHOD("GetClrTypeCategory", 
"(T)vSystem.Reflection.ClrTypeCategory;", _IL_ClrType_GetClrTypeCategory, 
marshal_ipp)
+       IL_METHOD("GetElementType", "(T)oSystem.Type;", 
_IL_ClrType_GetElementType, marshal_ppp)
+       IL_METHOD("GetInterfaces", "(T)[oSystem.Type;", 
_IL_ClrType_GetInterfaces, marshal_ppp)
+       IL_METHOD("IsSubclassOf", "(ToSystem.Type;)Z", 
_IL_ClrType_IsSubclassOf, marshal_bppp)
+       IL_METHOD("GetClrFullName", "(T)oSystem.String;", 
_IL_ClrType_GetClrFullName, marshal_ppp)
+       IL_METHOD("GetClrAssembly", "(T)oSystem.Reflection.Assembly;", 
_IL_ClrType_GetClrAssembly, marshal_ppp)
+       IL_METHOD("GetClrBaseType", "(T)oSystem.Type;", 
_IL_ClrType_GetClrBaseType, marshal_ppp)
+       IL_METHOD("GetInterface", "(ToSystem.String;Z)oSystem.Type;", 
_IL_ClrType_GetInterface, marshal_ppppb)
+       IL_METHOD("GetMemberImpl", 
"(ToSystem.String;vSystem.Reflection.MemberTypes;vSystem.Reflection.BindingFlags;oSystem.Reflection.Binder;vSystem.Reflection.CallingConventions;[oSystem.Type;[vSystem.Reflection.ParameterModifier;)oSystem.Reflection.MemberInfo;",
 _IL_ClrType_GetMemberImpl, marshal_ppppiipipp)
+       IL_METHOD("GetMembersImpl", 
"(TvSystem.Reflection.MemberTypes;vSystem.Reflection.BindingFlags;oSystem.Type;oSystem.String;)oSystem.Object;",
 _IL_ClrType_GetMembersImpl, marshal_pppiipp)
+       IL_METHOD("IsClrNestedType", "(T)Z", _IL_ClrType_IsClrNestedType, 
marshal_bpp)
+       IL_METHOD("GetClrGUID", "(T)vSystem.Guid;", _IL_ClrType_GetClrGUID, 
marshal_vppp)
+       IL_METHOD("GetClrModule", "(T)oSystem.Reflection.Module;", 
_IL_ClrType_GetClrModule, marshal_ppp)
+       IL_METHOD("GetClrNestedDeclaringType", "(T)oSystem.Type;", 
_IL_ClrType_GetClrNestedDeclaringType, marshal_ppp)
+       IL_METHOD("GetClrName", "(T)oSystem.String;", _IL_ClrType_GetClrName, 
marshal_ppp)
+       IL_METHOD("GetClrNamespace", "(T)oSystem.String;", 
_IL_ClrType_GetClrNamespace, marshal_ppp)
+       IL_METHOD("HasGenericArgumentsImpl", "(T)Z", 
_IL_ClrType_HasGenericArgumentsImpl, marshal_bpp)
+       IL_METHOD("HasGenericParametersImpl", "(T)Z", 
_IL_ClrType_HasGenericParametersImpl, marshal_bpp)
+       IL_METHOD("GetGenericArguments", "(T)[oSystem.Type;", 
_IL_ClrType_GetGenericArguments, marshal_ppp)
+       IL_METHOD("BindGenericParameters", "(T[oSystem.Type;)oSystem.Type;", 
_IL_ClrType_BindGenericParameters, marshal_pppp)
+       IL_METHOD("GetGenericTypeDefinition", "(T)oSystem.Type;", 
_IL_ClrType_GetGenericTypeDefinition, marshal_ppp)
+IL_METHOD_END
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_vppiS(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_vppppipp(void (*fn)(), void *rvalue, void **avalue)
 {
-       (*(void (*)(void *, void *, ILInt32, ILUInt16))fn)(*((void * 
*)(avalue[0])), *((void * *)(avalue[1])), *((ILInt32 *)(avalue[2])), 
*((ILUInt16 *)(avalue[3])));
+       (*(void (*)(void *, void *, void *, void *, ILInt32, void *, void 
*))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((void * 
*)(avalue[2])), *((void * *)(avalue[3])), *((ILInt32 *)(avalue[4])), *((void * 
*)(avalue[5])), *((void * *)(avalue[6])));
 }
 
 #endif
 
-#ifndef _IL_String_suppressed
+#if !defined(HAVE_LIBFFI)
 
-IL_METHOD_BEGIN(String_Methods)
-       IL_METHOD("Concat", "(oSystem.String;oSystem.String;)oSystem.String;", 
_IL_String_Concat_StringString, marshal_pppp)
-       IL_CONSTRUCTOR(".ctor", "(T[cii)V", 0, 0, _IL_String_ctor_acii, 
marshal_pppii)
-       IL_CONSTRUCTOR(".ctor", "(Tci)V", 0, 0, _IL_String_ctor_ci, 
marshal_ppSi)
-       IL_CONSTRUCTOR(".ctor", "(T[c)V", 0, 0, _IL_String_ctor_ac, marshal_ppp)
-       IL_METHOD("GetHashCode", "(T)i", _IL_String_GetHashCode, marshal_ipp)
-       IL_METHOD("Equals", "(oSystem.String;oSystem.String;)Z", 
_IL_String_Equals, marshal_bppp)
-       IL_METHOD("GetChar", "(Ti)c", _IL_String_GetChar, marshal_Sppi)
-       IL_METHOD("NewString", "(i)oSystem.String;", _IL_String_NewString, 
marshal_ppi)
-       IL_METHOD("Copy", "(oSystem.String;ioSystem.String;ii)V", 
_IL_String_Copy_StringiStringii, marshal_vppipii)
-       IL_METHOD("InternalOrdinal", "(oSystem.String;iioSystem.String;ii)i", 
_IL_String_InternalOrdinal, marshal_ippiipii)
-       IL_METHOD("IndexOf", "(Tcii)i", _IL_String_IndexOf, marshal_ippSii)
-       IL_METHOD("Trim", "(T[ci)oSystem.String;", _IL_String_Trim, 
marshal_ppppi)
-       IL_CONSTRUCTOR(".ctor", "(T*cii)V", 0, 0, _IL_String_ctor_pcii, 
marshal_pppii)
-       IL_CONSTRUCTOR(".ctor", "(T*c)V", 0, 0, _IL_String_ctor_pc, marshal_ppp)
-       IL_CONSTRUCTOR(".ctor", "(T*biioSystem.Text.Encoding;)V", 0, 0, 
_IL_String_ctor_pbiiEncoding, marshal_pppiip)
-       IL_CONSTRUCTOR(".ctor", "(T*bii)V", 0, 0, _IL_String_ctor_pbii, 
marshal_pppii)
-       IL_CONSTRUCTOR(".ctor", "(T*b)V", 0, 0, _IL_String_ctor_pb, marshal_ppp)
-       IL_METHOD("Compare", "(oSystem.String;oSystem.String;)i", 
_IL_String_Compare, marshal_ippp)
-       IL_METHOD("CompareInternal", "(oSystem.String;iioSystem.String;iiZ)i", 
_IL_String_CompareInternal, marshal_ippiipiib)
-       IL_METHOD("NewBuilder", "(oSystem.String;i)oSystem.String;", 
_IL_String_NewBuilder, marshal_pppi)
-       IL_METHOD("Copy", "(oSystem.String;ioSystem.String;)V", 
_IL_String_Copy_StringiString, marshal_vppip)
-       IL_METHOD("InsertSpace", "(oSystem.String;ii)V", 
_IL_String_InsertSpace, marshal_vppii)
-       IL_METHOD("RemoveSpace", "(oSystem.String;ii)V", 
_IL_String_RemoveSpace, marshal_vppii)
-       IL_METHOD("Concat", 
"(oSystem.String;oSystem.String;oSystem.String;)oSystem.String;", 
_IL_String_Concat_StringStringString, marshal_ppppp)
-       IL_METHOD("CopyToChecked", "(Ti[cii)V", _IL_String_CopyToChecked, 
marshal_vppipii)
-       IL_METHOD("IndexOfAny", "(T[cii)i", _IL_String_IndexOfAny, 
marshal_ipppii)
-       IL_METHOD("FindInRange", "(TiiioSystem.String;)i", 
_IL_String_FindInRange, marshal_ippiiip)
-       IL_METHOD("Intern", "(oSystem.String;)oSystem.String;", 
_IL_String_Intern, marshal_ppp)
-       IL_METHOD("IsInterned", "(oSystem.String;)oSystem.String;", 
_IL_String_IsInterned, marshal_ppp)
-       IL_METHOD("LastIndexOf", "(Tcii)i", _IL_String_LastIndexOf, 
marshal_ippSii)
-       IL_METHOD("LastIndexOfAny", "(T[cii)i", _IL_String_LastIndexOfAny, 
marshal_ipppii)
-       IL_METHOD("CharFill", "(oSystem.String;iic)V", 
_IL_String_CharFill_Stringiic, marshal_vppiiS)
-       IL_METHOD("CharFill", "(oSystem.String;i[cii)V", 
_IL_String_CharFill_Stringiacii, marshal_vppipii)
-       IL_METHOD("Replace", "(Tcc)oSystem.String;", _IL_String_Replace_cc, 
marshal_pppSS)
-       IL_METHOD("Replace", 
"(ToSystem.String;oSystem.String;)oSystem.String;", 
_IL_String_Replace_StringString, marshal_ppppp)
-       IL_METHOD("SetChar", "(Tic)V", _IL_String_SetChar, marshal_vppiS)
-IL_METHOD_END
+static void marshal_pppr(void (*fn)(), void *rvalue, void **avalue)
+{
+       *((void * *)rvalue) = (*(void * (*)(void *, void *, 
ILTypedRef))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), 
*((ILTypedRef *)(avalue[2])));
+}
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_fpp(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_vpprp(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILFloat *)rvalue) = (*(ILFloat (*)(void *, void *))fn)(*((void * 
*)(avalue[0])), *((void * *)(avalue[1])));
+       (*(void (*)(void *, void *, ILTypedRef, void *))fn)(*((void * 
*)(avalue[0])), *((void * *)(avalue[1])), *((ILTypedRef *)(avalue[2])), *((void 
* *)(avalue[3])));
 }
 
 #endif
 
-#if !defined(HAVE_LIBFFI)
+#ifndef _IL_ClrField_suppressed
 
-static void marshal_dpp(void (*fn)(), void *rvalue, void **avalue)
-{
-       *((ILDouble *)rvalue) = (*(ILDouble (*)(void *, void *))fn)(*((void * 
*)(avalue[0])), *((void * *)(avalue[1])));
-}
+IL_METHOD_BEGIN(ClrField_Methods)
+       IL_METHOD("GetFieldType", "(j)oSystem.Type;", 
_IL_ClrField_GetFieldType, marshal_ppj)
+       IL_METHOD("GetValueInternal", "(ToSystem.Object;)oSystem.Object;", 
_IL_ClrField_GetValueInternal, marshal_pppp)
+       IL_METHOD("SetValueInternal", 
"(ToSystem.Object;oSystem.Object;vSystem.Reflection.BindingFlags;oSystem.Reflection.Binder;oSystem.Globalization.CultureInfo;)V",
 _IL_ClrField_SetValueInternal, marshal_vppppipp)
+       IL_METHOD("GetValueDirect", "(Tr)oSystem.Object;", 
_IL_ClrField_GetValueDirect, marshal_pppr)
+       IL_METHOD("SetValueDirect", "(TroSystem.Object;)V", 
_IL_ClrField_SetValueDirect, marshal_vpprp)
+IL_METHOD_END
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_vppf(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_jpjpji(void (*fn)(), void *rvalue, void **avalue)
 {
-       (*(void (*)(void *, void *, ILFloat))fn)(*((void * *)(avalue[0])), 
*((void * *)(avalue[1])), *((ILFloat *)(avalue[2])));
+       *((ILNativeUInt *)rvalue) = (*(ILNativeUInt (*)(void *, ILNativeUInt, 
void *, ILNativeUInt, ILInt32))fn)(*((void * *)(avalue[0])), *((ILNativeUInt 
*)(avalue[1])), *((void * *)(avalue[2])), *((ILNativeUInt *)(avalue[3])), 
*((ILInt32 *)(avalue[4])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_vppd(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_vpjip(void (*fn)(), void *rvalue, void **avalue)
 {
-       (*(void (*)(void *, void *, ILDouble))fn)(*((void * *)(avalue[0])), 
*((void * *)(avalue[1])), *((ILDouble *)(avalue[2])));
+       (*(void (*)(void *, ILNativeUInt, ILInt32, void *))fn)(*((void * 
*)(avalue[0])), *((ILNativeUInt *)(avalue[1])), *((ILInt32 *)(avalue[2])), 
*((void * *)(avalue[3])));
 }
 
 #endif
 
-#ifndef _IL_Decimal_suppressed
+#ifndef _IL_EventBuilder_suppressed
 
-IL_METHOD_BEGIN(Decimal_Methods)
-       IL_METHOD("Round", "(vSystem.Decimal;i)vSystem.Decimal;", 
_IL_Decimal_Round, marshal_vpppi)
-       IL_METHOD("Compare", "(vSystem.Decimal;vSystem.Decimal;)i", 
_IL_Decimal_Compare, marshal_ippp)
-       IL_METHOD("Truncate", "(vSystem.Decimal;)vSystem.Decimal;", 
_IL_Decimal_Truncate, marshal_vppp)
-       IL_METHOD("ToSingle", "(vSystem.Decimal;)f", _IL_Decimal_ToSingle, 
marshal_fpp)
-       IL_METHOD("ToDouble", "(vSystem.Decimal;)d", _IL_Decimal_ToDouble, 
marshal_dpp)
-       IL_CONSTRUCTOR(".ctor", "(Tf)V", _IL_Decimal_ctor_f, marshal_vppf, 0, 0)
-       IL_CONSTRUCTOR(".ctor", "(Td)V", _IL_Decimal_ctor_d, marshal_vppd, 0, 0)
-       IL_METHOD("Add", "(vSystem.Decimal;vSystem.Decimal;)vSystem.Decimal;", 
_IL_Decimal_Add, marshal_vpppp)
-       IL_METHOD("Divide", 
"(vSystem.Decimal;vSystem.Decimal;)vSystem.Decimal;", _IL_Decimal_Divide, 
marshal_vpppp)
-       IL_METHOD("Floor", "(vSystem.Decimal;)vSystem.Decimal;", 
_IL_Decimal_Floor, marshal_vppp)
-       IL_METHOD("Remainder", 
"(vSystem.Decimal;vSystem.Decimal;)vSystem.Decimal;", _IL_Decimal_Remainder, 
marshal_vpppp)
-       IL_METHOD("Multiply", 
"(vSystem.Decimal;vSystem.Decimal;)vSystem.Decimal;", _IL_Decimal_Multiply, 
marshal_vpppp)
-       IL_METHOD("Negate", "(vSystem.Decimal;)vSystem.Decimal;", 
_IL_Decimal_Negate, marshal_vppp)
-       IL_METHOD("Subtract", 
"(vSystem.Decimal;vSystem.Decimal;)vSystem.Decimal;", _IL_Decimal_Subtract, 
marshal_vpppp)
+IL_METHOD_BEGIN(EventBuilder_Methods)
+       IL_METHOD("ClrEventCreate", 
"(joSystem.String;jvSystem.Reflection.EventAttributes;)j", 
_IL_EventBuilder_ClrEventCreate, marshal_jpjpji)
+       IL_METHOD("ClrEventAddSemantics", 
"(jvSystem.Reflection.MethodSemanticsAttributes;vSystem.Reflection.Emit.MethodToken;)V",
 _IL_EventBuilder_ClrEventAddSemantics, marshal_vpjip)
 IL_METHOD_END
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_Bppi(void (*fn)(), void *rvalue, void **avalue)
-{
-       *((ILNativeUInt *)rvalue) = (*(ILUInt8 (*)(void *, void *, 
ILInt32))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((ILInt32 
*)(avalue[2])));
-}
-
-#endif
-
-#if !defined(HAVE_LIBFFI)
-
-static void marshal_vppiB(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_jpjiip(void (*fn)(), void *rvalue, void **avalue)
 {
-       (*(void (*)(void *, void *, ILInt32, ILUInt8))fn)(*((void * 
*)(avalue[0])), *((void * *)(avalue[1])), *((ILInt32 *)(avalue[2])), *((ILUInt8 
*)(avalue[3])));
+       *((ILNativeUInt *)rvalue) = (*(ILNativeUInt (*)(void *, ILNativeUInt, 
ILInt32, ILInt32, void *))fn)(*((void * *)(avalue[0])), *((ILNativeUInt 
*)(avalue[1])), *((ILInt32 *)(avalue[2])), *((ILInt32 *)(avalue[3])), *((void * 
*)(avalue[4])));
 }
 
 #endif
 
-#ifndef _IL_Buffer_suppressed
-
-IL_METHOD_BEGIN(Buffer_Methods)
-       IL_METHOD("GetLength", "(oSystem.Array;)i", _IL_Buffer_GetLength, 
marshal_ipp)
-       IL_METHOD("Copy", "(oSystem.Array;ioSystem.Array;ii)V", 
_IL_Buffer_Copy, marshal_vppipii)
-       IL_METHOD("GetElement", "(oSystem.Array;i)B", _IL_Buffer_GetElement, 
marshal_Bppi)
-       IL_METHOD("SetElement", "(oSystem.Array;iB)V", _IL_Buffer_SetElement, 
marshal_vppiB)
-IL_METHOD_END
-
-#endif
-
-#ifndef _IL_AppDomainSetup_suppressed
+#ifndef _IL_ParameterBuilder_suppressed
 
-IL_METHOD_BEGIN(AppDomainSetup_Methods)
-       IL_METHOD("GetPrivateBinPaths", "(oSystem.Object;&[oSystem.String;)V", 
_IL_AppDomainSetup_GetPrivateBinPaths, marshal_vppp)
-       IL_METHOD("SetPrivateBinPaths", "(oSystem.Object;[oSystem.String;)V", 
_IL_AppDomainSetup_SetPrivateBinPaths, marshal_vppp)
+IL_METHOD_BEGIN(ParameterBuilder_Methods)
+       IL_METHOD("ClrParameterCreate", 
"(jivSystem.Reflection.ParameterAttributes;oSystem.String;)j", 
_IL_ParameterBuilder_ClrParameterCreate, marshal_jpjiip)
+       IL_METHOD("ClrParameterGetPosition", "(j)i", 
_IL_ParameterBuilder_ClrParameterGetPosition, marshal_ipj)
+       IL_METHOD("ClrParameterGetAttrs", "(j)i", 
_IL_ParameterBuilder_ClrParameterGetAttrs, marshal_ipj)
+       IL_METHOD("ClrParameterGetName", "(j)oSystem.String;", 
_IL_ParameterBuilder_ClrParameterGetName, marshal_ppj)
 IL_METHOD_END
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_ppr(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_jpjpij(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((void * *)rvalue) = (*(void * (*)(void *, ILTypedRef))fn)(*((void * 
*)(avalue[0])), *((ILTypedRef *)(avalue[1])));
+       *((ILNativeUInt *)rvalue) = (*(ILNativeUInt (*)(void *, ILNativeUInt, 
void *, ILInt32, ILNativeUInt))fn)(*((void * *)(avalue[0])), *((ILNativeUInt 
*)(avalue[1])), *((void * *)(avalue[2])), *((ILInt32 *)(avalue[3])), 
*((ILNativeUInt *)(avalue[4])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_bprp(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_vpji(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeInt *)rvalue) = (*(ILInt8 (*)(void *, ILTypedRef, void 
*))fn)(*((void * *)(avalue[0])), *((ILTypedRef *)(avalue[1])), *((void * 
*)(avalue[2])));
+       (*(void (*)(void *, ILNativeUInt, ILInt32))fn)(*((void * 
*)(avalue[0])), *((ILNativeUInt *)(avalue[1])), *((ILInt32 *)(avalue[2])));
 }
 
 #endif
 
-#ifndef _IL_TypedReference_suppressed
-
-IL_METHOD_BEGIN(TypedReference_Methods)
-       IL_METHOD("ToObject", "(r)oSystem.Object;", 
_IL_TypedReference_ToObject, marshal_ppr)
-       IL_METHOD("ClrMakeTypedReference", 
"(oSystem.Object;[oSystem.Reflection.FieldInfo;)r", 
_IL_TypedReference_ClrMakeTypedReference, marshal_rppp)
-       IL_METHOD("ClrSetTypedReference", "(roSystem.Object;)Z", 
_IL_TypedReference_ClrSetTypedReference, marshal_bprp)
-IL_METHOD_END
-
-#endif
-
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_jpp(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_ipjij(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeUInt *)rvalue) = (*(ILNativeUInt (*)(void *, void 
*))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])));
+       *((ILNativeInt *)rvalue) = (*(ILInt32 (*)(void *, ILNativeUInt, 
ILInt32, ILNativeUInt))fn)(*((void * *)(avalue[0])), *((ILNativeUInt 
*)(avalue[1])), *((ILInt32 *)(avalue[2])), *((ILNativeUInt *)(avalue[3])));
 }
 
 #endif
 
-#ifndef _IL_RuntimeMethodHandle_suppressed
+#if !defined(HAVE_LIBFFI)
 
-IL_METHOD_BEGIN(RuntimeMethodHandle_Methods)
-       IL_METHOD("GetFunctionPointer", "(T)j", 
_IL_RuntimeMethodHandle_GetFunctionPointer, marshal_jpp)
-IL_METHOD_END
+static void marshal_vpjipp(void (*fn)(), void *rvalue, void **avalue)
+{
+       (*(void (*)(void *, ILNativeUInt, ILInt32, void *, void *))fn)(*((void 
* *)(avalue[0])), *((ILNativeUInt *)(avalue[1])), *((ILInt32 *)(avalue[2])), 
*((void * *)(avalue[3])), *((void * *)(avalue[4])));
+}
 
 #endif
 
-#ifndef _IL_Activator_suppressed
+#ifndef _IL_MethodBuilder_suppressed
 
-IL_METHOD_BEGIN(Activator_Methods)
-       IL_METHOD("CreateValueTypeInstance", "(oSystem.Type;)oSystem.Object;", 
_IL_Activator_CreateValueTypeInstance, marshal_ppp)
+IL_METHOD_BEGIN(MethodBuilder_Methods)
+       IL_METHOD("ClrMethodCreate", 
"(joSystem.String;vSystem.Reflection.MethodAttributes;j)j", 
_IL_MethodBuilder_ClrMethodCreate, marshal_jpjpij)
+       IL_METHOD("ClrMethodSetImplAttrs", 
"(jvSystem.Reflection.MethodImplAttributes;)V", 
_IL_MethodBuilder_ClrMethodSetImplAttrs, marshal_vpji)
+       IL_METHOD("ClrMethodSetRVA", "(ji)V", 
_IL_MethodBuilder_ClrMethodSetRVA, marshal_vpji)
+       IL_METHOD("ClrMethodCreateVarArgRef", "(jij)i", 
_IL_MethodBuilder_ClrMethodCreateVarArgRef, marshal_ipjij)
+       IL_METHOD("ClrMethodAddPInvoke", "(jioSystem.String;oSystem.String;)V", 
_IL_MethodBuilder_ClrMethodAddPInvoke, marshal_vpjipp)
 IL_METHOD_END
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_pppbb(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_jpjij(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((void * *)rvalue) = (*(void * (*)(void *, void *, ILInt8, 
ILInt8))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((ILInt8 
*)(avalue[2])), *((ILInt8 *)(avalue[3])));
+       *((ILNativeUInt *)rvalue) = (*(ILNativeUInt (*)(void *, ILNativeUInt, 
ILInt32, ILNativeUInt))fn)(*((void * *)(avalue[0])), *((ILNativeUInt 
*)(avalue[1])), *((ILInt32 *)(avalue[2])), *((ILNativeUInt *)(avalue[3])));
 }
 
 #endif
 
-#ifndef _IL_Type_suppressed
+#if !defined(HAVE_LIBFFI)
 
-IL_METHOD_BEGIN(Type_Methods)
-       IL_METHOD("GetTypeFromHandle", 
"(vSystem.RuntimeTypeHandle;)oSystem.Type;", _IL_Type_GetTypeFromHandle, 
marshal_ppp)
-       IL_METHOD("GetType", "(oSystem.String;ZZ)oSystem.Type;", 
_IL_Type_GetType, marshal_pppbb)
-       IL_METHOD("GetTypeHandle", 
"(oSystem.Object;)vSystem.RuntimeTypeHandle;", _IL_Type_GetTypeHandle, 
marshal_vppp)
-IL_METHOD_END
+static void marshal_jpjp(void (*fn)(), void *rvalue, void **avalue)
+{
+       *((ILNativeUInt *)rvalue) = (*(ILNativeUInt (*)(void *, ILNativeUInt, 
void *))fn)(*((void * *)(avalue[0])), *((ILNativeUInt *)(avalue[1])), *((void * 
*)(avalue[2])));
+}
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_bppib(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_jpjj(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeInt *)rvalue) = (*(ILInt8 (*)(void *, void *, ILInt32, 
ILInt8))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((ILInt32 
*)(avalue[2])), *((ILInt8 *)(avalue[3])));
+       *((ILNativeUInt *)rvalue) = (*(ILNativeUInt (*)(void *, ILNativeUInt, 
ILNativeUInt))fn)(*((void * *)(avalue[0])), *((ILNativeUInt *)(avalue[1])), 
*((ILNativeUInt *)(avalue[2])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_ippib(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_bpjjj(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeInt *)rvalue) = (*(ILInt32 (*)(void *, void *, ILInt32, 
ILInt8))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((ILInt32 
*)(avalue[2])), *((ILInt8 *)(avalue[3])));
+       *((ILNativeInt *)rvalue) = (*(ILInt8 (*)(void *, ILNativeUInt, 
ILNativeUInt, ILNativeUInt))fn)(*((void * *)(avalue[0])), *((ILNativeUInt 
*)(avalue[1])), *((ILNativeUInt *)(avalue[2])), *((ILNativeUInt *)(avalue[3])));
 }
 
 #endif
 
-#ifndef _IL_WaitHandle_suppressed
+#if !defined(HAVE_LIBFFI)
 
-IL_METHOD_BEGIN(WaitHandle_Methods)
-       IL_METHOD("InternalClose", "(j)V", _IL_WaitHandle_InternalClose, 
marshal_vpj)
-       IL_METHOD("InternalWaitAll", "([jiZ)Z", _IL_WaitHandle_InternalWaitAll, 
marshal_bppib)
-       IL_METHOD("InternalWaitAny", "([jiZ)i", _IL_WaitHandle_InternalWaitAny, 
marshal_ippib)
-       IL_METHOD("InternalWaitOne", "(ji)Z", _IL_WaitHandle_InternalWaitOne, 
marshal_bpji)
-IL_METHOD_END
+static void marshal_jpjji(void (*fn)(), void *rvalue, void **avalue)
+{
+       *((ILNativeUInt *)rvalue) = (*(ILNativeUInt (*)(void *, ILNativeUInt, 
ILNativeUInt, ILInt32))fn)(*((void * *)(avalue[0])), *((ILNativeUInt 
*)(avalue[1])), *((ILNativeUInt *)(avalue[2])), *((ILInt32 *)(avalue[3])));
+}
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_jpbpp(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_bpjj(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeUInt *)rvalue) = (*(ILNativeUInt (*)(void *, ILInt8, void *, 
void *))fn)(*((void * *)(avalue[0])), *((ILInt8 *)(avalue[1])), *((void * 
*)(avalue[2])), *((void * *)(avalue[3])));
+       *((ILNativeInt *)rvalue) = (*(ILInt8 (*)(void *, ILNativeUInt, 
ILNativeUInt))fn)(*((void * *)(avalue[0])), *((ILNativeUInt *)(avalue[1])), 
*((ILNativeUInt *)(avalue[2])));
 }
 
 #endif
 
-#ifndef _IL_Mutex_suppressed
+#if !defined(HAVE_LIBFFI)
 
-IL_METHOD_BEGIN(Mutex_Methods)
-       IL_METHOD("InternalCreateMutex", "(ZoSystem.String;&Z)j", 
_IL_Mutex_InternalCreateMutex, marshal_jpbpp)
-       IL_METHOD("InternalReleaseMutex", "(j)V", 
_IL_Mutex_InternalReleaseMutex, marshal_vpj)
-IL_METHOD_END
+static void marshal_lpjjb(void (*fn)(), void *rvalue, void **avalue)
+{
+       *((ILInt64 *)rvalue) = (*(ILInt64 (*)(void *, ILNativeUInt, 
ILNativeUInt, ILInt8))fn)(*((void * *)(avalue[0])), *((ILNativeUInt 
*)(avalue[1])), *((ILNativeUInt *)(avalue[2])), *((ILInt8 *)(avalue[3])));
+}
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_jpbb(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_ipjj(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeUInt *)rvalue) = (*(ILNativeUInt (*)(void *, ILInt8, 
ILInt8))fn)(*((void * *)(avalue[0])), *((ILInt8 *)(avalue[1])), *((ILInt8 
*)(avalue[2])));
+       *((ILNativeInt *)rvalue) = (*(ILInt32 (*)(void *, ILNativeUInt, 
ILNativeUInt))fn)(*((void * *)(avalue[0])), *((ILNativeUInt *)(avalue[1])), 
*((ILNativeUInt *)(avalue[2])));
 }
 
 #endif
 
-#ifndef _IL_WaitEvent_suppressed
+#ifndef _IL_SignatureHelper_suppressed
 
-IL_METHOD_BEGIN(WaitEvent_Methods)
-       IL_METHOD("InternalCreateEvent", "(ZZ)j", 
_IL_WaitEvent_InternalCreateEvent, marshal_jpbb)
-       IL_METHOD("InternalSetEvent", "(j)Z", _IL_WaitEvent_InternalSetEvent, 
marshal_bpj)
-       IL_METHOD("InternalResetEvent", "(j)Z", 
_IL_WaitEvent_InternalResetEvent, marshal_bpj)
+IL_METHOD_BEGIN(SignatureHelper_Methods)
+       IL_METHOD("ClrSigCreateMethod", "(jij)j", 
_IL_SignatureHelper_ClrSigCreateMethod, marshal_jpjij)
+       IL_METHOD("ClrSigModuleToContext", "(j)j", 
_IL_SignatureHelper_ClrSigModuleToContext, marshal_jpj)
+       IL_METHOD("ClrSigCreatePrimitive", "(joSystem.Type;)j", 
_IL_SignatureHelper_ClrSigCreatePrimitive, marshal_jpjp)
+       IL_METHOD("ClrSigCreateArray", "(jij)j", 
_IL_SignatureHelper_ClrSigCreateArray, marshal_jpjij)
+       IL_METHOD("ClrSigCreatePointer", "(jj)j", 
_IL_SignatureHelper_ClrSigCreatePointer, marshal_jpjj)
+       IL_METHOD("ClrSigCreateByRef", "(jj)j", 
_IL_SignatureHelper_ClrSigCreateByRef, marshal_jpjj)
+       IL_METHOD("ClrSigCreateValueType", "(ji)j", 
_IL_SignatureHelper_ClrSigCreateValueType, marshal_jpji)
+       IL_METHOD("ClrSigCreateClass", "(ji)j", 
_IL_SignatureHelper_ClrSigCreateClass, marshal_jpji)
+       IL_METHOD("ClrSigCreateLocal", "(j)j", 
_IL_SignatureHelper_ClrSigCreateLocal, marshal_jpj)
+       IL_METHOD("ClrSigAddArgument", "(jjj)Z", 
_IL_SignatureHelper_ClrSigAddArgument, marshal_bpjjj)
+       IL_METHOD("ClrSigCreateMethodCopy", "(jji)j", 
_IL_SignatureHelper_ClrSigCreateMethodCopy, marshal_jpjji)
+       IL_METHOD("ClrSigCreateProperty", "(jj)j", 
_IL_SignatureHelper_ClrSigCreateProperty, marshal_jpjj)
+       IL_METHOD("ClrSigAddSentinel", "(jj)Z", 
_IL_SignatureHelper_ClrSigAddSentinel, marshal_bpjj)
+       IL_METHOD("ClrSigIdentical", "(jj)Z", 
_IL_SignatureHelper_ClrSigIdentical, marshal_bpjj)
+       IL_METHOD("ClrSigGetHashCode", "(j)i", 
_IL_SignatureHelper_ClrSigGetHashCode, marshal_ipj)
+       IL_METHOD("ClrSigFinalize", "(jjZ)l", 
_IL_SignatureHelper_ClrSigFinalize, marshal_lpjjb)
+       IL_METHOD("ClrSigGetBytes", "(jl)[B", 
_IL_SignatureHelper_ClrSigGetBytes, marshal_ppjl)
+       IL_METHOD("ClrStandAloneToken", "(jj)i", 
_IL_SignatureHelper_ClrStandAloneToken, marshal_ipjj)
 IL_METHOD_END
 
 #endif
 
-#ifndef _IL_Monitor_suppressed
+#if !defined(HAVE_LIBFFI)
 
-IL_METHOD_BEGIN(Monitor_Methods)
-       IL_METHOD("Enter", "(oSystem.Object;)V", _IL_Monitor_Enter, marshal_vpp)
-       IL_METHOD("Exit", "(oSystem.Object;)V", _IL_Monitor_Exit, marshal_vpp)
-       IL_METHOD("Pulse", "(oSystem.Object;)V", _IL_Monitor_Pulse, marshal_vpp)
-       IL_METHOD("InternalWait", "(oSystem.Object;i)Z", 
_IL_Monitor_InternalWait, marshal_bppi)
-       IL_METHOD("InternalTryEnter", "(oSystem.Object;i)Z", 
_IL_Monitor_InternalTryEnter, marshal_bppi)
-       IL_METHOD("PulseAll", "(oSystem.Object;)V", _IL_Monitor_PulseAll, 
marshal_vpp)
+static void marshal_vpjp(void (*fn)(), void *rvalue, void **avalue)
+{
+       (*(void (*)(void *, ILNativeUInt, void *))fn)(*((void * *)(avalue[0])), 
*((ILNativeUInt *)(avalue[1])), *((void * *)(avalue[2])));
+}
+
+#endif
+
+#ifndef _IL_FieldBuilder_suppressed
+
+IL_METHOD_BEGIN(FieldBuilder_Methods)
+       IL_METHOD("ClrFieldSetConstant", "(joSystem.Object;)V", 
_IL_FieldBuilder_ClrFieldSetConstant, marshal_vpjp)
+       IL_METHOD("ClrFieldSetMarshal", "(j[B)V", 
_IL_FieldBuilder_ClrFieldSetMarshal, marshal_vpjp)
+       IL_METHOD("ClrFieldCreate", 
"(joSystem.String;jvSystem.Reflection.FieldAttributes;)j", 
_IL_FieldBuilder_ClrFieldCreate, marshal_jpjpji)
+       IL_METHOD("ClrFieldSetOffset", "(ji)V", 
_IL_FieldBuilder_ClrFieldSetOffset, marshal_vpji)
+       IL_METHOD("ClrFieldSetRVA", "(ji)V", _IL_FieldBuilder_ClrFieldSetRVA, 
marshal_vpji)
+IL_METHOD_END
+
+#endif
+
+#ifndef _IL_PropertyBuilder_suppressed
+
+IL_METHOD_BEGIN(PropertyBuilder_Methods)
+       IL_METHOD("ClrPropertyCreate", 
"(joSystem.String;vSystem.Reflection.PropertyAttributes;j)j", 
_IL_PropertyBuilder_ClrPropertyCreate, marshal_jpjpij)
+       IL_METHOD("ClrPropertyAddSemantics", 
"(jvSystem.Reflection.MethodSemanticsAttributes;vSystem.Reflection.Emit.MethodToken;)V",
 _IL_PropertyBuilder_ClrPropertyAddSemantics, marshal_vpjip)
 IL_METHOD_END
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_ippii(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_ipjp(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeInt *)rvalue) = (*(ILInt32 (*)(void *, void *, ILInt32, 
ILInt32))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((ILInt32 
*)(avalue[2])), *((ILInt32 *)(avalue[3])));
+       *((ILNativeInt *)rvalue) = (*(ILInt32 (*)(void *, ILNativeUInt, void 
*))fn)(*((void * *)(avalue[0])), *((ILNativeUInt *)(avalue[1])), *((void * 
*)(avalue[2])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_fppff(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_ipji(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILFloat *)rvalue) = (*(ILFloat (*)(void *, void *, ILFloat, 
ILFloat))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((ILFloat 
*)(avalue[2])), *((ILFloat *)(avalue[3])));
+       *((ILNativeInt *)rvalue) = (*(ILInt32 (*)(void *, ILNativeUInt, 
ILInt32))fn)(*((void * *)(avalue[0])), *((ILNativeUInt *)(avalue[1])), 
*((ILInt32 *)(avalue[2])));
 }
 
 #endif
 
+#ifndef _IL_ModuleBuilder_suppressed
+
+IL_METHOD_BEGIN(ModuleBuilder_Methods)
+       IL_METHOD("ClrModuleWriteData", "(j[B)i", 
_IL_ModuleBuilder_ClrModuleWriteData, marshal_ipjp)
+       IL_METHOD("ClrModuleWriteGap", "(ji)i", 
_IL_ModuleBuilder_ClrModuleWriteGap, marshal_ipji)
+       IL_METHOD("ClrModuleCreateString", "(joSystem.String;)i", 
_IL_ModuleBuilder_ClrModuleCreateString, marshal_ipjp)
+       IL_METHOD("ClrModuleCreate", "(joSystem.String;)j", 
_IL_ModuleBuilder_ClrModuleCreate, marshal_jpjp)
+IL_METHOD_END
+
+#endif
+
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_lpp(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_jpjjppip(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILInt64 *)rvalue) = (*(ILInt64 (*)(void *, void *))fn)(*((void * 
*)(avalue[0])), *((void * *)(avalue[1])));
+       *((ILNativeUInt *)rvalue) = (*(ILNativeUInt (*)(void *, ILNativeUInt, 
ILNativeUInt, void *, void *, ILInt32, void *))fn)(*((void * *)(avalue[0])), 
*((ILNativeUInt *)(avalue[1])), *((ILNativeUInt *)(avalue[2])), *((void * 
*)(avalue[3])), *((void * *)(avalue[4])), *((ILInt32 *)(avalue[5])), *((void * 
*)(avalue[6])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_fppf(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_vpjii(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILFloat *)rvalue) = (*(ILFloat (*)(void *, void *, 
ILFloat))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((ILFloat 
*)(avalue[2])));
+       (*(void (*)(void *, ILNativeUInt, ILInt32, ILInt32))fn)(*((void * 
*)(avalue[0])), *((ILNativeUInt *)(avalue[1])), *((ILInt32 *)(avalue[2])), 
*((ILInt32 *)(avalue[3])));
 }
 
 #endif
 
-#ifndef _IL_Interlocked_suppressed
+#ifndef _IL_TypeBuilder_suppressed
 
-IL_METHOD_BEGIN(Interlocked_Methods)
-       IL_METHOD("CompareExchange", "(&iii)i", 
_IL_Interlocked_CompareExchange_Riii, marshal_ippii)
-       IL_METHOD("CompareExchange", "(&fff)f", 
_IL_Interlocked_CompareExchange_Rfff, marshal_fppff)
-       IL_METHOD("CompareExchange", 
"(&oSystem.Object;oSystem.Object;oSystem.Object;)oSystem.Object;", 
_IL_Interlocked_CompareExchange_RObjectObjectObject, marshal_ppppp)
-       IL_METHOD("Decrement", "(&i)i", _IL_Interlocked_Decrement_Ri, 
marshal_ipp)
-       IL_METHOD("Decrement", "(&l)l", _IL_Interlocked_Decrement_Rl, 
marshal_lpp)
-       IL_METHOD("Exchange", "(&ii)i", _IL_Interlocked_Exchange_Rii, 
marshal_ippi)
-       IL_METHOD("Exchange", "(&ff)f", _IL_Interlocked_Exchange_Rff, 
marshal_fppf)
-       IL_METHOD("Exchange", 
"(&oSystem.Object;oSystem.Object;)oSystem.Object;", 
_IL_Interlocked_Exchange_RObjectObject, marshal_pppp)
-       IL_METHOD("Increment", "(&i)i", _IL_Interlocked_Increment_Ri, 
marshal_ipp)
-       IL_METHOD("Increment", "(&l)l", _IL_Interlocked_Increment_Rl, 
marshal_lpp)
+IL_METHOD_BEGIN(TypeBuilder_Methods)
+       IL_METHOD("ClrTypeImportMember", "(jj)i", 
_IL_TypeBuilder_ClrTypeImportMember, marshal_ipjj)
+       IL_METHOD("ClrTypeImport", "(jj)i", _IL_TypeBuilder_ClrTypeImport, 
marshal_ipjj)
+       IL_METHOD("ClrTypeCreate", 
"(jjoSystem.String;oSystem.String;vSystem.Reflection.TypeAttributes;vSystem.Reflection.Emit.TypeToken;)j",
 _IL_TypeBuilder_ClrTypeCreate, marshal_jpjjppip)
+       IL_METHOD("ClrTypeSetPackingSize", "(ji)V", 
_IL_TypeBuilder_ClrTypeSetPackingSize, marshal_vpji)
+       IL_METHOD("ClrTypeSetClassSize", "(ji)V", 
_IL_TypeBuilder_ClrTypeSetClassSize, marshal_vpji)
+       IL_METHOD("ClrTypeAddInterface", 
"(jvSystem.Reflection.Emit.TypeToken;)V", _IL_TypeBuilder_ClrTypeAddInterface, 
marshal_vpjp)
+       IL_METHOD("ClrTypeGetPackingSize", "(j)i", 
_IL_TypeBuilder_ClrTypeGetPackingSize, marshal_ipj)
+       IL_METHOD("ClrTypeGetClassSize", "(j)i", 
_IL_TypeBuilder_ClrTypeGetClassSize, marshal_ipj)
+       IL_METHOD("ClrTypeAddOverride", "(jii)V", 
_IL_TypeBuilder_ClrTypeAddOverride, marshal_vpjii)
+       IL_METHOD("ClrTypeSetParent", "(jvSystem.Reflection.Emit.TypeToken;)V", 
_IL_TypeBuilder_ClrTypeSetParent, marshal_vpjp)
 IL_METHOD_END
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_Bpp(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_jppiiiiip(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeUInt *)rvalue) = (*(ILUInt8 (*)(void *, void *))fn)(*((void 
* *)(avalue[0])), *((void * *)(avalue[1])));
+       *((ILNativeUInt *)rvalue) = (*(ILNativeUInt (*)(void *, void *, 
ILInt32, ILInt32, ILInt32, ILInt32, ILInt32, void *))fn)(*((void * 
*)(avalue[0])), *((void * *)(avalue[1])), *((ILInt32 *)(avalue[2])), *((ILInt32 
*)(avalue[3])), *((ILInt32 *)(avalue[4])), *((ILInt32 *)(avalue[5])), 
*((ILInt32 *)(avalue[6])), *((void * *)(avalue[7])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_spp(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_jpjjp(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeInt *)rvalue) = (*(ILInt16 (*)(void *, void *))fn)(*((void * 
*)(avalue[0])), *((void * *)(avalue[1])));
+       *((ILNativeUInt *)rvalue) = (*(ILNativeUInt (*)(void *, ILNativeUInt, 
ILNativeUInt, void *))fn)(*((void * *)(avalue[0])), *((ILNativeUInt 
*)(avalue[1])), *((ILNativeUInt *)(avalue[2])), *((void * *)(avalue[3])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_Spp(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_vpjj(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeUInt *)rvalue) = (*(ILUInt16 (*)(void *, void *))fn)(*((void 
* *)(avalue[0])), *((void * *)(avalue[1])));
+       (*(void (*)(void *, ILNativeUInt, ILNativeUInt))fn)(*((void * 
*)(avalue[0])), *((ILNativeUInt *)(avalue[1])), *((ILNativeUInt *)(avalue[2])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_Ipp(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_ipjjppppppp(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeUInt *)rvalue) = (*(ILUInt32 (*)(void *, void *))fn)(*((void 
* *)(avalue[0])), *((void * *)(avalue[1])));
+       *((ILNativeInt *)rvalue) = (*(ILInt32 (*)(void *, ILNativeUInt, 
ILNativeUInt, void *, void *, void *, void *, void *, void *, void 
*))fn)(*((void * *)(avalue[0])), *((ILNativeUInt *)(avalue[1])), 
*((ILNativeUInt *)(avalue[2])), *((void * *)(avalue[3])), *((void * 
*)(avalue[4])), *((void * *)(avalue[5])), *((void * *)(avalue[6])), *((void * 
*)(avalue[7])), *((void * *)(avalue[8])), *((void * *)(avalue[9])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_Lpp(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_bpjjpji(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILUInt64 *)rvalue) = (*(ILUInt64 (*)(void *, void *))fn)(*((void * 
*)(avalue[0])), *((void * *)(avalue[1])));
+       *((ILNativeInt *)rvalue) = (*(ILInt8 (*)(void *, ILNativeUInt, 
ILNativeUInt, void *, ILNativeUInt, ILInt32))fn)(*((void * *)(avalue[0])), 
*((ILNativeUInt *)(avalue[1])), *((ILNativeUInt *)(avalue[2])), *((void * 
*)(avalue[3])), *((ILNativeUInt *)(avalue[4])), *((ILInt32 *)(avalue[5])));
 }
 
 #endif
 
+#ifndef _IL_AssemblyBuilder_suppressed
+
+IL_METHOD_BEGIN(AssemblyBuilder_Methods)
+       IL_METHOD("ClrGetItemToken", "(j)i", 
_IL_AssemblyBuilder_ClrGetItemToken, marshal_ipj)
+       IL_METHOD("ClrGetItemFromToken", "(ji)j", 
_IL_AssemblyBuilder_ClrGetItemFromToken, marshal_jpji)
+       IL_METHOD("ClrAssemblyCreate", 
"(oSystem.String;iiiivSystem.Reflection.Emit.AssemblyBuilderAccess;&j)j", 
_IL_AssemblyBuilder_ClrAssemblyCreate, marshal_jppiiiiip)
+       IL_METHOD("ClrAttributeCreate", "(jj[B)j", 
_IL_AssemblyBuilder_ClrAttributeCreate, marshal_jpjjp)
+       IL_METHOD("ClrAttributeAddToItem", "(jj)V", 
_IL_AssemblyBuilder_ClrAttributeAddToItem, marshal_vpjj)
+       IL_METHOD("ClrWriteMethod", "(jj[B[B[j[i[[B[j[i)i", 
_IL_AssemblyBuilder_ClrWriteMethod, marshal_ipjjppppppp)
+       IL_METHOD("ClrSave", 
"(jjoSystem.String;jvSystem.Reflection.Emit.PEFileKinds;)Z", 
_IL_AssemblyBuilder_ClrSave, marshal_bpjjpji)
+IL_METHOD_END
+
+#endif
+
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_Jpp(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_vpipp(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeInt *)rvalue) = (*(ILNativeInt (*)(void *, void 
*))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])));
+       (*(void (*)(void *, ILInt32, void *, void *))fn)(*((void * 
*)(avalue[0])), *((ILInt32 *)(avalue[1])), *((void * *)(avalue[2])), *((void * 
*)(avalue[3])));
 }
 
 #endif
 
+#ifndef _IL_Debugger_suppressed
+
+IL_METHOD_BEGIN(Debugger_Methods)
+       IL_METHOD("InternalIsAttached", "()Z", _IL_Debugger_InternalIsAttached, 
marshal_bp)
+       IL_METHOD("Break", "()V", _IL_Debugger_Break, marshal_vp)
+       IL_METHOD("IsLogging", "()Z", _IL_Debugger_IsLogging, marshal_bp)
+       IL_METHOD("InternalLaunch", "()Z", _IL_Debugger_InternalLaunch, 
marshal_bp)
+       IL_METHOD("Log", "(ioSystem.String;oSystem.String;)V", 
_IL_Debugger_Log, marshal_vpipp)
+IL_METHOD_END
+
+#endif
+
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_vppB(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_vppi(void (*fn)(), void *rvalue, void **avalue)
 {
-       (*(void (*)(void *, void *, ILUInt8))fn)(*((void * *)(avalue[0])), 
*((void * *)(avalue[1])), *((ILUInt8 *)(avalue[2])));
+       (*(void (*)(void *, void *, ILInt32))fn)(*((void * *)(avalue[0])), 
*((void * *)(avalue[1])), *((ILInt32 *)(avalue[2])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_vpps(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_ipi(void (*fn)(), void *rvalue, void **avalue)
 {
-       (*(void (*)(void *, void *, ILInt16))fn)(*((void * *)(avalue[0])), 
*((void * *)(avalue[1])), *((ILInt16 *)(avalue[2])));
+       *((ILNativeInt *)rvalue) = (*(ILInt32 (*)(void *, ILInt32))fn)(*((void 
* *)(avalue[0])), *((ILInt32 *)(avalue[1])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_vppS(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_pppipp(void (*fn)(), void *rvalue, void **avalue)
 {
-       (*(void (*)(void *, void *, ILUInt16))fn)(*((void * *)(avalue[0])), 
*((void * *)(avalue[1])), *((ILUInt16 *)(avalue[2])));
+       *((void * *)rvalue) = (*(void * (*)(void *, void *, ILInt32, void *, 
void *))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((ILInt32 
*)(avalue[2])), *((void * *)(avalue[3])), *((void * *)(avalue[4])));
 }
 
 #endif
 
+#ifndef _IL_StackFrame_suppressed
+
+IL_METHOD_BEGIN(StackFrame_Methods)
+       IL_METHOD("GetExceptionStackTrace", 
"()[vSystem.Diagnostics.PackedStackFrame;", 
_IL_StackFrame_GetExceptionStackTrace, marshal_pp)
+       IL_METHOD("InternalGetMethod", "(i)vSystem.RuntimeMethodHandle;", 
_IL_StackFrame_InternalGetMethod, marshal_vppi)
+       IL_METHOD("InternalGetILOffset", "(i)i", 
_IL_StackFrame_InternalGetILOffset, marshal_ipi)
+       IL_METHOD("InternalGetNativeOffset", "(i)i", 
_IL_StackFrame_InternalGetNativeOffset, marshal_ipi)
+       IL_METHOD("InternalGetDebugInfo", 
"(vSystem.RuntimeMethodHandle;i&i&i)oSystem.String;", 
_IL_StackFrame_InternalGetDebugInfo, marshal_pppipp)
+       IL_METHOD("InternalGetTotalFrames", "()i", 
_IL_StackFrame_InternalGetTotalFrames, marshal_ip)
+IL_METHOD_END
+
+#endif
+
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_vppi(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_ippii(void (*fn)(), void *rvalue, void **avalue)
 {
-       (*(void (*)(void *, void *, ILInt32))fn)(*((void * *)(avalue[0])), 
*((void * *)(avalue[1])), *((ILInt32 *)(avalue[2])));
+       *((ILNativeInt *)rvalue) = (*(ILInt32 (*)(void *, void *, ILInt32, 
ILInt32))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((ILInt32 
*)(avalue[2])), *((ILInt32 *)(avalue[3])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_vppI(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_ippiipi(void (*fn)(), void *rvalue, void **avalue)
 {
-       (*(void (*)(void *, void *, ILUInt32))fn)(*((void * *)(avalue[0])), 
*((void * *)(avalue[1])), *((ILUInt32 *)(avalue[2])));
+       *((ILNativeInt *)rvalue) = (*(ILInt32 (*)(void *, void *, ILInt32, 
ILInt32, void *, ILInt32))fn)(*((void * *)(avalue[0])), *((void * 
*)(avalue[1])), *((ILInt32 *)(avalue[2])), *((ILInt32 *)(avalue[3])), *((void * 
*)(avalue[4])), *((ILInt32 *)(avalue[5])));
 }
 
 #endif
 
+#ifndef _IL_DefaultEncoding_suppressed
+
+IL_METHOD_BEGIN(DefaultEncoding_Methods)
+       IL_METHOD("InternalCodePage", "()i", 
_IL_DefaultEncoding_InternalCodePage, marshal_ip)
+       IL_METHOD("InternalGetByteCount", "([cii)i", 
_IL_DefaultEncoding_InternalGetByteCount_acii, marshal_ippii)
+       IL_METHOD("InternalGetByteCount", "(oSystem.String;ii)i", 
_IL_DefaultEncoding_InternalGetByteCount_Stringii, marshal_ippii)
+       IL_METHOD("InternalGetBytes", "([cii[Bi)i", 
_IL_DefaultEncoding_InternalGetBytes_aciiaBi, marshal_ippiipi)
+       IL_METHOD("InternalGetBytes", "(oSystem.String;ii[Bi)i", 
_IL_DefaultEncoding_InternalGetBytes_StringiiaBi, marshal_ippiipi)
+       IL_METHOD("InternalGetCharCount", "([Bii)i", 
_IL_DefaultEncoding_InternalGetCharCount, marshal_ippii)
+       IL_METHOD("InternalGetChars", "([Bii[ci)i", 
_IL_DefaultEncoding_InternalGetChars, marshal_ippiipi)
+       IL_METHOD("InternalGetMaxByteCount", "(i)i", 
_IL_DefaultEncoding_InternalGetMaxByteCount, marshal_ipi)
+       IL_METHOD("InternalGetMaxCharCount", "(i)i", 
_IL_DefaultEncoding_InternalGetMaxCharCount, marshal_ipi)
+       IL_METHOD("InternalGetString", "([Bii)oSystem.String;", 
_IL_DefaultEncoding_InternalGetString, marshal_pppii)
+IL_METHOD_END
+
+#endif
+
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_vppl(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_pppS(void (*fn)(), void *rvalue, void **avalue)
 {
-       (*(void (*)(void *, void *, ILInt64))fn)(*((void * *)(avalue[0])), 
*((void * *)(avalue[1])), *((ILInt64 *)(avalue[2])));
+       *((void * *)rvalue) = (*(void * (*)(void *, void *, 
ILUInt16))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((ILUInt16 
*)(avalue[2])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_vppL(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_ppppii(void (*fn)(), void *rvalue, void **avalue)
 {
-       (*(void (*)(void *, void *, ILUInt64))fn)(*((void * *)(avalue[0])), 
*((void * *)(avalue[1])), *((ILUInt64 *)(avalue[2])));
+       *((void * *)rvalue) = (*(void * (*)(void *, void *, void *, ILInt32, 
ILInt32))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((void * 
*)(avalue[2])), *((ILInt32 *)(avalue[3])), *((ILInt32 *)(avalue[4])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_vppj(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_pppSi(void (*fn)(), void *rvalue, void **avalue)
 {
-       (*(void (*)(void *, void *, ILNativeUInt))fn)(*((void * *)(avalue[0])), 
*((void * *)(avalue[1])), *((ILNativeUInt *)(avalue[2])));
+       *((void * *)rvalue) = (*(void * (*)(void *, void *, ILUInt16, 
ILInt32))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((ILUInt16 
*)(avalue[2])), *((ILInt32 *)(avalue[3])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_vppJ(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_pppip(void (*fn)(), void *rvalue, void **avalue)
 {
-       (*(void (*)(void *, void *, ILNativeInt))fn)(*((void * *)(avalue[0])), 
*((void * *)(avalue[1])), *((ILNativeInt *)(avalue[2])));
+       *((void * *)rvalue) = (*(void * (*)(void *, void *, ILInt32, void 
*))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((ILInt32 
*)(avalue[2])), *((void * *)(avalue[3])));
 }
 
 #endif
 
-#ifndef _IL_Thread_suppressed
+#if !defined(HAVE_LIBFFI)
 
-IL_METHOD_BEGIN(Thread_Methods)
-       IL_METHOD("InternalGetThreadId", "()i", _IL_Thread_InternalGetThreadId, 
marshal_ip)
-       IL_METHOD("CanStartThreads", "()Z", _IL_Thread_CanStartThreads, 
marshal_bp)
-       IL_METHOD("Start", "(T)V", _IL_Thread_Start, marshal_vpp)
-       IL_METHOD("InternalCurrentThread", "()oSystem.Threading.Thread;", 
_IL_Thread_InternalCurrentThread, marshal_pp)
-       IL_METHOD("InitializeThread", "(T)V", _IL_Thread_InitializeThread, 
marshal_vpp)
-       IL_METHOD("InternalSetBackground", "(TZ)V", 
_IL_Thread_InternalSetBackground, marshal_vppb)
-       IL_METHOD("FinalizeThread", "(T)V", _IL_Thread_FinalizeThread, 
marshal_vpp)
-       IL_METHOD("Abort", "(T)V", _IL_Thread_Abort, marshal_vpp)
-       IL_METHOD("InternalJoin", "(Ti)Z", _IL_Thread_InternalJoin, 
marshal_bppi)
-       IL_METHOD("MemoryBarrier", "()V", _IL_Thread_MemoryBarrier, marshal_vp)
-       IL_METHOD("ResetAbort", "()V", _IL_Thread_ResetAbort, marshal_vp)
-       IL_METHOD("InternalSleep", "(i)V", _IL_Thread_InternalSleep, 
marshal_vpi)
-       IL_METHOD("VolatileRead", "(&B)B", _IL_Thread_VolatileRead_RB, 
marshal_Bpp)
-       IL_METHOD("VolatileRead", "(&b)b", _IL_Thread_VolatileRead_Rb, 
marshal_bpp)
-       IL_METHOD("VolatileRead", "(&s)s", _IL_Thread_VolatileRead_Rs, 
marshal_spp)
-       IL_METHOD("VolatileRead", "(&S)S", _IL_Thread_VolatileRead_RS, 
marshal_Spp)
-       IL_METHOD("VolatileRead", "(&i)i", _IL_Thread_VolatileRead_Ri, 
marshal_ipp)
-       IL_METHOD("VolatileRead", "(&I)I", _IL_Thread_VolatileRead_RI, 
marshal_Ipp)
-       IL_METHOD("VolatileRead", "(&l)l", _IL_Thread_VolatileRead_Rl, 
marshal_lpp)
-       IL_METHOD("VolatileRead", "(&L)L", _IL_Thread_VolatileRead_RL, 
marshal_Lpp)
-       IL_METHOD("VolatileRead", "(&j)j", _IL_Thread_VolatileRead_Rj, 
marshal_jpp)
-       IL_METHOD("VolatileRead", "(&J)J", _IL_Thread_VolatileRead_RJ, 
marshal_Jpp)
-       IL_METHOD("VolatileRead", "(&f)f", _IL_Thread_VolatileRead_Rf, 
marshal_fpp)
-       IL_METHOD("VolatileRead", "(&d)d", _IL_Thread_VolatileRead_Rd, 
marshal_dpp)
-       IL_METHOD("VolatileRead", "(&oSystem.Object;)oSystem.Object;", 
_IL_Thread_VolatileRead_RObject, marshal_ppp)
-       IL_METHOD("VolatileWrite", "(&BB)V", _IL_Thread_VolatileWrite_RBB, 
marshal_vppB)
-       IL_METHOD("VolatileWrite", "(&bb)V", _IL_Thread_VolatileWrite_Rbb, 
marshal_vppb)
-       IL_METHOD("VolatileWrite", "(&ss)V", _IL_Thread_VolatileWrite_Rss, 
marshal_vpps)
-       IL_METHOD("VolatileWrite", "(&SS)V", _IL_Thread_VolatileWrite_RSS, 
marshal_vppS)
-       IL_METHOD("VolatileWrite", "(&ii)V", _IL_Thread_VolatileWrite_Rii, 
marshal_vppi)
-       IL_METHOD("VolatileWrite", "(&II)V", _IL_Thread_VolatileWrite_RII, 
marshal_vppI)
-       IL_METHOD("VolatileWrite", "(&ll)V", _IL_Thread_VolatileWrite_Rll, 
marshal_vppl)
-       IL_METHOD("VolatileWrite", "(&LL)V", _IL_Thread_VolatileWrite_RLL, 
marshal_vppL)
-       IL_METHOD("VolatileWrite", "(&jj)V", _IL_Thread_VolatileWrite_Rjj, 
marshal_vppj)
-       IL_METHOD("VolatileWrite", "(&JJ)V", _IL_Thread_VolatileWrite_RJJ, 
marshal_vppJ)
-       IL_METHOD("VolatileWrite", "(&ff)V", _IL_Thread_VolatileWrite_Rff, 
marshal_vppf)
-       IL_METHOD("VolatileWrite", "(&dd)V", _IL_Thread_VolatileWrite_Rdd, 
marshal_vppd)
-       IL_METHOD("VolatileWrite", "(&oSystem.Object;oSystem.Object;)V", 
_IL_Thread_VolatileWrite_RObjectObject, marshal_vppp)
-       IL_METHOD("InternalGetState", "(T)vSystem.Threading.ThreadState;", 
_IL_Thread_InternalGetState, marshal_ipp)
-       IL_METHOD("InternalGetPriority", 
"(T)vSystem.Threading.ThreadPriority;", _IL_Thread_InternalGetPriority, 
marshal_ipp)
-       IL_METHOD("InternalSetPriority", 
"(TvSystem.Threading.ThreadPriority;)V", _IL_Thread_InternalSetPriority, 
marshal_vppi)
-       IL_METHOD("Interrupt", "(T)V", _IL_Thread_Interrupt, marshal_vpp)
-       IL_METHOD("Resume", "(T)V", _IL_Thread_Resume, marshal_vpp)
-       IL_METHOD("SpinWait", "(i)V", _IL_Thread_SpinWait, marshal_vpi)
-       IL_METHOD("Suspend", "(T)V", _IL_Thread_Suspend, marshal_vpp)
-IL_METHOD_END
+static void marshal_pppiS(void (*fn)(), void *rvalue, void **avalue)
+{
+       *((void * *)rvalue) = (*(void * (*)(void *, void *, ILInt32, 
ILUInt16))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((ILInt32 
*)(avalue[2])), *((ILUInt16 *)(avalue[3])));
+}
 
 #endif
 
-#ifndef _IL_CultureInfo_suppressed
+#if !defined(HAVE_LIBFFI)
 
-IL_METHOD_BEGIN(CultureInfo_Methods)
-       IL_METHOD("InternalCultureID", "()i", 
_IL_CultureInfo_InternalCultureID, marshal_ip)
-       IL_METHOD("InternalCultureName", "()oSystem.String;", 
_IL_CultureInfo_InternalCultureName, marshal_pp)
-IL_METHOD_END
+static void marshal_pppipi(void (*fn)(), void *rvalue, void **avalue)
+{
+       *((void * *)rvalue) = (*(void * (*)(void *, void *, ILInt32, void *, 
ILInt32))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((ILInt32 
*)(avalue[2])), *((void * *)(avalue[3])), *((ILInt32 *)(avalue[4])));
+}
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_SppS(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_pppipii(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeUInt *)rvalue) = (*(ILUInt16 (*)(void *, void *, 
ILUInt16))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((ILUInt16 
*)(avalue[2])));
+       *((void * *)rvalue) = (*(void * (*)(void *, void *, ILInt32, void *, 
ILInt32, ILInt32))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), 
*((ILInt32 *)(avalue[2])), *((void * *)(avalue[3])), *((ILInt32 *)(avalue[4])), 
*((ILInt32 *)(avalue[5])));
 }
 
 #endif
 
-#ifndef _IL_TextInfo_suppressed
+#if !defined(HAVE_LIBFFI)
 
-IL_METHOD_BEGIN(TextInfo_Methods)
-       IL_METHOD("ToLower", "(Tc)c", _IL_TextInfo_ToLower_c, marshal_SppS)
-       IL_METHOD("ToUpper", "(Tc)c", _IL_TextInfo_ToUpper_c, marshal_SppS)
-       IL_METHOD("ToLower", "(ToSystem.String;)oSystem.String;", 
_IL_TextInfo_ToLower_String, marshal_pppp)
-       IL_METHOD("ToUpper", "(ToSystem.String;)oSystem.String;", 
_IL_TextInfo_ToUpper_String, marshal_pppp)
-IL_METHOD_END
+static void marshal_pppSSii(void (*fn)(), void *rvalue, void **avalue)
+{
+       *((void * *)rvalue) = (*(void * (*)(void *, void *, ILUInt16, ILUInt16, 
ILInt32, ILInt32))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), 
*((ILUInt16 *)(avalue[2])), *((ILUInt16 *)(avalue[3])), *((ILInt32 
*)(avalue[4])), *((ILInt32 *)(avalue[5])));
+}
 
 #endif
 
-#ifndef _IL_FormatterServices_suppressed
+#ifndef _IL_StringBuilder_suppressed
 
-IL_METHOD_BEGIN(FormatterServices_Methods)
-       IL_METHOD("InternalGetSerializableMembers", 
"(oSystem.Type;)[oSystem.Reflection.MemberInfo;", 
_IL_FormatterServices_InternalGetSerializableMembers, marshal_ppp)
-       IL_METHOD("InternalGetUninitializedObject", 
"(oSystem.Type;)oSystem.Object;", 
_IL_FormatterServices_InternalGetUninitializedObject, marshal_ppp)
+IL_METHOD_BEGIN(StringBuilder_Methods)
+       IL_METHOD("Append", "(Tc)oSystem.Text.StringBuilder;", 
_IL_StringBuilder_Append_c, marshal_pppS)
+       IL_METHOD("Append", "(ToSystem.String;ii)oSystem.Text.StringBuilder;", 
_IL_StringBuilder_Append_Stringii, marshal_ppppii)
+       IL_METHOD("Append", "(Tci)oSystem.Text.StringBuilder;", 
_IL_StringBuilder_Append_ci, marshal_pppSi)
+       IL_METHOD("Append", "(ToSystem.String;)oSystem.Text.StringBuilder;", 
_IL_StringBuilder_Append_String, marshal_pppp)
+       IL_METHOD("Insert", "(TioSystem.String;)oSystem.Text.StringBuilder;", 
_IL_StringBuilder_Insert_iString, marshal_pppip)
+       IL_METHOD("Append", "(T[cii)oSystem.Text.StringBuilder;", 
_IL_StringBuilder_Append_acii, marshal_ppppii)
+       IL_METHOD("Insert", "(Tic)oSystem.Text.StringBuilder;", 
_IL_StringBuilder_Insert_ic, marshal_pppiS)
+       IL_METHOD("Insert", "(TioSystem.String;i)oSystem.Text.StringBuilder;", 
_IL_StringBuilder_Insert_iStringi, marshal_pppipi)
+       IL_METHOD("Append", "(T[c)oSystem.Text.StringBuilder;", 
_IL_StringBuilder_Append_ac, marshal_pppp)
+       IL_METHOD("EnsureCapacity", "(Ti)i", _IL_StringBuilder_EnsureCapacity, 
marshal_ippi)
+       IL_METHOD("Insert", "(Ti[c)oSystem.Text.StringBuilder;", 
_IL_StringBuilder_Insert_iac, marshal_pppip)
+       IL_METHOD("Insert", "(Ti[cii)oSystem.Text.StringBuilder;", 
_IL_StringBuilder_Insert_iacii, marshal_pppipii)
+       IL_METHOD("Replace", "(Tcc)oSystem.Text.StringBuilder;", 
_IL_StringBuilder_Replace_cc, marshal_pppSS)
+       IL_METHOD("Replace", "(Tccii)oSystem.Text.StringBuilder;", 
_IL_StringBuilder_Replace_ccii, marshal_pppSSii)
 IL_METHOD_END
 
 #endif
 
-#ifndef _IL_AsyncResult_suppressed
+#if !defined(HAVE_LIBFFI)
 
-IL_METHOD_BEGIN(AsyncResult_Methods)
-       IL_METHOD("SetOutParams", 
"(oSystem.Delegate;[oSystem.Object;[oSystem.Object;)V", 
_IL_AsyncResult_SetOutParams, marshal_vpppp)
-IL_METHOD_END
+static void marshal_bpji(void (*fn)(), void *rvalue, void **avalue)
+{
+       *((ILNativeInt *)rvalue) = (*(ILInt8 (*)(void *, ILNativeUInt, 
ILInt32))fn)(*((void * *)(avalue[0])), *((ILNativeUInt *)(avalue[1])), 
*((ILInt32 *)(avalue[2])));
+}
 
 #endif
 
-#ifndef _IL_GCHandle_suppressed
+#if !defined(HAVE_LIBFFI)
 
-IL_METHOD_BEGIN(GCHandle_Methods)
-       IL_METHOD("GCFree", "(i)V", _IL_GCHandle_GCFree, marshal_vpi)
-       IL_METHOD("GCGetTarget", "(i)oSystem.Object;", 
_IL_GCHandle_GCGetTarget, marshal_ppi)
-       IL_METHOD("GCSetTarget", "(ioSystem.Object;)V", 
_IL_GCHandle_GCSetTarget, marshal_vpip)
-       IL_METHOD("GCAlloc", 
"(oSystem.Object;vSystem.Runtime.InteropServices.GCHandleType;)i", 
_IL_GCHandle_GCAlloc, marshal_ippi)
-       IL_METHOD("GCAddrOfPinnedObject", "(i)j", 
_IL_GCHandle_GCAddrOfPinnedObject, marshal_jpi)
-       IL_METHOD("GCValidate", "(i)Z", _IL_GCHandle_GCValidate, marshal_bpi)
-IL_METHOD_END
+static void marshal_vpj(void (*fn)(), void *rvalue, void **avalue)
+{
+       (*(void (*)(void *, ILNativeUInt))fn)(*((void * *)(avalue[0])), 
*((ILNativeUInt *)(avalue[1])));
+}
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_jpj(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_bppib(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeUInt *)rvalue) = (*(ILNativeUInt (*)(void *, 
ILNativeUInt))fn)(*((void * *)(avalue[0])), *((ILNativeUInt *)(avalue[1])));
+       *((ILNativeInt *)rvalue) = (*(ILInt8 (*)(void *, void *, ILInt32, 
ILInt8))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((ILInt32 
*)(avalue[2])), *((ILInt8 *)(avalue[3])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_ppji(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_ippib(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((void * *)rvalue) = (*(void * (*)(void *, ILNativeUInt, 
ILInt32))fn)(*((void * *)(avalue[0])), *((ILNativeUInt *)(avalue[1])), 
*((ILInt32 *)(avalue[2])));
+       *((ILNativeInt *)rvalue) = (*(ILInt32 (*)(void *, void *, ILInt32, 
ILInt8))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((ILInt32 
*)(avalue[2])), *((ILInt8 *)(avalue[3])));
 }
 
 #endif
 
+#ifndef _IL_WaitHandle_suppressed
+
+IL_METHOD_BEGIN(WaitHandle_Methods)
+       IL_METHOD("InternalWaitOne", "(ji)Z", _IL_WaitHandle_InternalWaitOne, 
marshal_bpji)
+       IL_METHOD("InternalClose", "(j)V", _IL_WaitHandle_InternalClose, 
marshal_vpj)
+       IL_METHOD("InternalWaitAll", "([jiZ)Z", _IL_WaitHandle_InternalWaitAll, 
marshal_bppib)
+       IL_METHOD("InternalWaitAny", "([jiZ)i", _IL_WaitHandle_InternalWaitAny, 
marshal_ippib)
+IL_METHOD_END
+
+#endif
+
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_vppiji(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_jpbpp(void (*fn)(), void *rvalue, void **avalue)
 {
-       (*(void (*)(void *, void *, ILInt32, ILNativeUInt, ILInt32))fn)(*((void 
* *)(avalue[0])), *((void * *)(avalue[1])), *((ILInt32 *)(avalue[2])), 
*((ILNativeUInt *)(avalue[3])), *((ILInt32 *)(avalue[4])));
+       *((ILNativeUInt *)rvalue) = (*(ILNativeUInt (*)(void *, ILInt8, void *, 
void *))fn)(*((void * *)(avalue[0])), *((ILInt8 *)(avalue[1])), *((void * 
*)(avalue[2])), *((void * *)(avalue[3])));
 }
 
 #endif
 
+#ifndef _IL_Mutex_suppressed
+
+IL_METHOD_BEGIN(Mutex_Methods)
+       IL_METHOD("InternalCreateMutex", "(ZoSystem.String;&Z)j", 
_IL_Mutex_InternalCreateMutex, marshal_jpbpp)
+       IL_METHOD("InternalReleaseMutex", "(j)V", 
_IL_Mutex_InternalReleaseMutex, marshal_vpj)
+IL_METHOD_END
+
+#endif
+
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_jppp(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_fppff(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeUInt *)rvalue) = (*(ILNativeUInt (*)(void *, void *, void 
*))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((void * 
*)(avalue[2])));
+       *((ILFloat *)rvalue) = (*(ILFloat (*)(void *, void *, ILFloat, 
ILFloat))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((ILFloat 
*)(avalue[2])), *((ILFloat *)(avalue[3])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_bpjpb(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_lpp(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeInt *)rvalue) = (*(ILInt8 (*)(void *, ILNativeUInt, void *, 
ILInt8))fn)(*((void * *)(avalue[0])), *((ILNativeUInt *)(avalue[1])), *((void * 
*)(avalue[2])), *((ILInt8 *)(avalue[3])));
+       *((ILInt64 *)rvalue) = (*(ILInt64 (*)(void *, void *))fn)(*((void * 
*)(avalue[0])), *((void * *)(avalue[1])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_bpjp(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_fppf(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeInt *)rvalue) = (*(ILInt8 (*)(void *, ILNativeUInt, void 
*))fn)(*((void * *)(avalue[0])), *((ILNativeUInt *)(avalue[1])), *((void * 
*)(avalue[2])));
+       *((ILFloat *)rvalue) = (*(ILFloat (*)(void *, void *, 
ILFloat))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((ILFloat 
*)(avalue[2])));
 }
 
 #endif
 
+#ifndef _IL_Interlocked_suppressed
+
+IL_METHOD_BEGIN(Interlocked_Methods)
+       IL_METHOD("CompareExchange", "(&iii)i", 
_IL_Interlocked_CompareExchange_Riii, marshal_ippii)
+       IL_METHOD("CompareExchange", "(&fff)f", 
_IL_Interlocked_CompareExchange_Rfff, marshal_fppff)
+       IL_METHOD("CompareExchange", 
"(&oSystem.Object;oSystem.Object;oSystem.Object;)oSystem.Object;", 
_IL_Interlocked_CompareExchange_RObjectObjectObject, marshal_ppppp)
+       IL_METHOD("Decrement", "(&i)i", _IL_Interlocked_Decrement_Ri, 
marshal_ipp)
+       IL_METHOD("Decrement", "(&l)l", _IL_Interlocked_Decrement_Rl, 
marshal_lpp)
+       IL_METHOD("Exchange", "(&ii)i", _IL_Interlocked_Exchange_Rii, 
marshal_ippi)
+       IL_METHOD("Exchange", "(&ff)f", _IL_Interlocked_Exchange_Rff, 
marshal_fppf)
+       IL_METHOD("Exchange", 
"(&oSystem.Object;oSystem.Object;)oSystem.Object;", 
_IL_Interlocked_Exchange_RObjectObject, marshal_pppp)
+       IL_METHOD("Increment", "(&i)i", _IL_Interlocked_Increment_Ri, 
marshal_ipp)
+       IL_METHOD("Increment", "(&l)l", _IL_Interlocked_Increment_Rl, 
marshal_lpp)
+IL_METHOD_END
+
+#endif
+
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_bppj(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_jpbb(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeInt *)rvalue) = (*(ILInt8 (*)(void *, void *, 
ILNativeUInt))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), 
*((ILNativeUInt *)(avalue[2])));
+       *((ILNativeUInt *)rvalue) = (*(ILNativeUInt (*)(void *, ILInt8, 
ILInt8))fn)(*((void * *)(avalue[0])), *((ILInt8 *)(avalue[1])), *((ILInt8 
*)(avalue[2])));
 }
 
 #endif
 
+#ifndef _IL_WaitEvent_suppressed
+
+IL_METHOD_BEGIN(WaitEvent_Methods)
+       IL_METHOD("InternalCreateEvent", "(ZZ)j", 
_IL_WaitEvent_InternalCreateEvent, marshal_jpbb)
+       IL_METHOD("InternalSetEvent", "(j)Z", _IL_WaitEvent_InternalSetEvent, 
marshal_bpj)
+       IL_METHOD("InternalResetEvent", "(j)Z", 
_IL_WaitEvent_InternalResetEvent, marshal_bpj)
+IL_METHOD_END
+
+#endif
+
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_Bpji(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_bppi(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeUInt *)rvalue) = (*(ILUInt8 (*)(void *, ILNativeUInt, 
ILInt32))fn)(*((void * *)(avalue[0])), *((ILNativeUInt *)(avalue[1])), 
*((ILInt32 *)(avalue[2])));
+       *((ILNativeInt *)rvalue) = (*(ILInt8 (*)(void *, void *, 
ILInt32))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((ILInt32 
*)(avalue[2])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_spji(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_Bpp(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeInt *)rvalue) = (*(ILInt16 (*)(void *, ILNativeUInt, 
ILInt32))fn)(*((void * *)(avalue[0])), *((ILNativeUInt *)(avalue[1])), 
*((ILInt32 *)(avalue[2])));
+       *((ILNativeUInt *)rvalue) = (*(ILUInt8 (*)(void *, void *))fn)(*((void 
* *)(avalue[0])), *((void * *)(avalue[1])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_ipji(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_spp(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeInt *)rvalue) = (*(ILInt32 (*)(void *, ILNativeUInt, 
ILInt32))fn)(*((void * *)(avalue[0])), *((ILNativeUInt *)(avalue[1])), 
*((ILInt32 *)(avalue[2])));
+       *((ILNativeInt *)rvalue) = (*(ILInt16 (*)(void *, void *))fn)(*((void * 
*)(avalue[0])), *((void * *)(avalue[1])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_lpji(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_Spp(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILInt64 *)rvalue) = (*(ILInt64 (*)(void *, ILNativeUInt, 
ILInt32))fn)(*((void * *)(avalue[0])), *((ILNativeUInt *)(avalue[1])), 
*((ILInt32 *)(avalue[2])));
+       *((ILNativeUInt *)rvalue) = (*(ILUInt16 (*)(void *, void *))fn)(*((void 
* *)(avalue[0])), *((void * *)(avalue[1])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_jpji(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_Ipp(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeUInt *)rvalue) = (*(ILNativeUInt (*)(void *, ILNativeUInt, 
ILInt32))fn)(*((void * *)(avalue[0])), *((ILNativeUInt *)(avalue[1])), 
*((ILInt32 *)(avalue[2])));
+       *((ILNativeUInt *)rvalue) = (*(ILUInt32 (*)(void *, void *))fn)(*((void 
* *)(avalue[0])), *((void * *)(avalue[1])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_jpjj(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_Lpp(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeUInt *)rvalue) = (*(ILNativeUInt (*)(void *, ILNativeUInt, 
ILNativeUInt))fn)(*((void * *)(avalue[0])), *((ILNativeUInt *)(avalue[1])), 
*((ILNativeUInt *)(avalue[2])));
+       *((ILUInt64 *)rvalue) = (*(ILUInt64 (*)(void *, void *))fn)(*((void * 
*)(avalue[0])), *((void * *)(avalue[1])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_vpjiB(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_Jpp(void (*fn)(), void *rvalue, void **avalue)
 {
-       (*(void (*)(void *, ILNativeUInt, ILInt32, ILUInt8))fn)(*((void * 
*)(avalue[0])), *((ILNativeUInt *)(avalue[1])), *((ILInt32 *)(avalue[2])), 
*((ILUInt8 *)(avalue[3])));
+       *((ILNativeInt *)rvalue) = (*(ILNativeInt (*)(void *, void 
*))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_vpjis(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_vppB(void (*fn)(), void *rvalue, void **avalue)
 {
-       (*(void (*)(void *, ILNativeUInt, ILInt32, ILInt16))fn)(*((void * 
*)(avalue[0])), *((ILNativeUInt *)(avalue[1])), *((ILInt32 *)(avalue[2])), 
*((ILInt16 *)(avalue[3])));
+       (*(void (*)(void *, void *, ILUInt8))fn)(*((void * *)(avalue[0])), 
*((void * *)(avalue[1])), *((ILUInt8 *)(avalue[2])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_vpjii(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_vpps(void (*fn)(), void *rvalue, void **avalue)
 {
-       (*(void (*)(void *, ILNativeUInt, ILInt32, ILInt32))fn)(*((void * 
*)(avalue[0])), *((ILNativeUInt *)(avalue[1])), *((ILInt32 *)(avalue[2])), 
*((ILInt32 *)(avalue[3])));
+       (*(void (*)(void *, void *, ILInt16))fn)(*((void * *)(avalue[0])), 
*((void * *)(avalue[1])), *((ILInt16 *)(avalue[2])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_vpjil(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_vppS(void (*fn)(), void *rvalue, void **avalue)
 {
-       (*(void (*)(void *, ILNativeUInt, ILInt32, ILInt64))fn)(*((void * 
*)(avalue[0])), *((ILNativeUInt *)(avalue[1])), *((ILInt32 *)(avalue[2])), 
*((ILInt64 *)(avalue[3])));
+       (*(void (*)(void *, void *, ILUInt16))fn)(*((void * *)(avalue[0])), 
*((void * *)(avalue[1])), *((ILUInt16 *)(avalue[2])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_vpjij(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_vppI(void (*fn)(), void *rvalue, void **avalue)
 {
-       (*(void (*)(void *, ILNativeUInt, ILInt32, ILNativeUInt))fn)(*((void * 
*)(avalue[0])), *((ILNativeUInt *)(avalue[1])), *((ILInt32 *)(avalue[2])), 
*((ILNativeUInt *)(avalue[3])));
+       (*(void (*)(void *, void *, ILUInt32))fn)(*((void * *)(avalue[0])), 
*((void * *)(avalue[1])), *((ILUInt32 *)(avalue[2])));
 }
 
 #endif
 
-#ifndef _IL_Marshal_suppressed
+#if !defined(HAVE_LIBFFI)
 
-IL_METHOD_BEGIN(Marshal_Methods)
-       IL_METHOD("FreeHGlobal", "(j)V", _IL_Marshal_FreeHGlobal, marshal_vpj)
-       IL_METHOD("AllocHGlobal", "(j)j", _IL_Marshal_AllocHGlobal, marshal_jpj)
-       IL_METHOD("PtrToStringAnsiInternal", "(ji)oSystem.String;", 
_IL_Marshal_PtrToStringAnsiInternal, marshal_ppji)
-       IL_METHOD("CopyMU", "(oSystem.Array;iji)V", _IL_Marshal_CopyMU, 
marshal_vppiji)
-       IL_METHOD("CopyUM", "(joSystem.Array;ii)V", _IL_Marshal_CopyUM, 
marshal_vpjpii)
-       IL_METHOD("OffsetOfInternal", "(oSystem.Type;oSystem.String;)j", 
_IL_Marshal_OffsetOfInternal, marshal_jppp)
-       IL_METHOD("PtrToStringAutoInternal", "(ji)oSystem.String;", 
_IL_Marshal_PtrToStringAutoInternal, marshal_ppji)
-       IL_METHOD("PtrToStringUniInternal", "(ji)oSystem.String;", 
_IL_Marshal_PtrToStringUniInternal, marshal_ppji)
-       IL_METHOD("PtrToStructureInternal", "(joSystem.Object;Z)Z", 
_IL_Marshal_PtrToStructureInternal, marshal_bpjpb)
-       IL_METHOD("DestroyStructureInternal", "(joSystem.Type;)Z", 
_IL_Marshal_DestroyStructureInternal, marshal_bpjp)
-       IL_METHOD("StructureToPtrInternal", "(oSystem.Object;j)Z", 
_IL_Marshal_StructureToPtrInternal, marshal_bppj)
-       IL_METHOD("ObjectToPtr", "(oSystem.Object;)j", _IL_Marshal_ObjectToPtr, 
marshal_jpp)
-       IL_METHOD("ReadByte", "(ji)B", _IL_Marshal_ReadByte, marshal_Bpji)
-       IL_METHOD("ReadInt16", "(ji)s", _IL_Marshal_ReadInt16, marshal_spji)
-       IL_METHOD("ReadInt32", "(ji)i", _IL_Marshal_ReadInt32, marshal_ipji)
-       IL_METHOD("ReadInt64", "(ji)l", _IL_Marshal_ReadInt64, marshal_lpji)
-       IL_METHOD("ReadIntPtr", "(ji)j", _IL_Marshal_ReadIntPtr, marshal_jpji)
-       IL_METHOD("ReAllocHGlobal", "(jj)j", _IL_Marshal_ReAllocHGlobal, 
marshal_jpjj)
-       IL_METHOD("SizeOfInternal", "(oSystem.Type;)i", 
_IL_Marshal_SizeOfInternal, marshal_ipp)
-       IL_METHOD("StringToHGlobalAnsi", "(oSystem.String;)j", 
_IL_Marshal_StringToHGlobalAnsi, marshal_jpp)
-       IL_METHOD("StringToHGlobalAuto", "(oSystem.String;)j", 
_IL_Marshal_StringToHGlobalAuto, marshal_jpp)
-       IL_METHOD("StringToHGlobalUni", "(oSystem.String;)j", 
_IL_Marshal_StringToHGlobalUni, marshal_jpp)
-       IL_METHOD("UnsafeAddrOfPinnedArrayElement", "(oSystem.Array;i)j", 
_IL_Marshal_UnsafeAddrOfPinnedArrayElement, marshal_jppi)
-       IL_METHOD("WriteByte", "(jiB)V", _IL_Marshal_WriteByte, marshal_vpjiB)
-       IL_METHOD("WriteInt16", "(jis)V", _IL_Marshal_WriteInt16, marshal_vpjis)
-       IL_METHOD("WriteInt32", "(jii)V", _IL_Marshal_WriteInt32, marshal_vpjii)
-       IL_METHOD("WriteInt64", "(jil)V", _IL_Marshal_WriteInt64, marshal_vpjil)
-       IL_METHOD("WriteIntPtr", "(jij)V", _IL_Marshal_WriteIntPtr, 
marshal_vpjij)
-IL_METHOD_END
+static void marshal_vppl(void (*fn)(), void *rvalue, void **avalue)
+{
+       (*(void (*)(void *, void *, ILInt64))fn)(*((void * *)(avalue[0])), 
*((void * *)(avalue[1])), *((ILInt64 *)(avalue[2])));
+}
 
 #endif
 
-#ifndef _IL_RuntimeHelpers_suppressed
+#if !defined(HAVE_LIBFFI)
 
-IL_METHOD_BEGIN(RuntimeHelpers_Methods)
-       IL_METHOD("InitializeArray", 
"(oSystem.Array;vSystem.RuntimeFieldHandle;)V", 
_IL_RuntimeHelpers_InitializeArray, marshal_vppp)
-       IL_METHOD("RunClassConstructor", "(vSystem.RuntimeTypeHandle;)V", 
_IL_RuntimeHelpers_RunClassConstructor, marshal_vpp)
-       IL_METHOD("InternalOffsetToStringData", "()i", 
_IL_RuntimeHelpers_InternalOffsetToStringData, marshal_ip)
-       IL_METHOD("GetObjectValue", "(oSystem.Object;)oSystem.Object;", 
_IL_RuntimeHelpers_GetObjectValue, marshal_ppp)
-       IL_METHOD("Equals", "(oSystem.Object;oSystem.Object;)Z", 
_IL_RuntimeHelpers_Equals, marshal_bppp)
-       IL_METHOD("GetHashCode", "(oSystem.Object;)i", 
_IL_RuntimeHelpers_GetHashCode, marshal_ipp)
-IL_METHOD_END
-
-#endif
-
-#ifndef _IL_Debugger_suppressed
-
-IL_METHOD_BEGIN(Debugger_Methods)
-       IL_METHOD("InternalIsAttached", "()Z", _IL_Debugger_InternalIsAttached, 
marshal_bp)
-       IL_METHOD("Break", "()V", _IL_Debugger_Break, marshal_vp)
-       IL_METHOD("IsLogging", "()Z", _IL_Debugger_IsLogging, marshal_bp)
-       IL_METHOD("InternalLaunch", "()Z", _IL_Debugger_InternalLaunch, 
marshal_bp)
-       IL_METHOD("Log", "(ioSystem.String;oSystem.String;)V", 
_IL_Debugger_Log, marshal_vpipp)
-IL_METHOD_END
+static void marshal_vppL(void (*fn)(), void *rvalue, void **avalue)
+{
+       (*(void (*)(void *, void *, ILUInt64))fn)(*((void * *)(avalue[0])), 
*((void * *)(avalue[1])), *((ILUInt64 *)(avalue[2])));
+}
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_pppipp(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_vppj(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((void * *)rvalue) = (*(void * (*)(void *, void *, ILInt32, void *, 
void *))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((ILInt32 
*)(avalue[2])), *((void * *)(avalue[3])), *((void * *)(avalue[4])));
+       (*(void (*)(void *, void *, ILNativeUInt))fn)(*((void * *)(avalue[0])), 
*((void * *)(avalue[1])), *((ILNativeUInt *)(avalue[2])));
 }
 
 #endif
 
-#ifndef _IL_StackFrame_suppressed
-
-IL_METHOD_BEGIN(StackFrame_Methods)
-       IL_METHOD("GetExceptionStackTrace", 
"()[vSystem.Diagnostics.PackedStackFrame;", 
_IL_StackFrame_GetExceptionStackTrace, marshal_pp)
-       IL_METHOD("InternalGetTotalFrames", "()i", 
_IL_StackFrame_InternalGetTotalFrames, marshal_ip)
-       IL_METHOD("InternalGetDebugInfo", 
"(vSystem.RuntimeMethodHandle;i&i&i)oSystem.String;", 
_IL_StackFrame_InternalGetDebugInfo, marshal_pppipp)
-       IL_METHOD("InternalGetMethod", "(i)vSystem.RuntimeMethodHandle;", 
_IL_StackFrame_InternalGetMethod, marshal_vppi)
-       IL_METHOD("InternalGetILOffset", "(i)i", 
_IL_StackFrame_InternalGetILOffset, marshal_ipi)
-       IL_METHOD("InternalGetNativeOffset", "(i)i", 
_IL_StackFrame_InternalGetNativeOffset, marshal_ipi)
-IL_METHOD_END
-
-#endif
-
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_ppj(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_vppJ(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((void * *)rvalue) = (*(void * (*)(void *, ILNativeUInt))fn)(*((void * 
*)(avalue[0])), *((ILNativeUInt *)(avalue[1])));
+       (*(void (*)(void *, void *, ILNativeInt))fn)(*((void * *)(avalue[0])), 
*((void * *)(avalue[1])), *((ILNativeInt *)(avalue[2])));
 }
 
 #endif
 
-#ifndef _IL_ClrProperty_suppressed
+#ifndef _IL_Thread_suppressed
 
-IL_METHOD_BEGIN(ClrProperty_Methods)
-       IL_METHOD("GetPropertyType", "(j)oSystem.Type;", 
_IL_ClrProperty_GetPropertyType, marshal_ppj)
+IL_METHOD_BEGIN(Thread_Methods)
+       IL_METHOD("InternalGetThreadId", "()i", _IL_Thread_InternalGetThreadId, 
marshal_ip)
+       IL_METHOD("CanStartThreads", "()Z", _IL_Thread_CanStartThreads, 
marshal_bp)
+       IL_METHOD("Start", "(T)V", _IL_Thread_Start, marshal_vpp)
+       IL_METHOD("InternalCurrentThread", "()oSystem.Threading.Thread;", 
_IL_Thread_InternalCurrentThread, marshal_pp)
+       IL_METHOD("InitializeThread", "(T)V", _IL_Thread_InitializeThread, 
marshal_vpp)
+       IL_METHOD("InternalSetBackground", "(TZ)V", 
_IL_Thread_InternalSetBackground, marshal_vppb)
+       IL_METHOD("FinalizeThread", "(T)V", _IL_Thread_FinalizeThread, 
marshal_vpp)
+       IL_METHOD("Abort", "(T)V", _IL_Thread_Abort, marshal_vpp)
+       IL_METHOD("InternalJoin", "(Ti)Z", _IL_Thread_InternalJoin, 
marshal_bppi)
+       IL_METHOD("MemoryBarrier", "()V", _IL_Thread_MemoryBarrier, marshal_vp)
+       IL_METHOD("ResetAbort", "()V", _IL_Thread_ResetAbort, marshal_vp)
+       IL_METHOD("InternalSleep", "(i)V", _IL_Thread_InternalSleep, 
marshal_vpi)
+       IL_METHOD("VolatileRead", "(&B)B", _IL_Thread_VolatileRead_RB, 
marshal_Bpp)
+       IL_METHOD("VolatileRead", "(&b)b", _IL_Thread_VolatileRead_Rb, 
marshal_bpp)
+       IL_METHOD("VolatileRead", "(&s)s", _IL_Thread_VolatileRead_Rs, 
marshal_spp)
+       IL_METHOD("VolatileRead", "(&S)S", _IL_Thread_VolatileRead_RS, 
marshal_Spp)
+       IL_METHOD("VolatileRead", "(&i)i", _IL_Thread_VolatileRead_Ri, 
marshal_ipp)
+       IL_METHOD("VolatileRead", "(&I)I", _IL_Thread_VolatileRead_RI, 
marshal_Ipp)
+       IL_METHOD("VolatileRead", "(&l)l", _IL_Thread_VolatileRead_Rl, 
marshal_lpp)
+       IL_METHOD("VolatileRead", "(&L)L", _IL_Thread_VolatileRead_RL, 
marshal_Lpp)
+       IL_METHOD("VolatileRead", "(&j)j", _IL_Thread_VolatileRead_Rj, 
marshal_jpp)
+       IL_METHOD("VolatileRead", "(&J)J", _IL_Thread_VolatileRead_RJ, 
marshal_Jpp)
+       IL_METHOD("VolatileRead", "(&f)f", _IL_Thread_VolatileRead_Rf, 
marshal_fpp)
+       IL_METHOD("VolatileRead", "(&d)d", _IL_Thread_VolatileRead_Rd, 
marshal_dpp)
+       IL_METHOD("VolatileRead", "(&oSystem.Object;)oSystem.Object;", 
_IL_Thread_VolatileRead_RObject, marshal_ppp)
+       IL_METHOD("VolatileWrite", "(&BB)V", _IL_Thread_VolatileWrite_RBB, 
marshal_vppB)
+       IL_METHOD("VolatileWrite", "(&bb)V", _IL_Thread_VolatileWrite_Rbb, 
marshal_vppb)
+       IL_METHOD("VolatileWrite", "(&ss)V", _IL_Thread_VolatileWrite_Rss, 
marshal_vpps)
+       IL_METHOD("VolatileWrite", "(&SS)V", _IL_Thread_VolatileWrite_RSS, 
marshal_vppS)
+       IL_METHOD("VolatileWrite", "(&ii)V", _IL_Thread_VolatileWrite_Rii, 
marshal_vppi)
+       IL_METHOD("VolatileWrite", "(&II)V", _IL_Thread_VolatileWrite_RII, 
marshal_vppI)
+       IL_METHOD("VolatileWrite", "(&ll)V", _IL_Thread_VolatileWrite_Rll, 
marshal_vppl)
+       IL_METHOD("VolatileWrite", "(&LL)V", _IL_Thread_VolatileWrite_RLL, 
marshal_vppL)
+       IL_METHOD("VolatileWrite", "(&jj)V", _IL_Thread_VolatileWrite_Rjj, 
marshal_vppj)
+       IL_METHOD("VolatileWrite", "(&JJ)V", _IL_Thread_VolatileWrite_RJJ, 
marshal_vppJ)
+       IL_METHOD("VolatileWrite", "(&ff)V", _IL_Thread_VolatileWrite_Rff, 
marshal_vppf)
+       IL_METHOD("VolatileWrite", "(&dd)V", _IL_Thread_VolatileWrite_Rdd, 
marshal_vppd)
+       IL_METHOD("VolatileWrite", "(&oSystem.Object;oSystem.Object;)V", 
_IL_Thread_VolatileWrite_RObjectObject, marshal_vppp)
+       IL_METHOD("InternalGetState", "(T)vSystem.Threading.ThreadState;", 
_IL_Thread_InternalGetState, marshal_ipp)
+       IL_METHOD("InternalGetPriority", 
"(T)vSystem.Threading.ThreadPriority;", _IL_Thread_InternalGetPriority, 
marshal_ipp)
+       IL_METHOD("InternalSetPriority", 
"(TvSystem.Threading.ThreadPriority;)V", _IL_Thread_InternalSetPriority, 
marshal_vppi)
+       IL_METHOD("Interrupt", "(T)V", _IL_Thread_Interrupt, marshal_vpp)
+       IL_METHOD("Resume", "(T)V", _IL_Thread_Resume, marshal_vpp)
+       IL_METHOD("SpinWait", "(i)V", _IL_Thread_SpinWait, marshal_vpi)
+       IL_METHOD("Suspend", "(T)V", _IL_Thread_Suspend, marshal_vpp)
 IL_METHOD_END
 
 #endif
 
-#ifndef _IL_MethodBase_suppressed
+#ifndef _IL_Monitor_suppressed
 
-IL_METHOD_BEGIN(MethodBase_Methods)
-       IL_METHOD("GetMethodFromHandle", 
"(vSystem.RuntimeMethodHandle;)oSystem.Reflection.MethodBase;", 
_IL_MethodBase_GetMethodFromHandle, marshal_ppp)
-       IL_METHOD("GetCurrentMethod", "()oSystem.Reflection.MethodBase;", 
_IL_MethodBase_GetCurrentMethod, marshal_pp)
+IL_METHOD_BEGIN(Monitor_Methods)
+       IL_METHOD("Enter", "(oSystem.Object;)V", _IL_Monitor_Enter, marshal_vpp)
+       IL_METHOD("Exit", "(oSystem.Object;)V", _IL_Monitor_Exit, marshal_vpp)
+       IL_METHOD("Pulse", "(oSystem.Object;)V", _IL_Monitor_Pulse, marshal_vpp)
+       IL_METHOD("InternalWait", "(oSystem.Object;i)Z", 
_IL_Monitor_InternalWait, marshal_bppi)
+       IL_METHOD("InternalTryEnter", "(oSystem.Object;i)Z", 
_IL_Monitor_InternalTryEnter, marshal_bppi)
+       IL_METHOD("PulseAll", "(oSystem.Object;)V", _IL_Monitor_PulseAll, 
marshal_vpp)
 IL_METHOD_END
 
 #endif
 
-#if !defined(HAVE_LIBFFI)
+#ifndef _IL_FormatterServices_suppressed
 
-static void marshal_pppippp(void (*fn)(), void *rvalue, void **avalue)
-{
-       *((void * *)rvalue) = (*(void * (*)(void *, void *, ILInt32, void *, 
void *, void *))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), 
*((ILInt32 *)(avalue[2])), *((void * *)(avalue[3])), *((void * *)(avalue[4])), 
*((void * *)(avalue[5])));
-}
+IL_METHOD_BEGIN(FormatterServices_Methods)
+       IL_METHOD("InternalGetSerializableMembers", 
"(oSystem.Type;)[oSystem.Reflection.MemberInfo;", 
_IL_FormatterServices_InternalGetSerializableMembers, marshal_ppp)
+       IL_METHOD("InternalGetUninitializedObject", 
"(oSystem.Type;)oSystem.Object;", 
_IL_FormatterServices_InternalGetUninitializedObject, marshal_ppp)
+IL_METHOD_END
 
 #endif
 
-#if !defined(HAVE_LIBFFI)
+#ifndef _IL_AsyncResult_suppressed
 
-static void marshal_ppppippp(void (*fn)(), void *rvalue, void **avalue)
-{
-       *((void * *)rvalue) = (*(void * (*)(void *, void *, void *, ILInt32, 
void *, void *, void *))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), 
*((void * *)(avalue[2])), *((ILInt32 *)(avalue[3])), *((void * *)(avalue[4])), 
*((void * *)(avalue[5])), *((void * *)(avalue[6])));
-}
+IL_METHOD_BEGIN(AsyncResult_Methods)
+       IL_METHOD("SetOutParams", 
"(oSystem.Delegate;[oSystem.Object;[oSystem.Object;)V", 
_IL_AsyncResult_SetOutParams, marshal_vpppp)
+IL_METHOD_END
 
 #endif
 
-#ifndef _IL_ClrConstructor_suppressed
+#ifndef _IL_RuntimeHelpers_suppressed
 
-IL_METHOD_BEGIN(ClrConstructor_Methods)
-       IL_METHOD("Invoke", 
"(TvSystem.Reflection.BindingFlags;oSystem.Reflection.Binder;[oSystem.Object;oSystem.Globalization.CultureInfo;)oSystem.Object;",
 _IL_ClrConstructor_Invoke, marshal_pppippp)
-       IL_METHOD("InvokeOnEmpty", 
"(ToSystem.Object;vSystem.Reflection.BindingFlags;oSystem.Reflection.Binder;[oSystem.Object;oSystem.Globalization.CultureInfo;)oSystem.Object;",
 _IL_ClrConstructor_InvokeOnEmpty, marshal_ppppippp)
+IL_METHOD_BEGIN(RuntimeHelpers_Methods)
+       IL_METHOD("InitializeArray", 
"(oSystem.Array;vSystem.RuntimeFieldHandle;)V", 
_IL_RuntimeHelpers_InitializeArray, marshal_vppp)
+       IL_METHOD("RunClassConstructor", "(vSystem.RuntimeTypeHandle;)V", 
_IL_RuntimeHelpers_RunClassConstructor, marshal_vpp)
+       IL_METHOD("InternalOffsetToStringData", "()i", 
_IL_RuntimeHelpers_InternalOffsetToStringData, marshal_ip)
+       IL_METHOD("GetObjectValue", "(oSystem.Object;)oSystem.Object;", 
_IL_RuntimeHelpers_GetObjectValue, marshal_ppp)
+       IL_METHOD("Equals", "(oSystem.Object;oSystem.Object;)Z", 
_IL_RuntimeHelpers_Equals, marshal_bppp)
+       IL_METHOD("GetHashCode", "(oSystem.Object;)i", 
_IL_RuntimeHelpers_GetHashCode, marshal_ipp)
 IL_METHOD_END
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_ppppbb(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_vppiji(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((void * *)rvalue) = (*(void * (*)(void *, void *, void *, ILInt8, 
ILInt8))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((void * 
*)(avalue[2])), *((ILInt8 *)(avalue[3])), *((ILInt8 *)(avalue[4])));
+       (*(void (*)(void *, void *, ILInt32, ILNativeUInt, ILInt32))fn)(*((void 
* *)(avalue[0])), *((void * *)(avalue[1])), *((ILInt32 *)(avalue[2])), 
*((ILNativeUInt *)(avalue[3])), *((ILInt32 *)(avalue[4])));
 }
 
 #endif
 
-#ifndef _IL_Module_suppressed
-
-IL_METHOD_BEGIN(Module_Methods)
-       IL_METHOD("GetModuleType", "(T)oSystem.Type;", 
_IL_Module_GetModuleType, marshal_ppp)
-       IL_METHOD("GetAssembly", "(T)oSystem.Reflection.Assembly;", 
_IL_Module_GetAssembly, marshal_ppp)
-       IL_METHOD("GetFullName", "(T)oSystem.String;", _IL_Module_GetFullName, 
marshal_ppp)
-       IL_METHOD("GetType", "(ToSystem.String;ZZ)oSystem.Type;", 
_IL_Module_GetType, marshal_ppppbb)
-       IL_METHOD("GetTypes", "(T)[oSystem.Type;", _IL_Module_GetTypes, 
marshal_ppp)
-       IL_METHOD("IsResource", "(T)Z", _IL_Module_IsResource, marshal_bpp)
-IL_METHOD_END
-
-#endif
-
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_ipj(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_vpjpii(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeInt *)rvalue) = (*(ILInt32 (*)(void *, 
ILNativeUInt))fn)(*((void * *)(avalue[0])), *((ILNativeUInt *)(avalue[1])));
+       (*(void (*)(void *, ILNativeUInt, void *, ILInt32, ILInt32))fn)(*((void 
* *)(avalue[0])), *((ILNativeUInt *)(avalue[1])), *((void * *)(avalue[2])), 
*((ILInt32 *)(avalue[3])), *((ILInt32 *)(avalue[4])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_bpjib(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_jppp(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeInt *)rvalue) = (*(ILInt8 (*)(void *, ILNativeUInt, ILInt32, 
ILInt8))fn)(*((void * *)(avalue[0])), *((ILNativeUInt *)(avalue[1])), 
*((ILInt32 *)(avalue[2])), *((ILInt8 *)(avalue[3])));
+       *((ILNativeUInt *)rvalue) = (*(ILNativeUInt (*)(void *, void *, void 
*))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((void * 
*)(avalue[2])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_ppjib(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_bpjpb(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((void * *)rvalue) = (*(void * (*)(void *, ILNativeUInt, ILInt32, 
ILInt8))fn)(*((void * *)(avalue[0])), *((ILNativeUInt *)(avalue[1])), 
*((ILInt32 *)(avalue[2])), *((ILInt8 *)(avalue[3])));
+       *((ILNativeInt *)rvalue) = (*(ILInt8 (*)(void *, ILNativeUInt, void *, 
ILInt8))fn)(*((void * *)(avalue[0])), *((ILNativeUInt *)(avalue[1])), *((void * 
*)(avalue[2])), *((ILInt8 *)(avalue[3])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_ppjjb(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_bpjp(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((void * *)rvalue) = (*(void * (*)(void *, ILNativeUInt, ILNativeUInt, 
ILInt8))fn)(*((void * *)(avalue[0])), *((ILNativeUInt *)(avalue[1])), 
*((ILNativeUInt *)(avalue[2])), *((ILInt8 *)(avalue[3])));
+       *((ILNativeInt *)rvalue) = (*(ILInt8 (*)(void *, ILNativeUInt, void 
*))fn)(*((void * *)(avalue[0])), *((ILNativeUInt *)(avalue[1])), *((void * 
*)(avalue[2])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_bpjjb(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_bppj(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeInt *)rvalue) = (*(ILInt8 (*)(void *, ILNativeUInt, 
ILNativeUInt, ILInt8))fn)(*((void * *)(avalue[0])), *((ILNativeUInt 
*)(avalue[1])), *((ILNativeUInt *)(avalue[2])), *((ILInt8 *)(avalue[3])));
+       *((ILNativeInt *)rvalue) = (*(ILInt8 (*)(void *, void *, 
ILNativeUInt))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), 
*((ILNativeUInt *)(avalue[2])));
 }
 
 #endif
 
-#ifndef _IL_ClrHelpers_suppressed
-
-IL_METHOD_BEGIN(ClrHelpers_Methods)
-       IL_METHOD("CanAccess", "(j)Z", _IL_ClrHelpers_CanAccess, marshal_bpj)
-       IL_METHOD("GetMemberAttrs", "(j)i", _IL_ClrHelpers_GetMemberAttrs, 
marshal_ipj)
-       IL_METHOD("HasSemantics", 
"(jvSystem.Reflection.MethodSemanticsAttributes;Z)Z", 
_IL_ClrHelpers_HasSemantics, marshal_bpjib)
-       IL_METHOD("GetSemantics", 
"(jvSystem.Reflection.MethodSemanticsAttributes;Z)oSystem.Reflection.MethodInfo;",
 _IL_ClrHelpers_GetSemantics, marshal_ppjib)
-       IL_METHOD("GetNumParameters", "(j)i", _IL_ClrHelpers_GetNumParameters, 
marshal_ipj)
-       IL_METHOD("GetCallConv", "(j)vSystem.Reflection.CallingConventions;", 
_IL_ClrHelpers_GetCallConv, marshal_ipj)
-       IL_METHOD("GetImplAttrs", 
"(j)vSystem.Reflection.MethodImplAttributes;", _IL_ClrHelpers_GetImplAttrs, 
marshal_ipj)
-       IL_METHOD("GetName", "(j)oSystem.String;", _IL_ClrHelpers_GetName, 
marshal_ppj)
-       IL_METHOD("GetCustomAttributes", "(jjZ)[oSystem.Object;", 
_IL_ClrHelpers_GetCustomAttributes, marshal_ppjjb)
-       IL_METHOD("IsDefined", "(jjZ)Z", _IL_ClrHelpers_IsDefined, 
marshal_bpjjb)
-       IL_METHOD("GetDeclaringType", "(j)j", _IL_ClrHelpers_GetDeclaringType, 
marshal_jpj)
-       IL_METHOD("GetParameter", "(ji)j", _IL_ClrHelpers_GetParameter, 
marshal_jpji)
-       IL_METHOD("GetParameterType", "(ji)oSystem.Type;", 
_IL_ClrHelpers_GetParameterType, marshal_ppji)
-IL_METHOD_END
-
-#endif
-
-#ifndef _IL_FieldInfo_suppressed
-
-IL_METHOD_BEGIN(FieldInfo_Methods)
-       IL_METHOD("GetFieldFromHandle", 
"(vSystem.RuntimeFieldHandle;)oSystem.Reflection.FieldInfo;", 
_IL_FieldInfo_GetFieldFromHandle, marshal_ppp)
-IL_METHOD_END
-
-#endif
-
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_ipppp(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_Bpji(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeInt *)rvalue) = (*(ILInt32 (*)(void *, void *, void *, void 
*))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((void * 
*)(avalue[2])), *((void * *)(avalue[3])));
+       *((ILNativeUInt *)rvalue) = (*(ILUInt8 (*)(void *, ILNativeUInt, 
ILInt32))fn)(*((void * *)(avalue[0])), *((ILNativeUInt *)(avalue[1])), 
*((ILInt32 *)(avalue[2])));
 }
 
 #endif
 
-#ifndef _IL_AssemblyName_suppressed
-
-IL_METHOD_BEGIN(AssemblyName_Methods)
-       IL_METHOD("FillAssemblyNameFromFile", 
"(oSystem.Reflection.AssemblyName;oSystem.String;oSystem.Reflection.Assembly;)i",
 _IL_AssemblyName_FillAssemblyNameFromFile, marshal_ipppp)
-IL_METHOD_END
-
-#endif
-
-#ifndef _IL_ClrMethod_suppressed
+#if !defined(HAVE_LIBFFI)
 
-IL_METHOD_BEGIN(ClrMethod_Methods)
-       IL_METHOD("Invoke", 
"(ToSystem.Object;vSystem.Reflection.BindingFlags;oSystem.Reflection.Binder;[oSystem.Object;oSystem.Globalization.CultureInfo;)oSystem.Object;",
 _IL_ClrMethod_Invoke, marshal_ppppippp)
-       IL_METHOD("GetBaseDefinition", "(T)oSystem.Reflection.MethodInfo;", 
_IL_ClrMethod_GetBaseDefinition, marshal_ppp)
-       IL_METHOD("HasGenericArgumentsImpl", "(T)Z", 
_IL_ClrMethod_HasGenericArgumentsImpl, marshal_bpp)
-       IL_METHOD("HasGenericParametersImpl", "(T)Z", 
_IL_ClrMethod_HasGenericParametersImpl, marshal_bpp)
-       IL_METHOD("GetGenericArgumentsImpl", "(T)[oSystem.Type;", 
_IL_ClrMethod_GetGenericArgumentsImpl, marshal_ppp)
-       IL_METHOD("GetGenericMethodDefinitionImpl", 
"(T)oSystem.Reflection.ClrMethod;", 
_IL_ClrMethod_GetGenericMethodDefinitionImpl, marshal_ppp)
-       IL_METHOD("GetArity", "(T)i", _IL_ClrMethod_GetArity, marshal_ipp)
-       IL_METHOD("BindGenericParametersImpl", 
"(T[oSystem.Type;)oSystem.Reflection.MethodInfo;", 
_IL_ClrMethod_BindGenericParametersImpl, marshal_pppp)
-IL_METHOD_END
+static void marshal_spji(void (*fn)(), void *rvalue, void **avalue)
+{
+       *((ILNativeInt *)rvalue) = (*(ILInt16 (*)(void *, ILNativeUInt, 
ILInt32))fn)(*((void * *)(avalue[0])), *((ILNativeUInt *)(avalue[1])), 
*((ILInt32 *)(avalue[2])));
+}
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_vppppipp(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_lpji(void (*fn)(), void *rvalue, void **avalue)
 {
-       (*(void (*)(void *, void *, void *, void *, ILInt32, void *, void 
*))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((void * 
*)(avalue[2])), *((void * *)(avalue[3])), *((ILInt32 *)(avalue[4])), *((void * 
*)(avalue[5])), *((void * *)(avalue[6])));
+       *((ILInt64 *)rvalue) = (*(ILInt64 (*)(void *, ILNativeUInt, 
ILInt32))fn)(*((void * *)(avalue[0])), *((ILNativeUInt *)(avalue[1])), 
*((ILInt32 *)(avalue[2])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_pppr(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_jppi(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((void * *)rvalue) = (*(void * (*)(void *, void *, 
ILTypedRef))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), 
*((ILTypedRef *)(avalue[2])));
+       *((ILNativeUInt *)rvalue) = (*(ILNativeUInt (*)(void *, void *, 
ILInt32))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((ILInt32 
*)(avalue[2])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_vpprp(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_vpjiB(void (*fn)(), void *rvalue, void **avalue)
 {
-       (*(void (*)(void *, void *, ILTypedRef, void *))fn)(*((void * 
*)(avalue[0])), *((void * *)(avalue[1])), *((ILTypedRef *)(avalue[2])), *((void 
* *)(avalue[3])));
+       (*(void (*)(void *, ILNativeUInt, ILInt32, ILUInt8))fn)(*((void * 
*)(avalue[0])), *((ILNativeUInt *)(avalue[1])), *((ILInt32 *)(avalue[2])), 
*((ILUInt8 *)(avalue[3])));
 }
 
 #endif
 
-#ifndef _IL_ClrField_suppressed
+#if !defined(HAVE_LIBFFI)
 
-IL_METHOD_BEGIN(ClrField_Methods)
-       IL_METHOD("GetFieldType", "(j)oSystem.Type;", 
_IL_ClrField_GetFieldType, marshal_ppj)
-       IL_METHOD("GetValueInternal", "(ToSystem.Object;)oSystem.Object;", 
_IL_ClrField_GetValueInternal, marshal_pppp)
-       IL_METHOD("SetValueInternal", 
"(ToSystem.Object;oSystem.Object;vSystem.Reflection.BindingFlags;oSystem.Reflection.Binder;oSystem.Globalization.CultureInfo;)V",
 _IL_ClrField_SetValueInternal, marshal_vppppipp)
-       IL_METHOD("GetValueDirect", "(Tr)oSystem.Object;", 
_IL_ClrField_GetValueDirect, marshal_pppr)
-       IL_METHOD("SetValueDirect", "(TroSystem.Object;)V", 
_IL_ClrField_SetValueDirect, marshal_vpprp)
-IL_METHOD_END
+static void marshal_vpjis(void (*fn)(), void *rvalue, void **avalue)
+{
+       (*(void (*)(void *, ILNativeUInt, ILInt32, ILInt16))fn)(*((void * 
*)(avalue[0])), *((ILNativeUInt *)(avalue[1])), *((ILInt32 *)(avalue[2])), 
*((ILInt16 *)(avalue[3])));
+}
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_ppppiipipp(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_vpjil(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((void * *)rvalue) = (*(void * (*)(void *, void *, void *, ILInt32, 
ILInt32, void *, ILInt32, void *, void *))fn)(*((void * *)(avalue[0])), *((void 
* *)(avalue[1])), *((void * *)(avalue[2])), *((ILInt32 *)(avalue[3])), 
*((ILInt32 *)(avalue[4])), *((void * *)(avalue[5])), *((ILInt32 *)(avalue[6])), 
*((void * *)(avalue[7])), *((void * *)(avalue[8])));
+       (*(void (*)(void *, ILNativeUInt, ILInt32, ILInt64))fn)(*((void * 
*)(avalue[0])), *((ILNativeUInt *)(avalue[1])), *((ILInt32 *)(avalue[2])), 
*((ILInt64 *)(avalue[3])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_pppiipp(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_vpjij(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((void * *)rvalue) = (*(void * (*)(void *, void *, ILInt32, ILInt32, 
void *, void *))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), 
*((ILInt32 *)(avalue[2])), *((ILInt32 *)(avalue[3])), *((void * *)(avalue[4])), 
*((void * *)(avalue[5])));
+       (*(void (*)(void *, ILNativeUInt, ILInt32, ILNativeUInt))fn)(*((void * 
*)(avalue[0])), *((ILNativeUInt *)(avalue[1])), *((ILInt32 *)(avalue[2])), 
*((ILNativeUInt *)(avalue[3])));
 }
 
 #endif
 
-#ifndef _IL_ClrType_suppressed
+#ifndef _IL_Marshal_suppressed
 
-IL_METHOD_BEGIN(ClrType_Methods)
-       IL_METHOD("GetClrArrayRank", "(T)i", _IL_ClrType_GetClrArrayRank, 
marshal_ipp)
-       IL_METHOD("GetAttributeFlagsImpl", 
"(T)vSystem.Reflection.TypeAttributes;", _IL_ClrType_GetAttributeFlagsImpl, 
marshal_ipp)
-       IL_METHOD("GetClrTypeCategory", 
"(T)vSystem.Reflection.ClrTypeCategory;", _IL_ClrType_GetClrTypeCategory, 
marshal_ipp)
-       IL_METHOD("GetElementType", "(T)oSystem.Type;", 
_IL_ClrType_GetElementType, marshal_ppp)
-       IL_METHOD("GetInterfaces", "(T)[oSystem.Type;", 
_IL_ClrType_GetInterfaces, marshal_ppp)
-       IL_METHOD("IsSubclassOf", "(ToSystem.Type;)Z", 
_IL_ClrType_IsSubclassOf, marshal_bppp)
-       IL_METHOD("GetClrFullName", "(T)oSystem.String;", 
_IL_ClrType_GetClrFullName, marshal_ppp)
-       IL_METHOD("GetClrAssembly", "(T)oSystem.Reflection.Assembly;", 
_IL_ClrType_GetClrAssembly, marshal_ppp)
-       IL_METHOD("GetClrBaseType", "(T)oSystem.Type;", 
_IL_ClrType_GetClrBaseType, marshal_ppp)
-       IL_METHOD("GetInterface", "(ToSystem.String;Z)oSystem.Type;", 
_IL_ClrType_GetInterface, marshal_ppppb)
-       IL_METHOD("GetMemberImpl", 
"(ToSystem.String;vSystem.Reflection.MemberTypes;vSystem.Reflection.BindingFlags;oSystem.Reflection.Binder;vSystem.Reflection.CallingConventions;[oSystem.Type;[vSystem.Reflection.ParameterModifier;)oSystem.Reflection.MemberInfo;",
 _IL_ClrType_GetMemberImpl, marshal_ppppiipipp)
-       IL_METHOD("GetMembersImpl", 
"(TvSystem.Reflection.MemberTypes;vSystem.Reflection.BindingFlags;oSystem.Type;oSystem.String;)oSystem.Object;",
 _IL_ClrType_GetMembersImpl, marshal_pppiipp)
-       IL_METHOD("IsClrNestedType", "(T)Z", _IL_ClrType_IsClrNestedType, 
marshal_bpp)
-       IL_METHOD("GetClrGUID", "(T)vSystem.Guid;", _IL_ClrType_GetClrGUID, 
marshal_vppp)
-       IL_METHOD("GetClrModule", "(T)oSystem.Reflection.Module;", 
_IL_ClrType_GetClrModule, marshal_ppp)
-       IL_METHOD("GetClrNestedDeclaringType", "(T)oSystem.Type;", 
_IL_ClrType_GetClrNestedDeclaringType, marshal_ppp)
-       IL_METHOD("GetClrName", "(T)oSystem.String;", _IL_ClrType_GetClrName, 
marshal_ppp)
-       IL_METHOD("GetClrNamespace", "(T)oSystem.String;", 
_IL_ClrType_GetClrNamespace, marshal_ppp)
-       IL_METHOD("HasGenericArgumentsImpl", "(T)Z", 
_IL_ClrType_HasGenericArgumentsImpl, marshal_bpp)
-       IL_METHOD("HasGenericParametersImpl", "(T)Z", 
_IL_ClrType_HasGenericParametersImpl, marshal_bpp)
-       IL_METHOD("GetGenericArguments", "(T)[oSystem.Type;", 
_IL_ClrType_GetGenericArguments, marshal_ppp)
-       IL_METHOD("BindGenericParameters", "(T[oSystem.Type;)oSystem.Type;", 
_IL_ClrType_BindGenericParameters, marshal_pppp)
-       IL_METHOD("GetGenericTypeDefinition", "(T)oSystem.Type;", 
_IL_ClrType_GetGenericTypeDefinition, marshal_ppp)
+IL_METHOD_BEGIN(Marshal_Methods)
+       IL_METHOD("FreeHGlobal", "(j)V", _IL_Marshal_FreeHGlobal, marshal_vpj)
+       IL_METHOD("AllocHGlobal", "(j)j", _IL_Marshal_AllocHGlobal, marshal_jpj)
+       IL_METHOD("PtrToStringAnsiInternal", "(ji)oSystem.String;", 
_IL_Marshal_PtrToStringAnsiInternal, marshal_ppji)
+       IL_METHOD("CopyMU", "(oSystem.Array;iji)V", _IL_Marshal_CopyMU, 
marshal_vppiji)
+       IL_METHOD("CopyUM", "(joSystem.Array;ii)V", _IL_Marshal_CopyUM, 
marshal_vpjpii)
+       IL_METHOD("OffsetOfInternal", "(oSystem.Type;oSystem.String;)j", 
_IL_Marshal_OffsetOfInternal, marshal_jppp)
+       IL_METHOD("PtrToStringAutoInternal", "(ji)oSystem.String;", 
_IL_Marshal_PtrToStringAutoInternal, marshal_ppji)
+       IL_METHOD("PtrToStringUniInternal", "(ji)oSystem.String;", 
_IL_Marshal_PtrToStringUniInternal, marshal_ppji)
+       IL_METHOD("PtrToStructureInternal", "(joSystem.Object;Z)Z", 
_IL_Marshal_PtrToStructureInternal, marshal_bpjpb)
+       IL_METHOD("DestroyStructureInternal", "(joSystem.Type;)Z", 
_IL_Marshal_DestroyStructureInternal, marshal_bpjp)
+       IL_METHOD("StructureToPtrInternal", "(oSystem.Object;j)Z", 
_IL_Marshal_StructureToPtrInternal, marshal_bppj)
+       IL_METHOD("ObjectToPtr", "(oSystem.Object;)j", _IL_Marshal_ObjectToPtr, 
marshal_jpp)
+       IL_METHOD("ReadByte", "(ji)B", _IL_Marshal_ReadByte, marshal_Bpji)
+       IL_METHOD("ReadInt16", "(ji)s", _IL_Marshal_ReadInt16, marshal_spji)
+       IL_METHOD("ReadInt32", "(ji)i", _IL_Marshal_ReadInt32, marshal_ipji)
+       IL_METHOD("ReadInt64", "(ji)l", _IL_Marshal_ReadInt64, marshal_lpji)
+       IL_METHOD("ReadIntPtr", "(ji)j", _IL_Marshal_ReadIntPtr, marshal_jpji)
+       IL_METHOD("ReAllocHGlobal", "(jj)j", _IL_Marshal_ReAllocHGlobal, 
marshal_jpjj)
+       IL_METHOD("SizeOfInternal", "(oSystem.Type;)i", 
_IL_Marshal_SizeOfInternal, marshal_ipp)
+       IL_METHOD("StringToHGlobalAnsi", "(oSystem.String;)j", 
_IL_Marshal_StringToHGlobalAnsi, marshal_jpp)
+       IL_METHOD("StringToHGlobalAuto", "(oSystem.String;)j", 
_IL_Marshal_StringToHGlobalAuto, marshal_jpp)
+       IL_METHOD("StringToHGlobalUni", "(oSystem.String;)j", 
_IL_Marshal_StringToHGlobalUni, marshal_jpp)
+       IL_METHOD("UnsafeAddrOfPinnedArrayElement", "(oSystem.Array;i)j", 
_IL_Marshal_UnsafeAddrOfPinnedArrayElement, marshal_jppi)
+       IL_METHOD("WriteByte", "(jiB)V", _IL_Marshal_WriteByte, marshal_vpjiB)
+       IL_METHOD("WriteInt16", "(jis)V", _IL_Marshal_WriteInt16, marshal_vpjis)
+       IL_METHOD("WriteInt32", "(jii)V", _IL_Marshal_WriteInt32, marshal_vpjii)
+       IL_METHOD("WriteInt64", "(jil)V", _IL_Marshal_WriteInt64, marshal_vpjil)
+       IL_METHOD("WriteIntPtr", "(jij)V", _IL_Marshal_WriteIntPtr, 
marshal_vpjij)
 IL_METHOD_END
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_ipjlpii(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_vpip(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeInt *)rvalue) = (*(ILInt32 (*)(void *, ILNativeUInt, 
ILInt64, void *, ILInt32, ILInt32))fn)(*((void * *)(avalue[0])), 
*((ILNativeUInt *)(avalue[1])), *((ILInt64 *)(avalue[2])), *((void * 
*)(avalue[3])), *((ILInt32 *)(avalue[4])), *((ILInt32 *)(avalue[5])));
+       (*(void (*)(void *, ILInt32, void *))fn)(*((void * *)(avalue[0])), 
*((ILInt32 *)(avalue[1])), *((void * *)(avalue[2])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_ipjl(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_jpi(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeInt *)rvalue) = (*(ILInt32 (*)(void *, ILNativeUInt, 
ILInt64))fn)(*((void * *)(avalue[0])), *((ILNativeUInt *)(avalue[1])), 
*((ILInt64 *)(avalue[2])));
+       *((ILNativeUInt *)rvalue) = (*(ILNativeUInt (*)(void *, 
ILInt32))fn)(*((void * *)(avalue[0])), *((ILInt32 *)(avalue[1])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_ppjl(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_bpi(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((void * *)rvalue) = (*(void * (*)(void *, ILNativeUInt, 
ILInt64))fn)(*((void * *)(avalue[0])), *((ILNativeUInt *)(avalue[1])), 
*((ILInt64 *)(avalue[2])));
+       *((ILNativeInt *)rvalue) = (*(ILInt8 (*)(void *, ILInt32))fn)(*((void * 
*)(avalue[0])), *((ILInt32 *)(avalue[1])));
 }
 
 #endif
 
-#ifndef _IL_ClrResourceStream_suppressed
+#ifndef _IL_GCHandle_suppressed
 
-IL_METHOD_BEGIN(ClrResourceStream_Methods)
-       IL_METHOD("ResourceRead", "(jl[Bii)i", 
_IL_ClrResourceStream_ResourceRead, marshal_ipjlpii)
-       IL_METHOD("ResourceReadByte", "(jl)i", 
_IL_ClrResourceStream_ResourceReadByte, marshal_ipjl)
-       IL_METHOD("ResourceGetAddress", "(jl)*B", 
_IL_ClrResourceStream_ResourceGetAddress, marshal_ppjl)
+IL_METHOD_BEGIN(GCHandle_Methods)
+       IL_METHOD("GCFree", "(i)V", _IL_GCHandle_GCFree, marshal_vpi)
+       IL_METHOD("GCGetTarget", "(i)oSystem.Object;", 
_IL_GCHandle_GCGetTarget, marshal_ppi)
+       IL_METHOD("GCSetTarget", "(ioSystem.Object;)V", 
_IL_GCHandle_GCSetTarget, marshal_vpip)
+       IL_METHOD("GCAlloc", 
"(oSystem.Object;vSystem.Runtime.InteropServices.GCHandleType;)i", 
_IL_GCHandle_GCAlloc, marshal_ippi)
+       IL_METHOD("GCAddrOfPinnedObject", "(i)j", 
_IL_GCHandle_GCAddrOfPinnedObject, marshal_jpi)
+       IL_METHOD("GCValidate", "(i)Z", _IL_GCHandle_GCValidate, marshal_bpi)
 IL_METHOD_END
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_pppb(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_SppS(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((void * *)rvalue) = (*(void * (*)(void *, void *, ILInt8))fn)(*((void 
* *)(avalue[0])), *((void * *)(avalue[1])), *((ILInt8 *)(avalue[2])));
+       *((ILNativeUInt *)rvalue) = (*(ILUInt16 (*)(void *, void *, 
ILUInt16))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((ILUInt16 
*)(avalue[2])));
 }
 
 #endif
 
-#ifndef _IL_Assembly_suppressed
+#ifndef _IL_TextInfo_suppressed
 
-IL_METHOD_BEGIN(Assembly_Methods)
-       IL_METHOD("GetExecutingAssembly", "()oSystem.Reflection.Assembly;", 
_IL_Assembly_GetExecutingAssembly, marshal_pp)
-       IL_METHOD("GetEntryAssembly", "()oSystem.Reflection.Assembly;", 
_IL_Assembly_GetEntryAssembly, marshal_pp)
-       IL_METHOD("GetCallingAssembly", "()oSystem.Reflection.Assembly;", 
_IL_Assembly_GetCallingAssembly, marshal_pp)
-       IL_METHOD("LoadFromBytes", 
"([B&ioSystem.Reflection.Assembly;)oSystem.Reflection.Assembly;", 
_IL_Assembly_LoadFromBytes, marshal_ppppp)
-       IL_METHOD("GetType", "(ToSystem.String;ZZ)oSystem.Type;", 
_IL_Assembly_GetType, marshal_ppppbb)
-       IL_METHOD("GetTypes", "(T)[oSystem.Type;", _IL_Assembly_GetTypes, 
marshal_ppp)
-       IL_METHOD("GetFullName", "(T)oSystem.String;", 
_IL_Assembly_GetFullName, marshal_ppp)
-       IL_METHOD("GetLocation", "(T)oSystem.String;", 
_IL_Assembly_GetLocation, marshal_ppp)
-       IL_METHOD("GetModuleInternal", 
"(ToSystem.String;)oSystem.Reflection.Module;", _IL_Assembly_GetModuleInternal, 
marshal_pppp)
-       IL_METHOD("GetExportedTypes", "(T)[oSystem.Type;", 
_IL_Assembly_GetExportedTypes, marshal_ppp)
-       IL_METHOD("GetFile", "(ToSystem.String;)oSystem.IO.FileStream;", 
_IL_Assembly_GetFile, marshal_pppp)
-       IL_METHOD("GetFiles", "(TZ)[oSystem.IO.FileStream;", 
_IL_Assembly_GetFiles, marshal_pppb)
-       IL_METHOD("GetManifestResourceInfo", 
"(ToSystem.String;)oSystem.Reflection.ManifestResourceInfo;", 
_IL_Assembly_GetManifestResourceInfo, marshal_pppp)
-       IL_METHOD("GetManifestResourceNames", "(T)[oSystem.String;", 
_IL_Assembly_GetManifestResourceNames, marshal_ppp)
-       IL_METHOD("GetManifestResourceStream", 
"(ToSystem.String;)oSystem.IO.Stream;", _IL_Assembly_GetManifestResourceStream, 
marshal_pppp)
-       IL_METHOD("LoadFromName", 
"(oSystem.String;&ioSystem.Reflection.Assembly;)oSystem.Reflection.Assembly;", 
_IL_Assembly_LoadFromName, marshal_ppppp)
-       IL_METHOD("LoadFromFile", 
"(oSystem.String;&ioSystem.Reflection.Assembly;)oSystem.Reflection.Assembly;", 
_IL_Assembly_LoadFromFile, marshal_ppppp)
-       IL_METHOD("FillAssemblyName", "(ToSystem.Reflection.AssemblyName;)V", 
_IL_Assembly_FillAssemblyName, marshal_vppp)
-       IL_METHOD("GetEntryPoint", "(T)vSystem.RuntimeMethodHandle;", 
_IL_Assembly_GetEntryPoint, marshal_vppp)
-       IL_METHOD("GetImageRuntimeVersion", "(T)oSystem.String;", 
_IL_Assembly_GetImageRuntimeVersion, marshal_ppp)
-       IL_METHOD("GetSatellitePath", "(ToSystem.String;)oSystem.String;", 
_IL_Assembly_GetSatellitePath, marshal_pppp)
-       IL_METHOD("GetModules", "(TZ)[oSystem.Reflection.Module;", 
_IL_Assembly_GetModules, marshal_pppb)
-       IL_METHOD("GetReferencedAssembliesInternal", 
"(T)[oSystem.Reflection.Assembly;", 
_IL_Assembly_GetReferencedAssembliesInternal, marshal_ppp)
+IL_METHOD_BEGIN(TextInfo_Methods)
+       IL_METHOD("ToLower", "(ToSystem.String;)oSystem.String;", 
_IL_TextInfo_ToLower_String, marshal_pppp)
+       IL_METHOD("ToUpper", "(ToSystem.String;)oSystem.String;", 
_IL_TextInfo_ToUpper_String, marshal_pppp)
+       IL_METHOD("ToLower", "(Tc)c", _IL_TextInfo_ToLower_c, marshal_SppS)
+       IL_METHOD("ToUpper", "(Tc)c", _IL_TextInfo_ToUpper_c, marshal_SppS)
 IL_METHOD_END
 
 #endif
 
-#ifndef _IL_ClrParameter_suppressed
+#ifndef _IL_CultureInfo_suppressed
 
-IL_METHOD_BEGIN(ClrParameter_Methods)
-       IL_METHOD("GetParamAttrs", 
"(j)vSystem.Reflection.ParameterAttributes;", _IL_ClrParameter_GetParamAttrs, 
marshal_ipj)
-       IL_METHOD("GetParamName", "(j)oSystem.String;", 
_IL_ClrParameter_GetParamName, marshal_ppj)
-       IL_METHOD("GetDefault", "(j)oSystem.Object;", 
_IL_ClrParameter_GetDefault, marshal_ppj)
+IL_METHOD_BEGIN(CultureInfo_Methods)
+       IL_METHOD("InternalCultureID", "()i", 
_IL_CultureInfo_InternalCultureID, marshal_ip)
+       IL_METHOD("InternalCultureName", "()oSystem.String;", 
_IL_CultureInfo_InternalCultureName, marshal_pp)
 IL_METHOD_END
 
 #endif
 
-#if !defined(HAVE_LIBFFI)
+#ifndef _IL_ClrSecurity_suppressed
 
-static void marshal_jpjp(void (*fn)(), void *rvalue, void **avalue)
-{
-       *((ILNativeUInt *)rvalue) = (*(ILNativeUInt (*)(void *, ILNativeUInt, 
void *))fn)(*((void * *)(avalue[0])), *((ILNativeUInt *)(avalue[1])), *((void * 
*)(avalue[2])));
-}
+IL_METHOD_BEGIN(ClrSecurity_Methods)
+       IL_METHOD("GetPermissionsFrom", "(i)oSystem.Security.ClrPermissions;", 
_IL_ClrSecurity_GetPermissionsFrom, marshal_ppi)
+       IL_METHOD("SetPermissions", "(oSystem.Security.ClrPermissions;i)V", 
_IL_ClrSecurity_SetPermissions, marshal_vppi)
+       IL_METHOD("GetPermissions", "(i)oSystem.Security.ClrPermissions;", 
_IL_ClrSecurity_GetPermissions, marshal_ppi)
+IL_METHOD_END
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_ipjp(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_dpS(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeInt *)rvalue) = (*(ILInt32 (*)(void *, ILNativeUInt, void 
*))fn)(*((void * *)(avalue[0])), *((ILNativeUInt *)(avalue[1])), *((void * 
*)(avalue[2])));
+       *((ILDouble *)rvalue) = (*(ILDouble (*)(void *, ILUInt16))fn)(*((void * 
*)(avalue[0])), *((ILUInt16 *)(avalue[1])));
 }
 
 #endif
 
-#ifndef _IL_ModuleBuilder_suppressed
+#if !defined(HAVE_LIBFFI)
 
-IL_METHOD_BEGIN(ModuleBuilder_Methods)
-       IL_METHOD("ClrModuleCreate", "(joSystem.String;)j", 
_IL_ModuleBuilder_ClrModuleCreate, marshal_jpjp)
-       IL_METHOD("ClrModuleCreateString", "(joSystem.String;)i", 
_IL_ModuleBuilder_ClrModuleCreateString, marshal_ipjp)
-       IL_METHOD("ClrModuleWriteData", "(j[B)i", 
_IL_ModuleBuilder_ClrModuleWriteData, marshal_ipjp)
-       IL_METHOD("ClrModuleWriteGap", "(ji)i", 
_IL_ModuleBuilder_ClrModuleWriteGap, marshal_ipji)
-IL_METHOD_END
+static void marshal_ipS(void (*fn)(), void *rvalue, void **avalue)
+{
+       *((ILNativeInt *)rvalue) = (*(ILInt32 (*)(void *, ILUInt16))fn)(*((void 
* *)(avalue[0])), *((ILUInt16 *)(avalue[1])));
+}
 
 #endif
 
-#if !defined(HAVE_LIBFFI)
+#ifndef _IL_SysCharInfo_suppressed
 
-static void marshal_jpjij(void (*fn)(), void *rvalue, void **avalue)
-{
-       *((ILNativeUInt *)rvalue) = (*(ILNativeUInt (*)(void *, ILNativeUInt, 
ILInt32, ILNativeUInt))fn)(*((void * *)(avalue[0])), *((ILNativeUInt 
*)(avalue[1])), *((ILInt32 *)(avalue[2])), *((ILNativeUInt *)(avalue[3])));
-}
+IL_METHOD_BEGIN(SysCharInfo_Methods)
+       IL_METHOD("GetNewLine", "()oSystem.String;", 
_IL_SysCharInfo_GetNewLine, marshal_pp)
+       IL_METHOD("GetNumericValue", "(c)d", _IL_SysCharInfo_GetNumericValue, 
marshal_dpS)
+       IL_METHOD("GetUnicodeCategory", 
"(c)vSystem.Globalization.UnicodeCategory;", 
_IL_SysCharInfo_GetUnicodeCategory, marshal_ipS)
+IL_METHOD_END
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_bpjjj(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_lp(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeInt *)rvalue) = (*(ILInt8 (*)(void *, ILNativeUInt, 
ILNativeUInt, ILNativeUInt))fn)(*((void * *)(avalue[0])), *((ILNativeUInt 
*)(avalue[1])), *((ILNativeUInt *)(avalue[2])), *((ILNativeUInt *)(avalue[3])));
+       *((ILInt64 *)rvalue) = (*(ILInt64 (*)(void *))fn)(*((void * 
*)(avalue[0])));
 }
 
 #endif
 
-#if !defined(HAVE_LIBFFI)
+#ifndef _IL_InfoMethods_suppressed
 
-static void marshal_jpjji(void (*fn)(), void *rvalue, void **avalue)
-{
-       *((ILNativeUInt *)rvalue) = (*(ILNativeUInt (*)(void *, ILNativeUInt, 
ILNativeUInt, ILInt32))fn)(*((void * *)(avalue[0])), *((ILNativeUInt 
*)(avalue[1])), *((ILNativeUInt *)(avalue[2])), *((ILInt32 *)(avalue[3])));
-}
+IL_METHOD_BEGIN(InfoMethods_Methods)
+       IL_METHOD("GetPlatformName", "()oSystem.String;", 
_IL_InfoMethods_GetPlatformName, marshal_pp)
+       IL_METHOD("GetRuntimeVersion", "()oSystem.String;", 
_IL_InfoMethods_GetRuntimeVersion, marshal_pp)
+       IL_METHOD("GetNetBIOSMachineName", "()oSystem.String;", 
_IL_InfoMethods_GetNetBIOSMachineName, marshal_pp)
+       IL_METHOD("GetPlatformID", "()vSystem.PlatformID;", 
_IL_InfoMethods_GetPlatformID, marshal_ip)
+       IL_METHOD("GetUserDomainName", "()oSystem.String;", 
_IL_InfoMethods_GetUserDomainName, marshal_pp)
+       IL_METHOD("IsUserInteractive", "()Z", 
_IL_InfoMethods_IsUserInteractive, marshal_bp)
+       IL_METHOD("GetUserName", "()oSystem.String;", 
_IL_InfoMethods_GetUserName, marshal_pp)
+       IL_METHOD("GetWorkingSet", "()l", _IL_InfoMethods_GetWorkingSet, 
marshal_lp)
+       IL_METHOD("GetProcessorCount", "()i", 
_IL_InfoMethods_GetProcessorCount, marshal_ip)
+       IL_METHOD("GetUserStorageDir", "()oSystem.String;", 
_IL_InfoMethods_GetUserStorageDir, marshal_pp)
+       IL_METHOD("GetGlobalConfigDir", "()oSystem.String;", 
_IL_InfoMethods_GetGlobalConfigDir, marshal_pp)
+IL_METHOD_END
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_bpjj(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_ipjpi(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeInt *)rvalue) = (*(ILInt8 (*)(void *, ILNativeUInt, 
ILNativeUInt))fn)(*((void * *)(avalue[0])), *((ILNativeUInt *)(avalue[1])), 
*((ILNativeUInt *)(avalue[2])));
+       *((ILNativeInt *)rvalue) = (*(ILInt32 (*)(void *, ILNativeUInt, void *, 
ILInt32))fn)(*((void * *)(avalue[0])), *((ILNativeUInt *)(avalue[1])), *((void 
* *)(avalue[2])), *((ILInt32 *)(avalue[3])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_lpjjb(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_ppjpiip(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILInt64 *)rvalue) = (*(ILInt64 (*)(void *, ILNativeUInt, 
ILNativeUInt, ILInt8))fn)(*((void * *)(avalue[0])), *((ILNativeUInt 
*)(avalue[1])), *((ILNativeUInt *)(avalue[2])), *((ILInt8 *)(avalue[3])));
+       *((void * *)rvalue) = (*(void * (*)(void *, ILNativeUInt, void *, 
ILInt32, ILInt32, void *))fn)(*((void * *)(avalue[0])), *((ILNativeUInt 
*)(avalue[1])), *((void * *)(avalue[2])), *((ILInt32 *)(avalue[3])), *((ILInt32 
*)(avalue[4])), *((void * *)(avalue[5])));
 }
 
 #endif
 
-#if !defined(HAVE_LIBFFI)
+#ifndef _IL_RegexpMethods_suppressed
 
-static void marshal_ipjj(void (*fn)(), void *rvalue, void **avalue)
-{
-       *((ILNativeInt *)rvalue) = (*(ILInt32 (*)(void *, ILNativeUInt, 
ILNativeUInt))fn)(*((void * *)(avalue[0])), *((ILNativeUInt *)(avalue[1])), 
*((ILNativeUInt *)(avalue[2])));
-}
+IL_METHOD_BEGIN(RegexpMethods_Methods)
+       IL_METHOD("CompileWithSyntaxInternal", "(oSystem.String;i)j", 
_IL_RegexpMethods_CompileWithSyntaxInternal, marshal_jppi)
+       IL_METHOD("FreeInternal", "(j)V", _IL_RegexpMethods_FreeInternal, 
marshal_vpj)
+       IL_METHOD("ExecInternal", "(joSystem.String;i)i", 
_IL_RegexpMethods_ExecInternal, marshal_ipjpi)
+       IL_METHOD("MatchInternal", 
"(joSystem.String;iioSystem.Type;)oSystem.Array;", 
_IL_RegexpMethods_MatchInternal, marshal_ppjpiip)
+       IL_METHOD("CompileInternal", "(oSystem.String;i)j", 
_IL_RegexpMethods_CompileInternal, marshal_jppi)
+IL_METHOD_END
 
 #endif
 
-#ifndef _IL_SignatureHelper_suppressed
+#ifndef _IL_TaskMethods_suppressed
 
-IL_METHOD_BEGIN(SignatureHelper_Methods)
-       IL_METHOD("ClrSigCreateMethod", "(jij)j", 
_IL_SignatureHelper_ClrSigCreateMethod, marshal_jpjij)
-       IL_METHOD("ClrSigModuleToContext", "(j)j", 
_IL_SignatureHelper_ClrSigModuleToContext, marshal_jpj)
-       IL_METHOD("ClrSigCreatePrimitive", "(joSystem.Type;)j", 
_IL_SignatureHelper_ClrSigCreatePrimitive, marshal_jpjp)
-       IL_METHOD("ClrSigCreateArray", "(jij)j", 
_IL_SignatureHelper_ClrSigCreateArray, marshal_jpjij)
-       IL_METHOD("ClrSigCreatePointer", "(jj)j", 
_IL_SignatureHelper_ClrSigCreatePointer, marshal_jpjj)
-       IL_METHOD("ClrSigCreateByRef", "(jj)j", 
_IL_SignatureHelper_ClrSigCreateByRef, marshal_jpjj)
-       IL_METHOD("ClrSigCreateValueType", "(ji)j", 
_IL_SignatureHelper_ClrSigCreateValueType, marshal_jpji)
-       IL_METHOD("ClrSigCreateClass", "(ji)j", 
_IL_SignatureHelper_ClrSigCreateClass, marshal_jpji)
-       IL_METHOD("ClrSigCreateLocal", "(j)j", 
_IL_SignatureHelper_ClrSigCreateLocal, marshal_jpj)
-       IL_METHOD("ClrSigAddArgument", "(jjj)Z", 
_IL_SignatureHelper_ClrSigAddArgument, marshal_bpjjj)
-       IL_METHOD("ClrSigCreateMethodCopy", "(jji)j", 
_IL_SignatureHelper_ClrSigCreateMethodCopy, marshal_jpjji)
-       IL_METHOD("ClrSigCreateProperty", "(jj)j", 
_IL_SignatureHelper_ClrSigCreateProperty, marshal_jpjj)
-       IL_METHOD("ClrSigAddSentinel", "(jj)Z", 
_IL_SignatureHelper_ClrSigAddSentinel, marshal_bpjj)
-       IL_METHOD("ClrSigIdentical", "(jj)Z", 
_IL_SignatureHelper_ClrSigIdentical, marshal_bpjj)
-       IL_METHOD("ClrSigGetHashCode", "(j)i", 
_IL_SignatureHelper_ClrSigGetHashCode, marshal_ipj)
-       IL_METHOD("ClrSigFinalize", "(jjZ)l", 
_IL_SignatureHelper_ClrSigFinalize, marshal_lpjjb)
-       IL_METHOD("ClrSigGetBytes", "(jl)[B", 
_IL_SignatureHelper_ClrSigGetBytes, marshal_ppjl)
-       IL_METHOD("ClrStandAloneToken", "(jj)i", 
_IL_SignatureHelper_ClrStandAloneToken, marshal_ipjj)
+IL_METHOD_BEGIN(TaskMethods_Methods)
+       IL_METHOD("Exit", "(i)V", _IL_TaskMethods_Exit, marshal_vpi)
+       IL_METHOD("SetExitCode", "(i)V", _IL_TaskMethods_SetExitCode, 
marshal_vpi)
+       IL_METHOD("GetCommandLineArgs", "()[oSystem.String;", 
_IL_TaskMethods_GetCommandLineArgs, marshal_pp)
+       IL_METHOD("GetEnvironmentVariable", "(oSystem.String;)oSystem.String;", 
_IL_TaskMethods_GetEnvironmentVariable, marshal_ppp)
+       IL_METHOD("GetEnvironmentCount", "()i", 
_IL_TaskMethods_GetEnvironmentCount, marshal_ip)
+       IL_METHOD("GetEnvironmentKey", "(i)oSystem.String;", 
_IL_TaskMethods_GetEnvironmentKey, marshal_ppi)
+       IL_METHOD("GetEnvironmentValue", "(i)oSystem.String;", 
_IL_TaskMethods_GetEnvironmentValue, marshal_ppi)
 IL_METHOD_END
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_jpjjppip(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_vpii(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeUInt *)rvalue) = (*(ILNativeUInt (*)(void *, ILNativeUInt, 
ILNativeUInt, void *, void *, ILInt32, void *))fn)(*((void * *)(avalue[0])), 
*((ILNativeUInt *)(avalue[1])), *((ILNativeUInt *)(avalue[2])), *((void * 
*)(avalue[3])), *((void * *)(avalue[4])), *((ILInt32 *)(avalue[5])), *((void * 
*)(avalue[6])));
+       (*(void (*)(void *, ILInt32, ILInt32))fn)(*((void * *)(avalue[0])), 
*((ILInt32 *)(avalue[1])), *((ILInt32 *)(avalue[2])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_vpji(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_vpiiiiiiSi(void (*fn)(), void *rvalue, void **avalue)
 {
-       (*(void (*)(void *, ILNativeUInt, ILInt32))fn)(*((void * 
*)(avalue[0])), *((ILNativeUInt *)(avalue[1])), *((ILInt32 *)(avalue[2])));
+       (*(void (*)(void *, ILInt32, ILInt32, ILInt32, ILInt32, ILInt32, 
ILInt32, ILUInt16, ILInt32))fn)(*((void * *)(avalue[0])), *((ILInt32 
*)(avalue[1])), *((ILInt32 *)(avalue[2])), *((ILInt32 *)(avalue[3])), 
*((ILInt32 *)(avalue[4])), *((ILInt32 *)(avalue[5])), *((ILInt32 
*)(avalue[6])), *((ILUInt16 *)(avalue[7])), *((ILInt32 *)(avalue[8])));
 }
 
 #endif
 
-#ifndef _IL_TypeBuilder_suppressed
-
-IL_METHOD_BEGIN(TypeBuilder_Methods)
-       IL_METHOD("ClrTypeImportMember", "(jj)i", 
_IL_TypeBuilder_ClrTypeImportMember, marshal_ipjj)
-       IL_METHOD("ClrTypeImport", "(jj)i", _IL_TypeBuilder_ClrTypeImport, 
marshal_ipjj)
-       IL_METHOD("ClrTypeCreate", 
"(jjoSystem.String;oSystem.String;vSystem.Reflection.TypeAttributes;vSystem.Reflection.Emit.TypeToken;)j",
 _IL_TypeBuilder_ClrTypeCreate, marshal_jpjjppip)
-       IL_METHOD("ClrTypeSetPackingSize", "(ji)V", 
_IL_TypeBuilder_ClrTypeSetPackingSize, marshal_vpji)
-       IL_METHOD("ClrTypeSetClassSize", "(ji)V", 
_IL_TypeBuilder_ClrTypeSetClassSize, marshal_vpji)
-       IL_METHOD("ClrTypeAddInterface", 
"(jvSystem.Reflection.Emit.TypeToken;)V", _IL_TypeBuilder_ClrTypeAddInterface, 
marshal_vpjp)
-       IL_METHOD("ClrTypeGetPackingSize", "(j)i", 
_IL_TypeBuilder_ClrTypeGetPackingSize, marshal_ipj)
-       IL_METHOD("ClrTypeGetClassSize", "(j)i", 
_IL_TypeBuilder_ClrTypeGetClassSize, marshal_ipj)
-       IL_METHOD("ClrTypeAddOverride", "(jii)V", 
_IL_TypeBuilder_ClrTypeAddOverride, marshal_vpjii)
-       IL_METHOD("ClrTypeSetParent", "(jvSystem.Reflection.Emit.TypeToken;)V", 
_IL_TypeBuilder_ClrTypeSetParent, marshal_vpjp)
-IL_METHOD_END
-
-#endif
-
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_jpjpij(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_vpiS(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeUInt *)rvalue) = (*(ILNativeUInt (*)(void *, ILNativeUInt, 
void *, ILInt32, ILNativeUInt))fn)(*((void * *)(avalue[0])), *((ILNativeUInt 
*)(avalue[1])), *((void * *)(avalue[2])), *((ILInt32 *)(avalue[3])), 
*((ILNativeUInt *)(avalue[4])));
+       (*(void (*)(void *, ILInt32, ILUInt16))fn)(*((void * *)(avalue[0])), 
*((ILInt32 *)(avalue[1])), *((ILUInt16 *)(avalue[2])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_vpjip(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_vppppp(void (*fn)(), void *rvalue, void **avalue)
 {
-       (*(void (*)(void *, ILNativeUInt, ILInt32, void *))fn)(*((void * 
*)(avalue[0])), *((ILNativeUInt *)(avalue[1])), *((ILInt32 *)(avalue[2])), 
*((void * *)(avalue[3])));
+       (*(void (*)(void *, void *, void *, void *, void *))fn)(*((void * 
*)(avalue[0])), *((void * *)(avalue[1])), *((void * *)(avalue[2])), *((void * 
*)(avalue[3])), *((void * *)(avalue[4])));
 }
 
 #endif
 
-#ifndef _IL_PropertyBuilder_suppressed
+#if !defined(HAVE_LIBFFI)
 
-IL_METHOD_BEGIN(PropertyBuilder_Methods)
-       IL_METHOD("ClrPropertyCreate", 
"(joSystem.String;vSystem.Reflection.PropertyAttributes;j)j", 
_IL_PropertyBuilder_ClrPropertyCreate, marshal_jpjpij)
-       IL_METHOD("ClrPropertyAddSemantics", 
"(jvSystem.Reflection.MethodSemanticsAttributes;vSystem.Reflection.Emit.MethodToken;)V",
 _IL_PropertyBuilder_ClrPropertyAddSemantics, marshal_vpjip)
-IL_METHOD_END
+static void marshal_vpiiii(void (*fn)(), void *rvalue, void **avalue)
+{
+       (*(void (*)(void *, ILInt32, ILInt32, ILInt32, ILInt32))fn)(*((void * 
*)(avalue[0])), *((ILInt32 *)(avalue[1])), *((ILInt32 *)(avalue[2])), 
*((ILInt32 *)(avalue[3])), *((ILInt32 *)(avalue[4])));
+}
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_jpjpji(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_vpb(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeUInt *)rvalue) = (*(ILNativeUInt (*)(void *, ILNativeUInt, 
void *, ILNativeUInt, ILInt32))fn)(*((void * *)(avalue[0])), *((ILNativeUInt 
*)(avalue[1])), *((void * *)(avalue[2])), *((ILNativeUInt *)(avalue[3])), 
*((ILInt32 *)(avalue[4])));
+       (*(void (*)(void *, ILInt8))fn)(*((void * *)(avalue[0])), *((ILInt8 
*)(avalue[1])));
 }
 
 #endif
 
-#ifndef _IL_FieldBuilder_suppressed
+#if !defined(HAVE_LIBFFI)
 
-IL_METHOD_BEGIN(FieldBuilder_Methods)
-       IL_METHOD("ClrFieldSetConstant", "(joSystem.Object;)V", 
_IL_FieldBuilder_ClrFieldSetConstant, marshal_vpjp)
-       IL_METHOD("ClrFieldCreate", 
"(joSystem.String;jvSystem.Reflection.FieldAttributes;)j", 
_IL_FieldBuilder_ClrFieldCreate, marshal_jpjpji)
-       IL_METHOD("ClrFieldSetRVA", "(ji)V", _IL_FieldBuilder_ClrFieldSetRVA, 
marshal_vpji)
-       IL_METHOD("ClrFieldSetMarshal", "(j[B)V", 
_IL_FieldBuilder_ClrFieldSetMarshal, marshal_vpjp)
-       IL_METHOD("ClrFieldSetOffset", "(ji)V", 
_IL_FieldBuilder_ClrFieldSetOffset, marshal_vpji)
-IL_METHOD_END
+static void marshal_ipipii(void (*fn)(), void *rvalue, void **avalue)
+{
+       *((ILNativeInt *)rvalue) = (*(ILInt32 (*)(void *, ILInt32, void *, 
ILInt32, ILInt32))fn)(*((void * *)(avalue[0])), *((ILInt32 *)(avalue[1])), 
*((void * *)(avalue[2])), *((ILInt32 *)(avalue[3])), *((ILInt32 *)(avalue[4])));
+}
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_jpjiip(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_vpipii(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeUInt *)rvalue) = (*(ILNativeUInt (*)(void *, ILNativeUInt, 
ILInt32, ILInt32, void *))fn)(*((void * *)(avalue[0])), *((ILNativeUInt 
*)(avalue[1])), *((ILInt32 *)(avalue[2])), *((ILInt32 *)(avalue[3])), *((void * 
*)(avalue[4])));
+       (*(void (*)(void *, ILInt32, void *, ILInt32, ILInt32))fn)(*((void * 
*)(avalue[0])), *((ILInt32 *)(avalue[1])), *((void * *)(avalue[2])), *((ILInt32 
*)(avalue[3])), *((ILInt32 *)(avalue[4])));
 }
 
 #endif
 
-#ifndef _IL_ParameterBuilder_suppressed
+#ifndef _IL_Stdio_suppressed
 
-IL_METHOD_BEGIN(ParameterBuilder_Methods)
-       IL_METHOD("ClrParameterCreate", 
"(jivSystem.Reflection.ParameterAttributes;oSystem.String;)j", 
_IL_ParameterBuilder_ClrParameterCreate, marshal_jpjiip)
-       IL_METHOD("ClrParameterGetPosition", "(j)i", 
_IL_ParameterBuilder_ClrParameterGetPosition, marshal_ipj)
-       IL_METHOD("ClrParameterGetAttrs", "(j)i", 
_IL_ParameterBuilder_ClrParameterGetAttrs, marshal_ipj)
-       IL_METHOD("ClrParameterGetName", "(j)oSystem.String;", 
_IL_ParameterBuilder_ClrParameterGetName, marshal_ppj)
+IL_METHOD_BEGIN(Stdio_Methods)
+       IL_METHOD("SetConsoleMode", "(i)V", _IL_Stdio_SetConsoleMode, 
marshal_vpi)
+       IL_METHOD("GetTextAttributes", "()i", _IL_Stdio_GetTextAttributes, 
marshal_ip)
+       IL_METHOD("Beep", "(ii)V", _IL_Stdio_Beep, marshal_vpii)
+       IL_METHOD("Clear", "()V", _IL_Stdio_Clear, marshal_vp)
+       IL_METHOD("GetBufferSize", "(&i&i)V", _IL_Stdio_GetBufferSize, 
marshal_vppp)
+       IL_METHOD("MoveBufferArea", "(iiiiiici)V", _IL_Stdio_MoveBufferArea, 
marshal_vpiiiiiiSi)
+       IL_METHOD("ReadKey", "(&c&i&i)V", _IL_Stdio_ReadKey, marshal_vpppp)
+       IL_METHOD("StdWrite", "(ic)V", _IL_Stdio_StdWrite_ic, marshal_vpiS)
+       IL_METHOD("SetTextAttributes", "(i)V", _IL_Stdio_SetTextAttributes, 
marshal_vpi)
+       IL_METHOD("GetWindowSize", "(&i&i&i&i)V", _IL_Stdio_GetWindowSize, 
marshal_vppppp)
+       IL_METHOD("SetBufferSize", "(ii)V", _IL_Stdio_SetBufferSize, 
marshal_vpii)
+       IL_METHOD("SetCursorPosition", "(ii)V", _IL_Stdio_SetCursorPosition, 
marshal_vpii)
+       IL_METHOD("SetWindowSize", "(iiii)V", _IL_Stdio_SetWindowSize, 
marshal_vpiiii)
+       IL_METHOD("GetLockState", "()i", _IL_Stdio_GetLockState, marshal_ip)
+       IL_METHOD("GetCursorPosition", "(&i&i)V", _IL_Stdio_GetCursorPosition, 
marshal_vppp)
+       IL_METHOD("GetCursorSize", "()i", _IL_Stdio_GetCursorSize, marshal_ip)
+       IL_METHOD("SetCursorSize", "(i)V", _IL_Stdio_SetCursorSize, marshal_vpi)
+       IL_METHOD("GetCursorVisible", "()Z", _IL_Stdio_GetCursorVisible, 
marshal_bp)
+       IL_METHOD("SetCursorVisible", "(Z)V", _IL_Stdio_SetCursorVisible, 
marshal_vpb)
+       IL_METHOD("KeyAvailable", "()Z", _IL_Stdio_KeyAvailable, marshal_bp)
+       IL_METHOD("GetLargestWindowSize", "(&i&i)V", 
_IL_Stdio_GetLargestWindowSize, marshal_vppp)
+       IL_METHOD("SetConsoleTitle", "(oSystem.String;)V", 
_IL_Stdio_SetConsoleTitle, marshal_vpp)
+       IL_METHOD("StdClose", "(i)V", _IL_Stdio_StdClose, marshal_vpi)
+       IL_METHOD("StdFlush", "(i)V", _IL_Stdio_StdFlush, marshal_vpi)
+       IL_METHOD("StdRead", "(i[Bii)i", _IL_Stdio_StdRead_iaBii, 
marshal_ipipii)
+       IL_METHOD("StdWrite", "(i[Bii)V", _IL_Stdio_StdWrite_iaBii, 
marshal_vpipii)
+       IL_METHOD("StdPeek", "(i)i", _IL_Stdio_StdPeek, marshal_ipi)
+       IL_METHOD("StdRead", "(i)i", _IL_Stdio_StdRead_i, marshal_ipi)
+       IL_METHOD("StdRead", "(i[cii)i", _IL_Stdio_StdRead_iacii, 
marshal_ipipii)
+       IL_METHOD("StdWrite", "(i[cii)V", _IL_Stdio_StdWrite_iacii, 
marshal_vpipii)
+       IL_METHOD("StdWrite", "(ioSystem.String;)V", 
_IL_Stdio_StdWrite_iString, marshal_vpip)
 IL_METHOD_END
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_vpjipp(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_ipl(void (*fn)(), void *rvalue, void **avalue)
 {
-       (*(void (*)(void *, ILNativeUInt, ILInt32, void *, void *))fn)(*((void 
* *)(avalue[0])), *((ILNativeUInt *)(avalue[1])), *((ILInt32 *)(avalue[2])), 
*((void * *)(avalue[3])), *((void * *)(avalue[4])));
+       *((ILNativeInt *)rvalue) = (*(ILInt32 (*)(void *, ILInt64))fn)(*((void 
* *)(avalue[0])), *((ILInt64 *)(avalue[1])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_ipjij(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_bpippp(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeInt *)rvalue) = (*(ILInt32 (*)(void *, ILNativeUInt, 
ILInt32, ILNativeUInt))fn)(*((void * *)(avalue[0])), *((ILNativeUInt 
*)(avalue[1])), *((ILInt32 *)(avalue[2])), *((ILNativeUInt *)(avalue[3])));
+       *((ILNativeInt *)rvalue) = (*(ILInt8 (*)(void *, ILInt32, void *, void 
*, void *))fn)(*((void * *)(avalue[0])), *((ILInt32 *)(avalue[1])), *((void * 
*)(avalue[2])), *((void * *)(avalue[3])), *((void * *)(avalue[4])));
 }
 
 #endif
 
-#ifndef _IL_MethodBuilder_suppressed
-
-IL_METHOD_BEGIN(MethodBuilder_Methods)
-       IL_METHOD("ClrMethodCreate", 
"(joSystem.String;vSystem.Reflection.MethodAttributes;j)j", 
_IL_MethodBuilder_ClrMethodCreate, marshal_jpjpij)
-       IL_METHOD("ClrMethodSetImplAttrs", 
"(jvSystem.Reflection.MethodImplAttributes;)V", 
_IL_MethodBuilder_ClrMethodSetImplAttrs, marshal_vpji)
-       IL_METHOD("ClrMethodSetRVA", "(ji)V", 
_IL_MethodBuilder_ClrMethodSetRVA, marshal_vpji)
-       IL_METHOD("ClrMethodAddPInvoke", "(jioSystem.String;oSystem.String;)V", 
_IL_MethodBuilder_ClrMethodAddPInvoke, marshal_vpjipp)
-       IL_METHOD("ClrMethodCreateVarArgRef", "(jij)i", 
_IL_MethodBuilder_ClrMethodCreateVarArgRef, marshal_ipjij)
-IL_METHOD_END
-
-#endif
-
-#ifndef _IL_EventBuilder_suppressed
+#ifndef _IL_TimeMethods_suppressed
 
-IL_METHOD_BEGIN(EventBuilder_Methods)
-       IL_METHOD("ClrEventCreate", 
"(joSystem.String;jvSystem.Reflection.EventAttributes;)j", 
_IL_EventBuilder_ClrEventCreate, marshal_jpjpji)
-       IL_METHOD("ClrEventAddSemantics", 
"(jvSystem.Reflection.MethodSemanticsAttributes;vSystem.Reflection.Emit.MethodToken;)V",
 _IL_EventBuilder_ClrEventAddSemantics, marshal_vpjip)
+IL_METHOD_BEGIN(TimeMethods_Methods)
+       IL_METHOD("GetTimeZoneAdjust", "(l)i", 
_IL_TimeMethods_GetTimeZoneAdjust, marshal_ipl)
+       IL_METHOD("GetCurrentTime", "()l", _IL_TimeMethods_GetCurrentTime, 
marshal_lp)
+       IL_METHOD("GetCurrentUtcTime", "()l", 
_IL_TimeMethods_GetCurrentUtcTime, marshal_lp)
+       IL_METHOD("GetDaylightName", "()oSystem.String;", 
_IL_TimeMethods_GetDaylightName, marshal_pp)
+       IL_METHOD("GetStandardName", "()oSystem.String;", 
_IL_TimeMethods_GetStandardName, marshal_pp)
+       IL_METHOD("GetDaylightRules", "(i&l&l&l)Z", 
_IL_TimeMethods_GetDaylightRules, marshal_bpippp)
+       IL_METHOD("GetUpTime", "()i", _IL_TimeMethods_GetUpTime, marshal_ip)
 IL_METHOD_END
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_jppiiiiip(void (*fn)(), void *rvalue, void **avalue)
-{
-       *((ILNativeUInt *)rvalue) = (*(ILNativeUInt (*)(void *, void *, 
ILInt32, ILInt32, ILInt32, ILInt32, ILInt32, void *))fn)(*((void * 
*)(avalue[0])), *((void * *)(avalue[1])), *((ILInt32 *)(avalue[2])), *((ILInt32 
*)(avalue[3])), *((ILInt32 *)(avalue[4])), *((ILInt32 *)(avalue[5])), 
*((ILInt32 *)(avalue[6])), *((void * *)(avalue[7])));
-}
-
-#endif
-
-#if !defined(HAVE_LIBFFI)
-
-static void marshal_jpjjp(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_vpjpipi(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeUInt *)rvalue) = (*(ILNativeUInt (*)(void *, ILNativeUInt, 
ILNativeUInt, void *))fn)(*((void * *)(avalue[0])), *((ILNativeUInt 
*)(avalue[1])), *((ILNativeUInt *)(avalue[2])), *((void * *)(avalue[3])));
+       (*(void (*)(void *, ILNativeUInt, void *, ILInt32, void *, 
ILInt32))fn)(*((void * *)(avalue[0])), *((ILNativeUInt *)(avalue[1])), *((void 
* *)(avalue[2])), *((ILInt32 *)(avalue[3])), *((void * *)(avalue[4])), 
*((ILInt32 *)(avalue[5])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_vpjj(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_jpip(void (*fn)(), void *rvalue, void **avalue)
 {
-       (*(void (*)(void *, ILNativeUInt, ILNativeUInt))fn)(*((void * 
*)(avalue[0])), *((ILNativeUInt *)(avalue[1])), *((ILNativeUInt *)(avalue[2])));
+       *((ILNativeUInt *)rvalue) = (*(ILNativeUInt (*)(void *, ILInt32, void 
*))fn)(*((void * *)(avalue[0])), *((ILInt32 *)(avalue[1])), *((void * 
*)(avalue[2])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_ipjjppppppp(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_ppipip(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeInt *)rvalue) = (*(ILInt32 (*)(void *, ILNativeUInt, 
ILNativeUInt, void *, void *, void *, void *, void *, void *, void 
*))fn)(*((void * *)(avalue[0])), *((ILNativeUInt *)(avalue[1])), 
*((ILNativeUInt *)(avalue[2])), *((void * *)(avalue[3])), *((void * 
*)(avalue[4])), *((void * *)(avalue[5])), *((void * *)(avalue[6])), *((void * 
*)(avalue[7])), *((void * *)(avalue[8])), *((void * *)(avalue[9])));
+       *((void * *)rvalue) = (*(void * (*)(void *, ILInt32, void *, ILInt32, 
void *))fn)(*((void * *)(avalue[0])), *((ILInt32 *)(avalue[1])), *((void * 
*)(avalue[2])), *((ILInt32 *)(avalue[3])), *((void * *)(avalue[4])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_bpjjpji(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_bppipi(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeInt *)rvalue) = (*(ILInt8 (*)(void *, ILNativeUInt, 
ILNativeUInt, void *, ILNativeUInt, ILInt32))fn)(*((void * *)(avalue[0])), 
*((ILNativeUInt *)(avalue[1])), *((ILNativeUInt *)(avalue[2])), *((void * 
*)(avalue[3])), *((ILNativeUInt *)(avalue[4])), *((ILInt32 *)(avalue[5])));
+       *((ILNativeInt *)rvalue) = (*(ILInt8 (*)(void *, void *, ILInt32, void 
*, ILInt32))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((ILInt32 
*)(avalue[2])), *((void * *)(avalue[3])), *((ILInt32 *)(avalue[4])));
 }
 
 #endif
 
-#ifndef _IL_AssemblyBuilder_suppressed
+#ifndef _IL_CryptoMethods_suppressed
 
-IL_METHOD_BEGIN(AssemblyBuilder_Methods)
-       IL_METHOD("ClrGetItemToken", "(j)i", 
_IL_AssemblyBuilder_ClrGetItemToken, marshal_ipj)
-       IL_METHOD("ClrGetItemFromToken", "(ji)j", 
_IL_AssemblyBuilder_ClrGetItemFromToken, marshal_jpji)
-       IL_METHOD("ClrAssemblyCreate", 
"(oSystem.String;iiiivSystem.Reflection.Emit.AssemblyBuilderAccess;&j)j", 
_IL_AssemblyBuilder_ClrAssemblyCreate, marshal_jppiiiiip)
-       IL_METHOD("ClrAttributeCreate", "(jj[B)j", 
_IL_AssemblyBuilder_ClrAttributeCreate, marshal_jpjjp)
-       IL_METHOD("ClrAttributeAddToItem", "(jj)V", 
_IL_AssemblyBuilder_ClrAttributeAddToItem, marshal_vpjj)
-       IL_METHOD("ClrWriteMethod", "(jj[B[B[j[i[[B[j[i)i", 
_IL_AssemblyBuilder_ClrWriteMethod, marshal_ipjjppppppp)
-       IL_METHOD("ClrSave", 
"(jjoSystem.String;jvSystem.Reflection.Emit.PEFileKinds;)Z", 
_IL_AssemblyBuilder_ClrSave, marshal_bpjjpji)
+IL_METHOD_BEGIN(CryptoMethods_Methods)
+       IL_METHOD("GenerateRandom", "([Bii)V", 
_IL_CryptoMethods_GenerateRandom, marshal_vppii)
+       IL_METHOD("HashNew", "(i)j", _IL_CryptoMethods_HashNew, marshal_jpi)
+       IL_METHOD("HashFree", "(j)V", _IL_CryptoMethods_HashFree, marshal_vpj)
+       IL_METHOD("HashReset", "(j)V", _IL_CryptoMethods_HashReset, marshal_vpj)
+       IL_METHOD("HashUpdate", "(j[Bii)V", _IL_CryptoMethods_HashUpdate, 
marshal_vpjpii)
+       IL_METHOD("HashFinal", "(j[B)V", _IL_CryptoMethods_HashFinal, 
marshal_vpjp)
+       IL_METHOD("Decrypt", "(j[Bi[Bi)V", _IL_CryptoMethods_Decrypt, 
marshal_vpjpipi)
+       IL_METHOD("Encrypt", "(j[Bi[Bi)V", _IL_CryptoMethods_Encrypt, 
marshal_vpjpipi)
+       IL_METHOD("EncryptCreate", "(i[B)j", _IL_CryptoMethods_EncryptCreate, 
marshal_jpip)
+       IL_METHOD("DecryptCreate", "(i[B)j", _IL_CryptoMethods_DecryptCreate, 
marshal_jpip)
+       IL_METHOD("SymmetricFree", "(j)V", _IL_CryptoMethods_SymmetricFree, 
marshal_vpj)
+       IL_METHOD("GetKey", 
"(ioSystem.String;vSystem.Security.Cryptography.CspProviderFlags;&i)[B", 
_IL_CryptoMethods_GetKey, marshal_ppipip)
+       IL_METHOD("NumPow", "([B[B[B)[B", _IL_CryptoMethods_NumPow, 
marshal_ppppp)
+       IL_METHOD("NumMod", "([B[B)[B", _IL_CryptoMethods_NumMod, marshal_pppp)
+       IL_METHOD("NumInv", "([B[B)[B", _IL_CryptoMethods_NumInv, marshal_pppp)
+       IL_METHOD("NumMul", "([B[B[B)[B", _IL_CryptoMethods_NumMul, 
marshal_ppppp)
+       IL_METHOD("NumAdd", "([B[B[B)[B", _IL_CryptoMethods_NumAdd, 
marshal_ppppp)
+       IL_METHOD("NumZero", "([B)Z", _IL_CryptoMethods_NumZero, marshal_bpp)
+       IL_METHOD("NumEq", "([B[B)Z", _IL_CryptoMethods_NumEq, marshal_bppp)
+       IL_METHOD("AlgorithmSupported", "(i)Z", 
_IL_CryptoMethods_AlgorithmSupported, marshal_bpi)
+       IL_METHOD("IsSemiWeakKey", "([Bi)Z", _IL_CryptoMethods_IsSemiWeakKey, 
marshal_bppi)
+       IL_METHOD("IsWeakKey", "([Bi)Z", _IL_CryptoMethods_IsWeakKey, 
marshal_bppi)
+       IL_METHOD("NumSub", "([B[B[B)[B", _IL_CryptoMethods_NumSub, 
marshal_ppppp)
+       IL_METHOD("SameKey", "([Bi[Bi)Z", _IL_CryptoMethods_SameKey, 
marshal_bppipi)
+       IL_METHOD("StoreKey", "(ioSystem.String;[B)V", 
_IL_CryptoMethods_StoreKey, marshal_vpipp)
 IL_METHOD_END
 
 #endif
 
-#ifndef _IL_ClrSecurity_suppressed
+#ifndef _IL_DirMethods_suppressed
 
-IL_METHOD_BEGIN(ClrSecurity_Methods)
-       IL_METHOD("GetPermissionsFrom", "(i)oSystem.Security.ClrPermissions;", 
_IL_ClrSecurity_GetPermissionsFrom, marshal_ppi)
-       IL_METHOD("SetPermissions", "(oSystem.Security.ClrPermissions;i)V", 
_IL_ClrSecurity_SetPermissions, marshal_vppi)
-       IL_METHOD("GetPermissions", "(i)oSystem.Security.ClrPermissions;", 
_IL_ClrSecurity_GetPermissions, marshal_ppi)
+IL_METHOD_BEGIN(DirMethods_Methods)
+       IL_METHOD("GetSystemDirectory", "()oSystem.String;", 
_IL_DirMethods_GetSystemDirectory, marshal_pp)
+       IL_METHOD("GetLogicalDrives", "()[oSystem.String;", 
_IL_DirMethods_GetLogicalDrives, marshal_pp)
+       IL_METHOD("GetCurrentDirectory", "()oSystem.String;", 
_IL_DirMethods_GetCurrentDirectory, marshal_pp)
+       IL_METHOD("ChangeDirectory", "(oSystem.String;)vPlatform.Errno;", 
_IL_DirMethods_ChangeDirectory, marshal_ipp)
+       IL_METHOD("GetFilesInDirectory", 
"(oSystem.String;&[vPlatform.InternalFileInfo;)vPlatform.Errno;", 
_IL_DirMethods_GetFilesInDirectory, marshal_ippp)
+       IL_METHOD("Delete", "(oSystem.String;)vPlatform.Errno;", 
_IL_DirMethods_Delete, marshal_ipp)
+       IL_METHOD("GetCreationTime", "(oSystem.String;&l)vPlatform.Errno;", 
_IL_DirMethods_GetCreationTime, marshal_ippp)
+       IL_METHOD("GetLastAccess", "(oSystem.String;&l)vPlatform.Errno;", 
_IL_DirMethods_GetLastAccess, marshal_ippp)
+       IL_METHOD("GetLastModification", "(oSystem.String;&l)vPlatform.Errno;", 
_IL_DirMethods_GetLastModification, marshal_ippp)
+       IL_METHOD("Rename", "(oSystem.String;oSystem.String;)vPlatform.Errno;", 
_IL_DirMethods_Rename, marshal_ippp)
+       IL_METHOD("CreateDirectory", "(oSystem.String;)vPlatform.Errno;", 
_IL_DirMethods_CreateDirectory, marshal_ipp)
+       IL_METHOD("GetPathInfo", "()vPlatform.PathInfo;", 
_IL_DirMethods_GetPathInfo, marshal_vpp)
 IL_METHOD_END
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_pppS(void (*fn)(), void *rvalue, void **avalue)
-{
-       *((void * *)rvalue) = (*(void * (*)(void *, void *, 
ILUInt16))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((ILUInt16 
*)(avalue[2])));
-}
-
-#endif
-
-#if !defined(HAVE_LIBFFI)
-
-static void marshal_ppppii(void (*fn)(), void *rvalue, void **avalue)
-{
-       *((void * *)rvalue) = (*(void * (*)(void *, void *, void *, ILInt32, 
ILInt32))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((void * 
*)(avalue[2])), *((ILInt32 *)(avalue[3])), *((ILInt32 *)(avalue[4])));
-}
-
-#endif
-
-#if !defined(HAVE_LIBFFI)
-
-static void marshal_pppSi(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_bppiiip(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((void * *)rvalue) = (*(void * (*)(void *, void *, ILUInt16, 
ILInt32))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((ILUInt16 
*)(avalue[2])), *((ILInt32 *)(avalue[3])));
+       *((ILNativeInt *)rvalue) = (*(ILInt8 (*)(void *, void *, ILInt32, 
ILInt32, ILInt32, void *))fn)(*((void * *)(avalue[0])), *((void * 
*)(avalue[1])), *((ILInt32 *)(avalue[2])), *((ILInt32 *)(avalue[3])), 
*((ILInt32 *)(avalue[4])), *((void * *)(avalue[5])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_pppiS(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_lpjli(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((void * *)rvalue) = (*(void * (*)(void *, void *, ILInt32, 
ILUInt16))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((ILInt32 
*)(avalue[2])), *((ILUInt16 *)(avalue[3])));
+       *((ILInt64 *)rvalue) = (*(ILInt64 (*)(void *, ILNativeUInt, ILInt64, 
ILInt32))fn)(*((void * *)(avalue[0])), *((ILNativeUInt *)(avalue[1])), 
*((ILInt64 *)(avalue[2])), *((ILInt32 *)(avalue[3])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_pppip(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_bpjpii(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((void * *)rvalue) = (*(void * (*)(void *, void *, ILInt32, void 
*))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((ILInt32 
*)(avalue[2])), *((void * *)(avalue[3])));
+       *((ILNativeInt *)rvalue) = (*(ILInt8 (*)(void *, ILNativeUInt, void *, 
ILInt32, ILInt32))fn)(*((void * *)(avalue[0])), *((ILNativeUInt *)(avalue[1])), 
*((void * *)(avalue[2])), *((ILInt32 *)(avalue[3])), *((ILInt32 *)(avalue[4])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_pppipi(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_ipjpii(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((void * *)rvalue) = (*(void * (*)(void *, void *, ILInt32, void *, 
ILInt32))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((ILInt32 
*)(avalue[2])), *((void * *)(avalue[3])), *((ILInt32 *)(avalue[4])));
+       *((ILNativeInt *)rvalue) = (*(ILInt32 (*)(void *, ILNativeUInt, void *, 
ILInt32, ILInt32))fn)(*((void * *)(avalue[0])), *((ILNativeUInt *)(avalue[1])), 
*((void * *)(avalue[2])), *((ILInt32 *)(avalue[3])), *((ILInt32 *)(avalue[4])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_pppipii(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_bpjl(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((void * *)rvalue) = (*(void * (*)(void *, void *, ILInt32, void *, 
ILInt32, ILInt32))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), 
*((ILInt32 *)(avalue[2])), *((void * *)(avalue[3])), *((ILInt32 *)(avalue[4])), 
*((ILInt32 *)(avalue[5])));
+       *((ILNativeInt *)rvalue) = (*(ILInt8 (*)(void *, ILNativeUInt, 
ILInt64))fn)(*((void * *)(avalue[0])), *((ILNativeUInt *)(avalue[1])), 
*((ILInt64 *)(avalue[2])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_pppSSii(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_bpjll(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((void * *)rvalue) = (*(void * (*)(void *, void *, ILUInt16, ILUInt16, 
ILInt32, ILInt32))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), 
*((ILUInt16 *)(avalue[2])), *((ILUInt16 *)(avalue[3])), *((ILInt32 
*)(avalue[4])), *((ILInt32 *)(avalue[5])));
+       *((ILNativeInt *)rvalue) = (*(ILInt8 (*)(void *, ILNativeUInt, ILInt64, 
ILInt64))fn)(*((void * *)(avalue[0])), *((ILNativeUInt *)(avalue[1])), 
*((ILInt64 *)(avalue[2])), *((ILInt64 *)(avalue[3])));
 }
 
 #endif
 
-#ifndef _IL_StringBuilder_suppressed
-
-IL_METHOD_BEGIN(StringBuilder_Methods)
-       IL_METHOD("Append", "(Tc)oSystem.Text.StringBuilder;", 
_IL_StringBuilder_Append_c, marshal_pppS)
-       IL_METHOD("Append", "(ToSystem.String;)oSystem.Text.StringBuilder;", 
_IL_StringBuilder_Append_String, marshal_pppp)
-       IL_METHOD("Append", "(ToSystem.String;ii)oSystem.Text.StringBuilder;", 
_IL_StringBuilder_Append_Stringii, marshal_ppppii)
-       IL_METHOD("Append", "(Tci)oSystem.Text.StringBuilder;", 
_IL_StringBuilder_Append_ci, marshal_pppSi)
-       IL_METHOD("Insert", "(Tic)oSystem.Text.StringBuilder;", 
_IL_StringBuilder_Insert_ic, marshal_pppiS)
-       IL_METHOD("Append", "(T[cii)oSystem.Text.StringBuilder;", 
_IL_StringBuilder_Append_acii, marshal_ppppii)
-       IL_METHOD("Insert", "(TioSystem.String;)oSystem.Text.StringBuilder;", 
_IL_StringBuilder_Insert_iString, marshal_pppip)
-       IL_METHOD("Insert", "(TioSystem.String;i)oSystem.Text.StringBuilder;", 
_IL_StringBuilder_Insert_iStringi, marshal_pppipi)
-       IL_METHOD("Append", "(T[c)oSystem.Text.StringBuilder;", 
_IL_StringBuilder_Append_ac, marshal_pppp)
-       IL_METHOD("EnsureCapacity", "(Ti)i", _IL_StringBuilder_EnsureCapacity, 
marshal_ippi)
-       IL_METHOD("Insert", "(Ti[c)oSystem.Text.StringBuilder;", 
_IL_StringBuilder_Insert_iac, marshal_pppip)
-       IL_METHOD("Insert", "(Ti[cii)oSystem.Text.StringBuilder;", 
_IL_StringBuilder_Insert_iacii, marshal_pppipii)
-       IL_METHOD("Replace", "(Tcc)oSystem.Text.StringBuilder;", 
_IL_StringBuilder_Replace_cc, marshal_pppSS)
-       IL_METHOD("Replace", "(Tccii)oSystem.Text.StringBuilder;", 
_IL_StringBuilder_Replace_ccii, marshal_pppSSii)
-IL_METHOD_END
-
-#endif
-
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_ippiipi(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_jp(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeInt *)rvalue) = (*(ILInt32 (*)(void *, void *, ILInt32, 
ILInt32, void *, ILInt32))fn)(*((void * *)(avalue[0])), *((void * 
*)(avalue[1])), *((ILInt32 *)(avalue[2])), *((ILInt32 *)(avalue[3])), *((void * 
*)(avalue[4])), *((ILInt32 *)(avalue[5])));
+       *((ILNativeUInt *)rvalue) = (*(ILNativeUInt (*)(void *))fn)(*((void * 
*)(avalue[0])));
 }
 
 #endif
 
-#ifndef _IL_DefaultEncoding_suppressed
+#if !defined(HAVE_LIBFFI)
 
-IL_METHOD_BEGIN(DefaultEncoding_Methods)
-       IL_METHOD("InternalCodePage", "()i", 
_IL_DefaultEncoding_InternalCodePage, marshal_ip)
-       IL_METHOD("InternalGetByteCount", "([cii)i", 
_IL_DefaultEncoding_InternalGetByteCount_acii, marshal_ippii)
-       IL_METHOD("InternalGetByteCount", "(oSystem.String;ii)i", 
_IL_DefaultEncoding_InternalGetByteCount_Stringii, marshal_ippii)
-       IL_METHOD("InternalGetBytes", "([cii[Bi)i", 
_IL_DefaultEncoding_InternalGetBytes_aciiaBi, marshal_ippiipi)
-       IL_METHOD("InternalGetBytes", "(oSystem.String;ii[Bi)i", 
_IL_DefaultEncoding_InternalGetBytes_StringiiaBi, marshal_ippiipi)
-       IL_METHOD("InternalGetCharCount", "([Bii)i", 
_IL_DefaultEncoding_InternalGetCharCount, marshal_ippii)
-       IL_METHOD("InternalGetChars", "([Bii[ci)i", 
_IL_DefaultEncoding_InternalGetChars, marshal_ippiipi)
-       IL_METHOD("InternalGetMaxByteCount", "(i)i", 
_IL_DefaultEncoding_InternalGetMaxByteCount, marshal_ipi)
-       IL_METHOD("InternalGetMaxCharCount", "(i)i", 
_IL_DefaultEncoding_InternalGetMaxCharCount, marshal_ipi)
-       IL_METHOD("InternalGetString", "([Bii)oSystem.String;", 
_IL_DefaultEncoding_InternalGetString, marshal_pppii)
-IL_METHOD_END
+static void marshal_ippl(void (*fn)(), void *rvalue, void **avalue)
+{
+       *((ILNativeInt *)rvalue) = (*(ILInt32 (*)(void *, void *, 
ILInt64))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((ILInt64 
*)(avalue[2])));
+}
 
 #endif
 
-#ifndef _IL_BlockingOperation_suppressed
+#ifndef _IL_FileMethods_suppressed
 
-IL_METHOD_BEGIN(BlockingOperation_Methods)
-       IL_METHOD("ThreadSigAbort", "(oSystem.Threading.Thread;)V", 
_IL_BlockingOperation_ThreadSigAbort, marshal_vpp)
+IL_METHOD_BEGIN(FileMethods_Methods)
+       IL_METHOD("GetErrnoMessage", "(vPlatform.Errno;)oSystem.String;", 
_IL_FileMethods_GetErrnoMessage, marshal_ppi)
+       IL_METHOD("ValidatePathname", "(oSystem.String;)Z", 
_IL_FileMethods_ValidatePathname, marshal_bpp)
+       IL_METHOD("Open", 
"(oSystem.String;vSystem.IO.FileMode;vSystem.IO.FileAccess;vSystem.IO.FileShare;&j)Z",
 _IL_FileMethods_Open, marshal_bppiiip)
+       IL_METHOD("GetErrno", "()vPlatform.Errno;", _IL_FileMethods_GetErrno, 
marshal_ip)
+       IL_METHOD("CanSeek", "(j)Z", _IL_FileMethods_CanSeek, marshal_bpj)
+       IL_METHOD("Seek", "(jlvSystem.IO.SeekOrigin;)l", _IL_FileMethods_Seek, 
marshal_lpjli)
+       IL_METHOD("Close", "(j)Z", _IL_FileMethods_Close, marshal_bpj)
+       IL_METHOD("Write", "(j[Bii)Z", _IL_FileMethods_Write, marshal_bpjpii)
+       IL_METHOD("FlushWrite", "(j)Z", _IL_FileMethods_FlushWrite, marshal_bpj)
+       IL_METHOD("Read", "(j[Bii)i", _IL_FileMethods_Read, marshal_ipjpii)
+       IL_METHOD("SetLength", "(jl)Z", _IL_FileMethods_SetLength, marshal_bpjl)
+       IL_METHOD("Lock", "(jll)Z", _IL_FileMethods_Lock, marshal_bpjll)
+       IL_METHOD("Unlock", "(jll)Z", _IL_FileMethods_Unlock, marshal_bpjll)
+       IL_METHOD("GetInvalidHandle", "()j", _IL_FileMethods_GetInvalidHandle, 
marshal_jp)
+       IL_METHOD("GetFileType", "(oSystem.String;)vPlatform.FileType;", 
_IL_FileMethods_GetFileType, marshal_ipp)
+       IL_METHOD("SetCreationTime", "(oSystem.String;l)vPlatform.Errno;", 
_IL_FileMethods_SetCreationTime, marshal_ippl)
+       IL_METHOD("SetLastAccessTime", "(oSystem.String;l)vPlatform.Errno;", 
_IL_FileMethods_SetLastAccessTime, marshal_ippl)
+       IL_METHOD("SetLastWriteTime", "(oSystem.String;l)vPlatform.Errno;", 
_IL_FileMethods_SetLastWriteTime, marshal_ippl)
+       IL_METHOD("ReadLink", 
"(oSystem.String;&oSystem.String;)vPlatform.Errno;", _IL_FileMethods_ReadLink, 
marshal_ippp)
+       IL_METHOD("CreateLink", 
"(oSystem.String;oSystem.String;)vPlatform.Errno;", _IL_FileMethods_CreateLink, 
marshal_ippp)
+       IL_METHOD("GetAttributes", "(oSystem.String;&i)vPlatform.Errno;", 
_IL_FileMethods_GetAttributes, marshal_ippp)
+       IL_METHOD("SetAttributes", "(oSystem.String;i)vPlatform.Errno;", 
_IL_FileMethods_SetAttributes, marshal_ippi)
+       IL_METHOD("GetLength", "(oSystem.String;&l)vPlatform.Errno;", 
_IL_FileMethods_GetLength, marshal_ippp)
+       IL_METHOD("HasAsync", "()Z", _IL_FileMethods_HasAsync, marshal_bp)
+       IL_METHOD("CheckHandleAccess", "(jvSystem.IO.FileAccess;)Z", 
_IL_FileMethods_CheckHandleAccess, marshal_bpji)
+       IL_METHOD("Copy", "(oSystem.String;oSystem.String;)vPlatform.Errno;", 
_IL_FileMethods_Copy, marshal_ippp)
 IL_METHOD_END
 
 #endif
@@ -2901,12 +2902,12 @@
 #ifndef _IL_Process_suppressed
 
 IL_METHOD_BEGIN(Process_Methods)
+       IL_METHOD("CloseProcess", "(ji)V", _IL_Process_CloseProcess, 
marshal_vpji)
        IL_METHOD("GetHandleCount", "(j)i", _IL_Process_GetHandleCount, 
marshal_ipj)
        IL_METHOD("GetMainWindowHandle", "(i)j", 
_IL_Process_GetMainWindowHandle, marshal_jpi)
        IL_METHOD("GetMainWindowTitle", "(j)oSystem.String;", 
_IL_Process_GetMainWindowTitle, marshal_ppj)
        IL_METHOD("GetProcessorAffinity", "(j)i", 
_IL_Process_GetProcessorAffinity, marshal_ipj)
        IL_METHOD("MainWindowIsResponding", "(j)Z", 
_IL_Process_MainWindowIsResponding, marshal_bpj)
-       IL_METHOD("CloseProcess", "(ji)V", _IL_Process_CloseProcess, 
marshal_vpji)
        IL_METHOD("CloseMainWindow", "(j)Z", _IL_Process_CloseMainWindow, 
marshal_bpj)
        IL_METHOD("GetCurrentProcessInfo", "(&i&j)V", 
_IL_Process_GetCurrentProcessInfo, marshal_vppp)
        IL_METHOD("KillProcess", "(ji)V", _IL_Process_KillProcess, marshal_vpji)
@@ -2921,71 +2922,31 @@
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_bpii(void (*fn)(), void *rvalue, void **avalue)
-{
-       *((ILNativeInt *)rvalue) = (*(ILInt8 (*)(void *, ILInt32, 
ILInt32))fn)(*((void * *)(avalue[0])), *((ILInt32 *)(avalue[1])), *((ILInt32 
*)(avalue[2])));
-}
-
-#endif
-
-#if !defined(HAVE_LIBFFI)
-
-static void marshal_jpiip(void (*fn)(), void *rvalue, void **avalue)
-{
-       *((ILNativeUInt *)rvalue) = (*(ILNativeUInt (*)(void *, ILInt32, 
ILInt32, void *))fn)(*((void * *)(avalue[0])), *((ILInt32 *)(avalue[1])), 
*((ILInt32 *)(avalue[2])), *((void * *)(avalue[3])));
-}
-
-#endif
-
-#ifndef _IL_PortMethods_suppressed
-
-IL_METHOD_BEGIN(PortMethods_Methods)
-       IL_METHOD("IsValid", "(ii)Z", _IL_PortMethods_IsValid, marshal_bpii)
-       IL_METHOD("IsAccessible", "(ii)Z", _IL_PortMethods_IsAccessible, 
marshal_bpii)
-       IL_METHOD("Open", "(iioPlatform.PortMethods/Parameters;)j", 
_IL_PortMethods_Open, marshal_jpiip)
-       IL_METHOD("Close", "(j)V", _IL_PortMethods_Close, marshal_vpj)
-       IL_METHOD("Modify", "(joPlatform.PortMethods/Parameters;)V", 
_IL_PortMethods_Modify, marshal_vpjp)
-       IL_METHOD("GetBytesToRead", "(j)i", _IL_PortMethods_GetBytesToRead, 
marshal_ipj)
-       IL_METHOD("GetBytesToWrite", "(j)i", _IL_PortMethods_GetBytesToWrite, 
marshal_ipj)
-       IL_METHOD("ReadPins", "(j)i", _IL_PortMethods_ReadPins, marshal_ipj)
-       IL_METHOD("WritePins", "(jii)V", _IL_PortMethods_WritePins, 
marshal_vpjii)
-       IL_METHOD("GetRecommendedBufferSizes", "(&i&i&i)V", 
_IL_PortMethods_GetRecommendedBufferSizes, marshal_vpppp)
-       IL_METHOD("DiscardInBuffer", "(j)V", _IL_PortMethods_DiscardInBuffer, 
marshal_vpj)
-       IL_METHOD("DiscardOutBuffer", "(j)V", _IL_PortMethods_DiscardOutBuffer, 
marshal_vpj)
-       IL_METHOD("DrainOutBuffer", "(j)V", _IL_PortMethods_DrainOutBuffer, 
marshal_vpj)
-       IL_METHOD("Read", "(j[Bii)i", _IL_PortMethods_Read, marshal_ipjpii)
-       IL_METHOD("Write", "(j[Bii)i", _IL_PortMethods_Write, marshal_ipjpii)
-       IL_METHOD("WaitForPinChange", "(j)i", _IL_PortMethods_WaitForPinChange, 
marshal_ipj)
-       IL_METHOD("WaitForInput", "(ji)i", _IL_PortMethods_WaitForInput, 
marshal_ipji)
-       IL_METHOD("Interrupt", "(oSystem.Threading.Thread;)V", 
_IL_PortMethods_Interrupt, marshal_vpp)
-IL_METHOD_END
-
-#endif
-
-#if !defined(HAVE_LIBFFI)
-
-static void marshal_bppppp(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_lpl(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeInt *)rvalue) = (*(ILInt8 (*)(void *, void *, void *, void 
*, void *))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((void * 
*)(avalue[2])), *((void * *)(avalue[3])), *((void * *)(avalue[4])));
+       *((ILInt64 *)rvalue) = (*(ILInt64 (*)(void *, ILInt64))fn)(*((void * 
*)(avalue[0])), *((ILInt64 *)(avalue[1])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_bplppp(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_sps(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeInt *)rvalue) = (*(ILInt8 (*)(void *, ILInt64, void *, void 
*, void *))fn)(*((void * *)(avalue[0])), *((ILInt64 *)(avalue[1])), *((void * 
*)(avalue[2])), *((void * *)(avalue[3])), *((void * *)(avalue[4])));
+       *((ILNativeInt *)rvalue) = (*(ILInt16 (*)(void *, ILInt16))fn)(*((void 
* *)(avalue[0])), *((ILInt16 *)(avalue[1])));
 }
 
 #endif
 
-#ifndef _IL_DnsMethods_suppressed
+#ifndef _IL_IPAddress_suppressed
 
-IL_METHOD_BEGIN(DnsMethods_Methods)
-       IL_METHOD("InternalGetHostByName", 
"(oSystem.String;&oSystem.String;&[oSystem.String;&[l)Z", 
_IL_DnsMethods_InternalGetHostByName, marshal_bppppp)
-       IL_METHOD("InternalGetHostByAddr", 
"(l&oSystem.String;&[oSystem.String;&[l)Z", 
_IL_DnsMethods_InternalGetHostByAddr, marshal_bplppp)
-       IL_METHOD("InternalGetHostName", "()oSystem.String;", 
_IL_DnsMethods_InternalGetHostName, marshal_pp)
+IL_METHOD_BEGIN(IPAddress_Methods)
+       IL_METHOD("HostToNetworkOrder", "(i)i", 
_IL_IPAddress_HostToNetworkOrder_i, marshal_ipi)
+       IL_METHOD("NetworkToHostOrder", "(i)i", 
_IL_IPAddress_NetworkToHostOrder_i, marshal_ipi)
+       IL_METHOD("HostToNetworkOrder", "(l)l", 
_IL_IPAddress_HostToNetworkOrder_l, marshal_lpl)
+       IL_METHOD("HostToNetworkOrder", "(s)s", 
_IL_IPAddress_HostToNetworkOrder_s, marshal_sps)
+       IL_METHOD("NetworkToHostOrder", "(l)l", 
_IL_IPAddress_NetworkToHostOrder_l, marshal_lpl)
+       IL_METHOD("NetworkToHostOrder", "(s)s", 
_IL_IPAddress_NetworkToHostOrder_s, marshal_sps)
 IL_METHOD_END
 
 #endif
@@ -3001,18 +2962,18 @@
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_bpjpp(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_ipjpiii(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeInt *)rvalue) = (*(ILInt8 (*)(void *, ILNativeUInt, void *, 
void *))fn)(*((void * *)(avalue[0])), *((ILNativeUInt *)(avalue[1])), *((void * 
*)(avalue[2])), *((void * *)(avalue[3])));
+       *((ILNativeInt *)rvalue) = (*(ILInt32 (*)(void *, ILNativeUInt, void *, 
ILInt32, ILInt32, ILInt32))fn)(*((void * *)(avalue[0])), *((ILNativeUInt 
*)(avalue[1])), *((void * *)(avalue[2])), *((ILInt32 *)(avalue[3])), *((ILInt32 
*)(avalue[4])), *((ILInt32 *)(avalue[5])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_ipjpiii(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_bpjpp(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeInt *)rvalue) = (*(ILInt32 (*)(void *, ILNativeUInt, void *, 
ILInt32, ILInt32, ILInt32))fn)(*((void * *)(avalue[0])), *((ILNativeUInt 
*)(avalue[1])), *((void * *)(avalue[2])), *((ILInt32 *)(avalue[3])), *((ILInt32 
*)(avalue[4])), *((ILInt32 *)(avalue[5])));
+       *((ILNativeInt *)rvalue) = (*(ILInt8 (*)(void *, ILNativeUInt, void *, 
void *))fn)(*((void * *)(avalue[0])), *((ILNativeUInt *)(avalue[1])), *((void * 
*)(avalue[2])), *((void * *)(avalue[3])));
 }
 
 #endif
@@ -3028,18 +2989,18 @@
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_ippppl(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_bpjiipp(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeInt *)rvalue) = (*(ILInt32 (*)(void *, void *, void *, void 
*, ILInt64))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((void * 
*)(avalue[2])), *((void * *)(avalue[3])), *((ILInt64 *)(avalue[4])));
+       *((ILNativeInt *)rvalue) = (*(ILInt8 (*)(void *, ILNativeUInt, ILInt32, 
ILInt32, void *, void *))fn)(*((void * *)(avalue[0])), *((ILNativeUInt 
*)(avalue[1])), *((ILInt32 *)(avalue[2])), *((ILInt32 *)(avalue[3])), *((void * 
*)(avalue[4])), *((void * *)(avalue[5])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_bpjb(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_ippppl(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeInt *)rvalue) = (*(ILInt8 (*)(void *, ILNativeUInt, 
ILInt8))fn)(*((void * *)(avalue[0])), *((ILNativeUInt *)(avalue[1])), *((ILInt8 
*)(avalue[2])));
+       *((ILNativeInt *)rvalue) = (*(ILInt32 (*)(void *, void *, void *, void 
*, ILInt64))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((void * 
*)(avalue[2])), *((void * *)(avalue[3])), *((ILInt64 *)(avalue[4])));
 }
 
 #endif
@@ -3064,9 +3025,9 @@
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_bpjiipp(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_bpjb(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeInt *)rvalue) = (*(ILInt8 (*)(void *, ILNativeUInt, ILInt32, 
ILInt32, void *, void *))fn)(*((void * *)(avalue[0])), *((ILNativeUInt 
*)(avalue[1])), *((ILInt32 *)(avalue[2])), *((ILInt32 *)(avalue[3])), *((void * 
*)(avalue[4])), *((void * *)(avalue[5])));
+       *((ILNativeInt *)rvalue) = (*(ILInt8 (*)(void *, ILNativeUInt, 
ILInt8))fn)(*((void * *)(avalue[0])), *((ILNativeUInt *)(avalue[1])), *((ILInt8 
*)(avalue[2])));
 }
 
 #endif
@@ -3074,32 +3035,32 @@
 #ifndef _IL_SocketMethods_suppressed
 
 IL_METHOD_BEGIN(SocketMethods_Methods)
+       IL_METHOD("GetErrno", "()vPlatform.Errno;", _IL_SocketMethods_GetErrno, 
marshal_ip)
+       IL_METHOD("GetErrnoMessage", "(vPlatform.Errno;)oSystem.String;", 
_IL_SocketMethods_GetErrnoMessage, marshal_ppi)
        IL_METHOD("GetInvalidHandle", "()j", 
_IL_SocketMethods_GetInvalidHandle, marshal_jp)
        IL_METHOD("AddressFamilySupported", "(i)Z", 
_IL_SocketMethods_AddressFamilySupported, marshal_bpi)
        IL_METHOD("Create", "(iii&j)Z", _IL_SocketMethods_Create, 
marshal_bpiiip)
-       IL_METHOD("Bind", "(j[B)Z", _IL_SocketMethods_Bind, marshal_bpjp)
-       IL_METHOD("Shutdown", "(ji)Z", _IL_SocketMethods_Shutdown, marshal_bpji)
-       IL_METHOD("Listen", "(ji)Z", _IL_SocketMethods_Listen, marshal_bpji)
-       IL_METHOD("Accept", "(j[B&j)Z", _IL_SocketMethods_Accept, marshal_bpjpp)
        IL_METHOD("Connect", "(j[B)Z", _IL_SocketMethods_Connect, marshal_bpjp)
        IL_METHOD("Receive", "(j[Biii)i", _IL_SocketMethods_Receive, 
marshal_ipjpiii)
-       IL_METHOD("ReceiveFrom", "(j[Biii[B)i", _IL_SocketMethods_ReceiveFrom, 
marshal_ipjpiiip)
        IL_METHOD("Send", "(j[Biii)i", _IL_SocketMethods_Send, marshal_ipjpiii)
-       IL_METHOD("SendTo", "(j[Biii[B)i", _IL_SocketMethods_SendTo, 
marshal_ipjpiiip)
-       IL_METHOD("Close", "(j)Z", _IL_SocketMethods_Close, marshal_bpj)
-       IL_METHOD("Select", "([j[j[jl)i", _IL_SocketMethods_Select, 
marshal_ippppl)
-       IL_METHOD("SetBlocking", "(jZ)Z", _IL_SocketMethods_SetBlocking, 
marshal_bpjb)
        IL_METHOD("GetAvailable", "(j)i", _IL_SocketMethods_GetAvailable, 
marshal_ipj)
+       IL_METHOD("Close", "(j)Z", _IL_SocketMethods_Close, marshal_bpj)
+       IL_METHOD("Accept", "(j[B&j)Z", _IL_SocketMethods_Accept, marshal_bpjpp)
        IL_METHOD("GetSockName", "(j[B)Z", _IL_SocketMethods_GetSockName, 
marshal_bpjp)
-       IL_METHOD("SetSocketOption", "(jiii)Z", 
_IL_SocketMethods_SetSocketOption, marshal_bpjiii)
+       IL_METHOD("ReceiveFrom", "(j[Biii[B)i", _IL_SocketMethods_ReceiveFrom, 
marshal_ipjpiiip)
+       IL_METHOD("SendTo", "(j[Biii[B)i", _IL_SocketMethods_SendTo, 
marshal_ipjpiiip)
+       IL_METHOD("Bind", "(j[B)Z", _IL_SocketMethods_Bind, marshal_bpjp)
        IL_METHOD("GetSocketOption", "(jii&i)Z", 
_IL_SocketMethods_GetSocketOption, marshal_bpjiip)
-       IL_METHOD("SetLingerOption", "(jZi)Z", 
_IL_SocketMethods_SetLingerOption, marshal_bpjbi)
        IL_METHOD("GetLingerOption", "(j&Z&i)Z", 
_IL_SocketMethods_GetLingerOption, marshal_bpjpp)
-       IL_METHOD("SetMulticastOption", "(jii[B[B)Z", 
_IL_SocketMethods_SetMulticastOption, marshal_bpjiipp)
        IL_METHOD("GetMulticastOption", "(jii[B[B)Z", 
_IL_SocketMethods_GetMulticastOption, marshal_bpjiipp)
        IL_METHOD("DiscoverIrDADevices", "(j[B)Z", 
_IL_SocketMethods_DiscoverIrDADevices, marshal_bpjp)
-       IL_METHOD("GetErrno", "()vPlatform.Errno;", _IL_SocketMethods_GetErrno, 
marshal_ip)
-       IL_METHOD("GetErrnoMessage", "(vPlatform.Errno;)oSystem.String;", 
_IL_SocketMethods_GetErrnoMessage, marshal_ppi)
+       IL_METHOD("Listen", "(ji)Z", _IL_SocketMethods_Listen, marshal_bpji)
+       IL_METHOD("Select", "([j[j[jl)i", _IL_SocketMethods_Select, 
marshal_ippppl)
+       IL_METHOD("SetSocketOption", "(jiii)Z", 
_IL_SocketMethods_SetSocketOption, marshal_bpjiii)
+       IL_METHOD("SetLingerOption", "(jZi)Z", 
_IL_SocketMethods_SetLingerOption, marshal_bpjbi)
+       IL_METHOD("SetMulticastOption", "(jii[B[B)Z", 
_IL_SocketMethods_SetMulticastOption, marshal_bpjiipp)
+       IL_METHOD("Shutdown", "(ji)Z", _IL_SocketMethods_Shutdown, marshal_bpji)
+       IL_METHOD("SetBlocking", "(jZ)Z", _IL_SocketMethods_SetBlocking, 
marshal_bpjb)
        IL_METHOD("CanStartThreads", "()Z", _IL_SocketMethods_CanStartThreads, 
marshal_bp)
        IL_METHOD("QueueCompletionItem", 
"(oSystem.AsyncCallback;oSystem.IAsyncResult;)Z", 
_IL_SocketMethods_QueueCompletionItem, marshal_bppp)
        IL_METHOD("CreateManualResetEvent", "()oSystem.Threading.WaitHandle;", 
_IL_SocketMethods_CreateManualResetEvent, marshal_pp)
@@ -3110,31 +3071,71 @@
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_lpl(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_bppppp(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILInt64 *)rvalue) = (*(ILInt64 (*)(void *, ILInt64))fn)(*((void * 
*)(avalue[0])), *((ILInt64 *)(avalue[1])));
+       *((ILNativeInt *)rvalue) = (*(ILInt8 (*)(void *, void *, void *, void 
*, void *))fn)(*((void * *)(avalue[0])), *((void * *)(avalue[1])), *((void * 
*)(avalue[2])), *((void * *)(avalue[3])), *((void * *)(avalue[4])));
 }
 
 #endif
 
 #if !defined(HAVE_LIBFFI)
 
-static void marshal_sps(void (*fn)(), void *rvalue, void **avalue)
+static void marshal_bplppp(void (*fn)(), void *rvalue, void **avalue)
 {
-       *((ILNativeInt *)rvalue) = (*(ILInt16 (*)(void *, ILInt16))fn)(*((void 
* *)(avalue[0])), *((ILInt16 *)(avalue[1])));
+       *((ILNativeInt *)rvalue) = (*(ILInt8 (*)(void *, ILInt64, void *, void 
*, void *))fn)(*((void * *)(avalue[0])), *((ILInt64 *)(avalue[1])), *((void * 
*)(avalue[2])), *((void * *)(avalue[3])), *((void * *)(avalue[4])));
 }
 
 #endif
 
-#ifndef _IL_IPAddress_suppressed
+#ifndef _IL_DnsMethods_suppressed
 
-IL_METHOD_BEGIN(IPAddress_Methods)
-       IL_METHOD("HostToNetworkOrder", "(i)i", 
_IL_IPAddress_HostToNetworkOrder_i, marshal_ipi)
-       IL_METHOD("NetworkToHostOrder", "(i)i", 
_IL_IPAddress_NetworkToHostOrder_i, marshal_ipi)
-       IL_METHOD("HostToNetworkOrder", "(l)l", 
_IL_IPAddress_HostToNetworkOrder_l, marshal_lpl)
-       IL_METHOD("HostToNetworkOrder", "(s)s", 
_IL_IPAddress_HostToNetworkOrder_s, marshal_sps)
-       IL_METHOD("NetworkToHostOrder", "(l)l", 
_IL_IPAddress_NetworkToHostOrder_l, marshal_lpl)
-       IL_METHOD("NetworkToHostOrder", "(s)s", 
_IL_IPAddress_NetworkToHostOrder_s, marshal_sps)
+IL_METHOD_BEGIN(DnsMethods_Methods)
+       IL_METHOD("InternalGetHostByName", 
"(oSystem.String;&oSystem.String;&[oSystem.String;&[l)Z", 
_IL_DnsMethods_InternalGetHostByName, marshal_bppppp)
+       IL_METHOD("InternalGetHostByAddr", 
"(l&oSystem.String;&[oSystem.String;&[l)Z", 
_IL_DnsMethods_InternalGetHostByAddr, marshal_bplppp)
+       IL_METHOD("InternalGetHostName", "()oSystem.String;", 
_IL_DnsMethods_InternalGetHostName, marshal_pp)
+IL_METHOD_END
+
+#endif
+
+#if !defined(HAVE_LIBFFI)
+
+static void marshal_bpii(void (*fn)(), void *rvalue, void **avalue)
+{
+       *((ILNativeInt *)rvalue) = (*(ILInt8 (*)(void *, ILInt32, 
ILInt32))fn)(*((void * *)(avalue[0])), *((ILInt32 *)(avalue[1])), *((ILInt32 
*)(avalue[2])));
+}
+
+#endif
+
+#if !defined(HAVE_LIBFFI)
+
+static void marshal_jpiip(void (*fn)(), void *rvalue, void **avalue)
+{
+       *((ILNativeUInt *)rvalue) = (*(ILNativeUInt (*)(void *, ILInt32, 
ILInt32, void *))fn)(*((void * *)(avalue[0])), *((ILInt32 *)(avalue[1])), 
*((ILInt32 *)(avalue[2])), *((void * *)(avalue[3])));
+}
+
+#endif
+
+#ifndef _IL_PortMethods_suppressed
+
+IL_METHOD_BEGIN(PortMethods_Methods)
+       IL_METHOD("GetRecommendedBufferSizes", "(&i&i&i)V", 
_IL_PortMethods_GetRecommendedBufferSizes, marshal_vpppp)
+       IL_METHOD("IsValid", "(ii)Z", _IL_PortMethods_IsValid, marshal_bpii)
+       IL_METHOD("Modify", "(joPlatform.PortMethods/Parameters;)V", 
_IL_PortMethods_Modify, marshal_vpjp)
+       IL_METHOD("GetBytesToRead", "(j)i", _IL_PortMethods_GetBytesToRead, 
marshal_ipj)
+       IL_METHOD("GetBytesToWrite", "(j)i", _IL_PortMethods_GetBytesToWrite, 
marshal_ipj)
+       IL_METHOD("ReadPins", "(j)i", _IL_PortMethods_ReadPins, marshal_ipj)
+       IL_METHOD("WritePins", "(jii)V", _IL_PortMethods_WritePins, 
marshal_vpjii)
+       IL_METHOD("Close", "(j)V", _IL_PortMethods_Close, marshal_vpj)
+       IL_METHOD("DiscardInBuffer", "(j)V", _IL_PortMethods_DiscardInBuffer, 
marshal_vpj)
+       IL_METHOD("DiscardOutBuffer", "(j)V", _IL_PortMethods_DiscardOutBuffer, 
marshal_vpj)
+       IL_METHOD("IsAccessible", "(ii)Z", _IL_PortMethods_IsAccessible, 
marshal_bpii)
+       IL_METHOD("Open", "(iioPlatform.PortMethods/Parameters;)j", 
_IL_PortMethods_Open, marshal_jpiip)
+       IL_METHOD("DrainOutBuffer", "(j)V", _IL_PortMethods_DrainOutBuffer, 
marshal_vpj)
+       IL_METHOD("Read", "(j[Bii)i", _IL_PortMethods_Read, marshal_ipjpii)
+       IL_METHOD("Write", "(j[Bii)i", _IL_PortMethods_Write, marshal_ipjpii)
+       IL_METHOD("WaitForPinChange", "(j)i", _IL_PortMethods_WaitForPinChange, 
marshal_ipj)
+       IL_METHOD("WaitForInput", "(ji)i", _IL_PortMethods_WaitForInput, 
marshal_ipji)
+       IL_METHOD("Interrupt", "(oSystem.Threading.Thread;)V", 
_IL_PortMethods_Interrupt, marshal_vpp)
 IL_METHOD_END
 
 #endif

Index: engine/lib_array.c
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/engine/lib_array.c,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -b -r1.34 -r1.35
--- engine/lib_array.c  18 Nov 2008 20:06:05 -0000      1.34
+++ engine/lib_array.c  3 Jan 2009 14:15:21 -0000       1.35
@@ -1,7 +1,7 @@
 /*
  * lib_array.c - Internalcall methods for "System.Array" and subclasses.
  *
- * Copyright (C) 2001, 2008  Southern Storm Software, Pty Ltd.
+ * Copyright (C) 2001, 2008, 2009  Southern Storm Software, Pty Ltd.
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -4335,6 +4335,24 @@
        }
 }
 
+/*
+ * public virtual Object Array.Clone();
+ */
+ILObject * _IL_Array_Clone(ILExecThread * _thread, ILObject * _this)
+{
+#ifdef IL_CONFIG_NON_VECTOR_ARRAYS
+       /* Test for arrays, which must be cloned differently */
+       if(_ILIsSArray((System_Array *)_this))
+       {
+               return _ILCloneSArray(_thread, (System_Array *)_this);
+       }
+       return _ILCloneMArray(_thread, (System_MArray *)_this);
+#else
+       return _ILCloneSArray(_thread, (System_Array *)_this);
+#endif
+
+}
+
 #endif /* IL_CONFIG_NON_VECTOR_ARRAYS */
 
 #ifdef __cplusplus

Index: engine/lib_object.c
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/engine/lib_object.c,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -b -r1.17 -r1.18
--- engine/lib_object.c 4 Aug 2008 10:42:06 -0000       1.17
+++ engine/lib_object.c 3 Jan 2009 14:15:21 -0000       1.18
@@ -1,7 +1,7 @@
 /*
  * lib_object.c - Internalcall methods for "System.Object".
  *
- * Copyright (C) 2001  Southern Storm Software, Pty Ltd.
+ * Copyright (C) 2001, 2009  Southern Storm Software, Pty Ltd.
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -98,18 +98,6 @@
 {
        ILObject *obj;
 
-       /* Test for arrays, which must be cloned differently */
-       if(_ILIsSArray((System_Array *)_this))
-       {
-               return _ILCloneSArray(thread, (System_Array *)_this);
-       }
-#ifdef IL_CONFIG_NON_VECTOR_ARRAYS
-       else if(_ILIsMArray((System_Array *)_this))
-       {
-               return _ILCloneMArray(thread, (System_MArray *)_this);
-       }
-#endif
-
        /* Allocate a new object of the same class */
        obj = _ILEngineAllocObject(thread, GetObjectClass(_this));
        if(!obj)

Index: engine/mkint.sh
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/engine/mkint.sh,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- engine/mkint.sh     22 Apr 2005 16:08:05 -0000      1.3
+++ engine/mkint.sh     3 Jan 2009 14:15:21 -0000       1.4
@@ -22,6 +22,12 @@
 fi
 
 # Convert the assemblies into the necessary internalcall tables.
+# Make sure that the same locale is used while creating the tables because
+# if that's not done to much noise is gererated by reordering the entries.
+LANG=en_US
+LC_ALL=en_US
+export LANG LC_ALL
+
 DLLS="$PNETLIB/runtime/mscorlib.dll $PNETLIB/System/System.dll 
$PNETLIB/I18N/I18N.CJK.dll $PNETLIB/DotGNU.Misc/DotGNU.Misc.dll"
 ../ilnative/ilinternal -p $DLLS >int_proto.h
 ../ilnative/ilinternal -t $DLLS >int_table.c




reply via email to

[Prev in Thread] Current Thread [Next in Thread]