[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[dotgnu-pnet-commits] pnet ChangeLog engine/cvm_conv.c engine/cvm_ptr...
From: |
Klaus Treichel |
Subject: |
[dotgnu-pnet-commits] pnet ChangeLog engine/cvm_conv.c engine/cvm_ptr... |
Date: |
Sun, 17 Dec 2006 10:31:32 +0000 |
CVSROOT: /cvsroot/dotgnu-pnet
Module name: pnet
Changes by: Klaus Treichel <ktreichel> 06/12/17 10:31:32
Modified files:
. : ChangeLog
engine : cvm_conv.c cvm_ptr.c jitc_array.c jitc_diag.c
lib_array.c lib_crypt.c lib_defs.h
lib_delegate.c lib_diag.c lib_emit.c
lib_encoding.c lib_helpers.c lib_marshal.c
lib_misc.c lib_reflect.c lib_socket.c
lib_string.c lib_stringbuilder.c lib_task.c
lib_thread.c lib_type.c throw.c
Log message:
2006-12-16 Klaus Treichel <address@hidden>
* engine/lib_defs.c: Add the structure SArrayHeader and use it
in the
header of simple zero based arrays. Add the macro ArrayLength
to access
the array length.
* engine/cvm_conv.c, engine/cvm_ptr.c, engine/jitc_diag.c,
engine/lib_array.c, engine/lib_crypt.c, engine/lib_delegate.c,
engine/lib_diag.c, engine/lib_emit.c, engine/lib_encoding.c,
engine/lib_helpers.c, engine/lib_marshal.c, engine/lib_misc.c,
engine/lib_reflect.c, engine/lib_socket.c, engine/lib_string.c,
engine/lib_stringbuilder.c, engine/lib_task.c,
engine/lib_thread.c,
engine/lib_type.c, engine/throw.c: Use the new macro
ArrayLength where
ever the length of a simple array is accessed.
* engine/jitc_array.c: Use the new structure SArrayHeader to
access the
length field of a simple array.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/pnet/ChangeLog?cvsroot=dotgnu-pnet&r1=1.3396&r2=1.3397
http://cvs.savannah.gnu.org/viewcvs/pnet/engine/cvm_conv.c?cvsroot=dotgnu-pnet&r1=1.30&r2=1.31
http://cvs.savannah.gnu.org/viewcvs/pnet/engine/cvm_ptr.c?cvsroot=dotgnu-pnet&r1=1.48&r2=1.49
http://cvs.savannah.gnu.org/viewcvs/pnet/engine/jitc_array.c?cvsroot=dotgnu-pnet&r1=1.5&r2=1.6
http://cvs.savannah.gnu.org/viewcvs/pnet/engine/jitc_diag.c?cvsroot=dotgnu-pnet&r1=1.2&r2=1.3
http://cvs.savannah.gnu.org/viewcvs/pnet/engine/lib_array.c?cvsroot=dotgnu-pnet&r1=1.31&r2=1.32
http://cvs.savannah.gnu.org/viewcvs/pnet/engine/lib_crypt.c?cvsroot=dotgnu-pnet&r1=1.14&r2=1.15
http://cvs.savannah.gnu.org/viewcvs/pnet/engine/lib_defs.h?cvsroot=dotgnu-pnet&r1=1.28&r2=1.29
http://cvs.savannah.gnu.org/viewcvs/pnet/engine/lib_delegate.c?cvsroot=dotgnu-pnet&r1=1.15&r2=1.16
http://cvs.savannah.gnu.org/viewcvs/pnet/engine/lib_diag.c?cvsroot=dotgnu-pnet&r1=1.15&r2=1.16
http://cvs.savannah.gnu.org/viewcvs/pnet/engine/lib_emit.c?cvsroot=dotgnu-pnet&r1=1.29&r2=1.30
http://cvs.savannah.gnu.org/viewcvs/pnet/engine/lib_encoding.c?cvsroot=dotgnu-pnet&r1=1.6&r2=1.7
http://cvs.savannah.gnu.org/viewcvs/pnet/engine/lib_helpers.c?cvsroot=dotgnu-pnet&r1=1.12&r2=1.13
http://cvs.savannah.gnu.org/viewcvs/pnet/engine/lib_marshal.c?cvsroot=dotgnu-pnet&r1=1.10&r2=1.11
http://cvs.savannah.gnu.org/viewcvs/pnet/engine/lib_misc.c?cvsroot=dotgnu-pnet&r1=1.15&r2=1.16
http://cvs.savannah.gnu.org/viewcvs/pnet/engine/lib_reflect.c?cvsroot=dotgnu-pnet&r1=1.80&r2=1.81
http://cvs.savannah.gnu.org/viewcvs/pnet/engine/lib_socket.c?cvsroot=dotgnu-pnet&r1=1.17&r2=1.18
http://cvs.savannah.gnu.org/viewcvs/pnet/engine/lib_string.c?cvsroot=dotgnu-pnet&r1=1.39&r2=1.40
http://cvs.savannah.gnu.org/viewcvs/pnet/engine/lib_stringbuilder.c?cvsroot=dotgnu-pnet&r1=1.2&r2=1.3
http://cvs.savannah.gnu.org/viewcvs/pnet/engine/lib_task.c?cvsroot=dotgnu-pnet&r1=1.15&r2=1.16
http://cvs.savannah.gnu.org/viewcvs/pnet/engine/lib_thread.c?cvsroot=dotgnu-pnet&r1=1.36&r2=1.37
http://cvs.savannah.gnu.org/viewcvs/pnet/engine/lib_type.c?cvsroot=dotgnu-pnet&r1=1.52&r2=1.53
http://cvs.savannah.gnu.org/viewcvs/pnet/engine/throw.c?cvsroot=dotgnu-pnet&r1=1.11&r2=1.12
Patches:
Index: ChangeLog
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/ChangeLog,v
retrieving revision 1.3396
retrieving revision 1.3397
diff -u -b -r1.3396 -r1.3397
--- ChangeLog 11 Dec 2006 20:40:11 -0000 1.3396
+++ ChangeLog 17 Dec 2006 10:31:31 -0000 1.3397
@@ -1,3 +1,21 @@
+2006-12-16 Klaus Treichel <address@hidden>
+
+ * engine/lib_defs.c: Add the structure SArrayHeader and use it in the
+ header of simple zero based arrays. Add the macro ArrayLength to access
+ the array length.
+
+ * engine/cvm_conv.c, engine/cvm_ptr.c, engine/jitc_diag.c,
+ engine/lib_array.c, engine/lib_crypt.c, engine/lib_delegate.c,
+ engine/lib_diag.c, engine/lib_emit.c, engine/lib_encoding.c,
+ engine/lib_helpers.c, engine/lib_marshal.c, engine/lib_misc.c,
+ engine/lib_reflect.c, engine/lib_socket.c, engine/lib_string.c,
+ engine/lib_stringbuilder.c, engine/lib_task.c, engine/lib_thread.c,
+ engine/lib_type.c, engine/throw.c: Use the new macro ArrayLength where
+ ever the length of a simple array is accessed.
+
+ * engine/jitc_array.c: Use the new structure SArrayHeader to access the
+ length field of a simple array.
+
2006-12-11 Klaus Treichel <address@hidden>
* engine/Makefile.am: Add jitc_inline.c to the jit coder sources.
Index: engine/cvm_conv.c
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/engine/cvm_conv.c,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -b -r1.30 -r1.31
--- engine/cvm_conv.c 8 Oct 2003 09:42:42 -0000 1.30
+++ engine/cvm_conv.c 17 Dec 2006 10:31:32 -0000 1.31
@@ -225,7 +225,7 @@
{
array = (System_Array *)ref;
}
- result = ILGCAlloc(sizeof(void *) * (array->length + 2));
+ result = ILGCAlloc(sizeof(void *) * (ArrayLength(array) + 2));
if(!result)
{
ILExecThreadThrowOutOfMemory(thread);
@@ -237,7 +237,7 @@
/* Copy the array elements */
newArray = &(((void **)result)[1]);
- for(index = 0; index < array->length; ++index)
+ for(index = 0; index < ArrayLength(array); ++index)
{
*newArray = (void *)((*conv)
(thread, ((ILString **)(ArrayToBuffer(array)))[index]));
Index: engine/cvm_ptr.c
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/engine/cvm_ptr.c,v
retrieving revision 1.48
retrieving revision 1.49
diff -u -b -r1.48 -r1.49
--- engine/cvm_ptr.c 17 Jun 2006 09:24:38 -0000 1.48
+++ engine/cvm_ptr.c 17 Dec 2006 10:31:32 -0000 1.49
@@ -24,7 +24,7 @@
ILUInt32 valueSize, ILUInt32 elemSize)
{
ILUInt64 index = ReadULong(posn);
- if(index < (ILUInt64)(ILUInt32)(((System_Array *)tempptr)->length))
+ if(index < (ILUInt64)(ILUInt32)(ArrayLength(tempptr)))
{
/* Convert the array pointer into an element pointer.
Note: this assumes that the array can never be
@@ -1226,7 +1226,7 @@
BEGIN_NULL_CHECK_STMT((tempptr = stacktop[-2].ptrValue)) \
{ \
if(stacktop[-1].uintValue < \
- ((ILUInt32)(((System_Array
*)tempptr)->length))) \
+ ((ILUInt32)(ArrayLength(tempptr)))) \
{ \
stacktop[-2].intValue = \
(ILInt32)(((type *)(ArrayToBuffer(tempptr))) \
@@ -1420,7 +1420,7 @@
BEGIN_NULL_CHECK_STMT((tempptr = stacktop[-2].ptrValue))
{
if(stacktop[-1].uintValue <
- ((ILUInt32)(((System_Array *)tempptr)->length)))
+ ((ILUInt32)(ArrayLength(tempptr))))
{
stacktop[-2].ptrValue =
((void
**)(ArrayToBuffer(tempptr)))[stacktop[-1].uintValue];
@@ -1442,7 +1442,7 @@
BEGIN_NULL_CHECK_STMT((tempptr = stacktop[-3].ptrValue)) \
{ \
if(stacktop[-2].uintValue < \
- ((ILUInt32)(((System_Array
*)tempptr)->length))) \
+ ((ILUInt32)(ArrayLength(tempptr)))) \
{ \
((type
*)(ArrayToBuffer(tempptr)))[stacktop[-2].uintValue] = \
(type)(stacktop[-1].intValue); \
@@ -1578,7 +1578,7 @@
BEGIN_NULL_CHECK_STMT((tempptr = stacktop[-3].ptrValue))
{
if(stacktop[-2].uintValue <
- ((ILUInt32)(((System_Array *)tempptr)->length)))
+ ((ILUInt32)(ArrayLength(tempptr))))
{
((void
**)(ArrayToBuffer(tempptr)))[stacktop[-2].uintValue] =
stacktop[-1].ptrValue;
@@ -1635,7 +1635,7 @@
BEGIN_NULL_CHECK_STMT((tempptr = stacktop[-2].ptrValue))
{
if(stacktop[-1].uintValue <
- ((ILUInt32)(((System_Array *)tempptr)->length)))
+ ((ILUInt32)(ArrayLength(tempptr))))
{
/* Adjust the pointer to address the first array
element */
stacktop[-2].ptrValue = (void *)(((unsigned char
*)tempptr) +
@@ -1693,7 +1693,7 @@
BEGIN_NULL_CHECK_STMT((tempptr = stacktop[-(CVM_WORDS_PER_LONG +
1)].ptrValue))
{
if(ReadULong(&(stacktop[-CVM_WORDS_PER_LONG])) <
- ((ILUInt64)(ILUInt32)(((System_Array
*)tempptr)->length)))
+ ((ILUInt64)(ILUInt32)(ArrayLength(tempptr))))
{
/* Adjust the pointer to address the first array
element */
stacktop[-(CVM_WORDS_PER_LONG + 1)].ptrValue =
@@ -1794,10 +1794,10 @@
{
#ifdef IL_NATIVE_INT32
stacktop[-1].intValue =
- ((System_Array *)(stacktop[-1].ptrValue))->length;
+ ArrayLength(stacktop[-1].ptrValue);
#else
WriteLong(&(stacktop[-1]),
- (ILInt64)(((System_Array
*)(stacktop[-1].ptrValue))->length));
+
(ILInt64)(ArrayLength(stacktop[-1].ptrValue)));
#endif
MODIFY_PC_AND_STACK(CVM_LEN_NONE, CVM_WORDS_PER_NATIVE_INT - 1);
}
@@ -3000,7 +3000,7 @@
BEGIN_NULL_CHECK_STMT((tempptr = stacktop[-2].ptrValue)) \
{ \
if(stacktop[-1].uintValue < \
- ((ILUInt32)(((System_Array
*)tempptr)->length))) \
+ ((ILUInt32)(ArrayLength(tempptr)))) \
{ \
write(&(stacktop[-2]), \
read((CVMWord *)&(((type
*)(ArrayToBuffer(tempptr))) \
@@ -3116,7 +3116,7 @@
BEGIN_NULL_CHECK_STMT((tempptr = stacktop[-(size + 2)].ptrValue)) \
{ \
if(stacktop[-(size + 1)].uintValue < \
- ((ILUInt32)(((System_Array
*)tempptr)->length))) \
+ ((ILUInt32)(ArrayLength(tempptr)))) \
{ \
write(((CVMWord *)&(((type *)(ArrayToBuffer(tempptr))) \
[stacktop[-(size +
1)].uintValue])), \
Index: engine/jitc_array.c
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/engine/jitc_array.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- engine/jitc_array.c 28 Nov 2006 19:15:23 -0000 1.5
+++ engine/jitc_array.c 17 Dec 2006 10:31:32 -0000 1.6
@@ -124,7 +124,7 @@
return (System_Array *)0;
}
ptr = (System_Array *)_ILJitAlloc(arrayClass, (ILUInt32)totalSize);
- ptr->length = numElements;
+ ArrayLength(ptr) = numElements;
return ptr;
}
@@ -147,7 +147,7 @@
return (System_Array *)0;
}
ptr = (System_Array *)_ILJitAllocAtomic(arrayClass,
(ILUInt32)totalSize);
- ptr->length = numElements;
+ ArrayLength(ptr) = numElements;
return ptr;
}
@@ -249,7 +249,7 @@
/* Set the length in the array. */
jit_insn_store_relative(jitFunction,
newArray,
- offsetof(System_Array,
length),
+ offsetof(SArrayHeader,
length),
arrayLength);
return newArray;
}
@@ -678,7 +678,9 @@
{
ILJitValue len;
- len = jit_insn_load_relative(coder->jitFunction, array, 0,
+ len = jit_insn_load_relative(coder->jitFunction,
+ array,
+
offsetof(SArrayHeader, length),
_IL_JIT_TYPE_INT32);
return len;
}
Index: engine/jitc_diag.c
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/engine/jitc_diag.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- engine/jitc_diag.c 26 Jun 2006 19:29:49 -0000 1.2
+++ engine/jitc_diag.c 17 Dec 2006 10:31:32 -0000 1.3
@@ -183,7 +183,7 @@
{
return 0;
}
- ((System_Array *)array)->length = num;
+ ArrayLength(array) = num;
/* Fill the array with the packed stack data */
data = (PackedStackFrame *)ArrayToBuffer(array);
Index: engine/lib_array.c
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/engine/lib_array.c,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -b -r1.31 -r1.32
--- engine/lib_array.c 29 Oct 2006 09:19:39 -0000 1.31
+++ engine/lib_array.c 17 Dec 2006 10:31:32 -0000 1.32
@@ -132,7 +132,7 @@
}
if(array)
{
- array->length = (ILInt32)length;
+ ArrayLength(array) = (ILInt32)length;
}
return array;
}
@@ -2613,7 +2613,7 @@
return;
}
else if(length < 0 ||
- (array->length - index) < length)
+ (ArrayLength(array) - index) < length)
{
ILExecThreadThrowArgRange(thread, "index",
"Arg_InvalidArrayRange");
return;
@@ -2700,7 +2700,7 @@
if(_ILIsSArray(_this))
{
start = ArrayToBuffer(_this);
- totalLen = _this->length;
+ totalLen = ArrayLength(_this);
}
#ifdef IL_CONFIG_NON_VECTOR_ARRAYS
else if(_ILIsMArray(_this))
@@ -2860,7 +2860,7 @@
}
if(array)
{
- array->length = (ILInt32)length1;
+ ArrayLength(array) = (ILInt32)length1;
}
return (ILObject *)array;
}
@@ -3011,7 +3011,7 @@
#endif
/* Handle the single-dimensional, zero lower bound, case specially */
- if(lengths->length == 1 &&
+ if(ArrayLength(lengths) == 1 &&
(!lowerBounds || ((ILInt32 *)ArrayToBuffer(lowerBounds))[0] == 0))
{
return _IL_Array_CreateArray_jiiii(thread, elementType, 1,
@@ -3020,7 +3020,7 @@
#ifdef IL_CONFIG_NON_VECTOR_ARRAYS
/* Create the array type and class structures */
- rank = lengths->length;
+ rank = ArrayLength(lengths);
elemType = ILClassToType((ILClass *)elementType);
if(lowerBounds)
{
@@ -3135,7 +3135,7 @@
System_Array *_this = (System_Array *)thisObj;
if(_ILIsSArray(_this))
{
- return _this->length;
+ return ArrayLength(_this);
}
#ifdef IL_CONFIG_NON_VECTOR_ARRAYS
else if(_ILIsMArray(_this))
@@ -3167,7 +3167,7 @@
{
if(dimension == 0)
{
- return _this->length;
+ return ArrayLength(_this);
}
}
#ifdef IL_CONFIG_NON_VECTOR_ARRAYS
@@ -3229,7 +3229,7 @@
{
if(dimension == 0)
{
- return _this->length - 1;
+ return ArrayLength(_this) - 1;
}
}
#ifdef IL_CONFIG_NON_VECTOR_ARRAYS
@@ -3286,7 +3286,7 @@
ILUInt32 elemSize = ILSizeOfType(thread, elemType);
if(_ILIsSArray(_this))
{
- if(index1 < 0 || index1 >= _this->length)
+ if(index1 < 0 || index1 >= ArrayLength(_this))
{
ILExecThreadThrowSystem(thread,
"System.IndexOutOfRangeException",
"Arg_InvalidArrayIndex");
@@ -3414,7 +3414,7 @@
ILInt32 *ind = (ILInt32 *)ArrayToBuffer(indices);
/* Handle the single-dimensional case specially */
- if(indices->length == 1)
+ if(ArrayLength(indices) == 1)
{
return _IL_Array_Get_iii(thread, thisObj, ind[0], 0, 0);
}
@@ -3537,7 +3537,7 @@
if(_ILIsSArray(_this))
{
- if(index1 < 0 || index1 >= _this->length)
+ if(index1 < 0 || index1 >= ArrayLength(_this))
{
ILExecThreadThrowSystem(thread,
"System.IndexOutOfRangeException",
"Arg_InvalidArrayIndex");
@@ -3658,7 +3658,7 @@
ILInt32 *ind = (ILInt32 *)ArrayToBuffer(indices);
/* Handle the single-dimensional case specially */
- if(indices->length == 1)
+ if(ArrayLength(indices) == 1)
{
_IL_Array_Set_Objectiii(thread, thisObj, value, ind[0], 0, 0);
return;
@@ -3804,7 +3804,7 @@
if(_ILIsSArray(array))
{
ILType *synType = ILClassGetSynType(GetObjectClass(array));
- return array->length * ILSizeOfType(thread,
ILType_ElemType(synType));
+ return ArrayLength(array) * ILSizeOfType(thread,
ILType_ElemType(synType));
}
#ifdef IL_CONFIG_NON_VECTOR_ARRAYS
else if(_ILIsMArray(array))
@@ -3871,7 +3871,7 @@
System_Array *array = (System_Array *)_array;
ILType *type;
ILInt32 elemSize;
- if(index >= 0 && index < array->length)
+ if(index >= 0 && index < ArrayLength(array))
{
/* Get the element size */
type = ILClassGetSynType(GetObjectClass(array));
@@ -3912,7 +3912,7 @@
System_Array *array = (System_Array *)_array;
ILType *type;
ILInt32 elemSize;
- if(index >= 0 && index < array->length)
+ if(index >= 0 && index < ArrayLength(array))
{
/* Get the element size */
type = ILClassGetSynType(GetObjectClass(array));
@@ -4037,7 +4037,7 @@
elemSize = ILSizeOfType(thread, elemType);
/* Get the total length of the array object */
- totalLen = sizeof(System_Array) + elemSize *
((ILUInt32)(array->length));
+ totalLen = sizeof(System_Array) + elemSize *
((ILUInt32)(ArrayLength(array)));
/* Allocate differently for primitive and non-primitive arrays */
if(ILType_IsPrimitive(elemType) && elemType != ILType_TypedRef)
Index: engine/lib_crypt.c
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/engine/lib_crypt.c,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -b -r1.14 -r1.15
--- engine/lib_crypt.c 28 Nov 2003 03:59:47 -0000 1.14
+++ engine/lib_crypt.c 17 Dec 2006 10:31:32 -0000 1.15
@@ -582,7 +582,7 @@
context->encrypt = (SymCryptFunc)ILDES3Process;
context->decrypt = (SymCryptFunc)ILDES3Process;
ILDES3Init(&(((DES3Context *)context)->des3),
- ArrayToBuffer(key),
(int)(key->length * 8), 0);
+ ArrayToBuffer(key),
(int)(ArrayLength(key) * 8), 0);
return (ILNativeInt)context;
}
/* Not reached */
@@ -600,7 +600,7 @@
context->encrypt = (SymCryptFunc)ILRC2Encrypt;
context->decrypt = (SymCryptFunc)ILRC2Decrypt;
ILRC2Init(&(((RC2Context *)context)->rc2),
- ArrayToBuffer(key), (int)(key->length
* 8));
+ ArrayToBuffer(key),
(int)(ArrayLength(key) * 8));
return (ILNativeInt)context;
}
/* Not reached */
@@ -618,7 +618,7 @@
context->encrypt = (SymCryptFunc)ILAESEncrypt;
context->decrypt = (SymCryptFunc)ILAESDecrypt;
ILAESInit(&(((AESContext *)context)->aes),
- ArrayToBuffer(key), (int)(key->length
* 8));
+ ArrayToBuffer(key),
(int)(ArrayLength(key) * 8));
return (ILNativeInt)context;
}
/* Not reached */
@@ -672,7 +672,7 @@
context->encrypt = (SymCryptFunc)ILDES3Process;
context->decrypt = (SymCryptFunc)ILDES3Process;
ILDES3Init(&(((DES3Context *)context)->des3),
- ArrayToBuffer(key),
(int)(key->length * 8), 1);
+ ArrayToBuffer(key),
(int)(ArrayLength(key) * 8), 1);
return (ILNativeInt)context;
}
/* Not reached */
@@ -743,7 +743,7 @@
if(x)
{
*xbig = ILBigNumFromBytes((unsigned char *)(ArrayToBuffer(x)),
- x->length);
+
ArrayLength(x));
if(!(*xbig))
{
ILExecThreadThrowOutOfMemory(_thread);
@@ -757,7 +757,7 @@
if(y)
{
*ybig = ILBigNumFromBytes((unsigned char *)(ArrayToBuffer(y)),
- y->length);
+
ArrayLength(y));
if(!(*ybig))
{
if(x)
@@ -775,7 +775,7 @@
if(z)
{
*zbig = ILBigNumFromBytes((unsigned char *)(ArrayToBuffer(z)),
- z->length);
+
ArrayLength(z));
if(!(*zbig))
{
if(x)
Index: engine/lib_defs.h
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/engine/lib_defs.h,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -b -r1.28 -r1.29
--- engine/lib_defs.h 1 May 2006 17:30:50 -0000 1.28
+++ engine/lib_defs.h 17 Dec 2006 10:31:32 -0000 1.29
@@ -181,12 +181,20 @@
/*
* Internal structure of an array header, padded to the best alignment.
+ * TODO: We can enable the rank once the changed structure can be fixed
+ * in the unroller.
*/
-typedef union
+typedef struct
{
+ /* ILInt32 rank; */ /* Allways 0
for simple arrays. */
ILInt32 length;
+} SArrayHeader;
+
+typedef union
+{
+ SArrayHeader __header;
#if !defined(__i386) && !defined(__i386__)
- unsigned char pad[IL_BEST_ALIGNMENT];
+ unsigned char pad[(sizeof(SArrayHeader) & ~(IL_BEST_ALIGNMENT - 1)) +
IL_BEST_ALIGNMENT];
#endif
} System_Array;
@@ -197,6 +205,11 @@
#define ArrayToBuffer(array) ((void *)(((System_Array *)(array)) +
1))
/*
+ * Get the length (number of elements) in a simple array.
+ */
+#define ArrayLength(array) (((System_Array
*)(array))->__header.length)
+
+/*
* Determine if an array inherits from "$Synthetic.SArray".
*/
int _ILIsSArray(System_Array *array);
Index: engine/lib_delegate.c
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/engine/lib_delegate.c,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -b -r1.15 -r1.16
--- engine/lib_delegate.c 17 Jun 2006 09:24:38 -0000 1.15
+++ engine/lib_delegate.c 17 Dec 2006 10:31:32 -0000 1.16
@@ -117,7 +117,7 @@
paramcount = ILTypeNumParams(invokeSignature);
- if (args->length < paramcount || outParams->length < paramcount)
+ if (ArrayLength(args) < paramcount || ArrayLength(outParams) <
paramcount)
{
return;
}
@@ -136,7 +136,7 @@
{
paramType = ILType_Ref(paramType);
- if (j >= outParams->length)
+ if (j >= ArrayLength(outParams))
{
break;
}
Index: engine/lib_diag.c
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/engine/lib_diag.c,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -b -r1.15 -r1.16
--- engine/lib_diag.c 30 Aug 2006 17:33:25 -0000 1.15
+++ engine/lib_diag.c 17 Dec 2006 10:31:32 -0000 1.16
@@ -463,7 +463,7 @@
{
return 0;
}
- ((System_Array *)array)->length = num;
+ ArrayLength(array) = num;
/* Fill the array with the packed stack data */
data = (PackedStackFrame *)ArrayToBuffer(array);
Index: engine/lib_emit.c
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/engine/lib_emit.c,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -b -r1.29 -r1.30
--- engine/lib_emit.c 23 Aug 2005 10:45:52 -0000 1.29
+++ engine/lib_emit.c 17 Dec 2006 10:31:32 -0000 1.30
@@ -284,7 +284,7 @@
/* write out the header */
buf = (unsigned char *)ArrayToBuffer(_header);
- length = (unsigned long)_header->length;
+ length = (unsigned long)ArrayLength(_header);
ILWriterTextWrite(writer, buf, length);
/* get the rva of the code section */
@@ -292,7 +292,7 @@
/* write out the code section */
buf = (unsigned char *)ArrayToBuffer(_code);
- length = (unsigned long)_code->length;
+ length = (unsigned long)ArrayLength(_code);
ILWriterTextWrite(writer, buf, length);
/* register token fixups for the code section */
@@ -300,7 +300,7 @@
{
ptrs = (ILNativeInt *)ArrayToBuffer(_codeFixupPtrs);
offsets = (ILInt32 *)ArrayToBuffer(_codeFixupOffsets);
- length = (unsigned long)_codeFixupPtrs->length;
+ length = (unsigned long)ArrayLength(_codeFixupPtrs);
for (i = 0; i < length; ++i)
{
ILWriterSetFixup(writer, rva+offsets[i], (ILProgramItem
*)ptrs[i]);
@@ -322,11 +322,11 @@
/* write out the exception block section */
eBlocks = (System_Array **)ArrayToBuffer(_exceptionBlocks);
- len = (unsigned long)_exceptionBlocks->length;
+ len = (unsigned long)ArrayLength(_exceptionBlocks);
for (i = 0; i < len; ++i)
{
buf = (unsigned char *)ArrayToBuffer(eBlocks[i]);
- length = (unsigned long)eBlocks[i]->length;
+ length = (unsigned long)ArrayLength(eBlocks[i]);
ILWriterTextWrite(writer, buf, length);
}
@@ -335,7 +335,7 @@
{
ptrs = (ILNativeInt *)ArrayToBuffer(_exceptionBlockFixupPtrs);
offsets = (ILInt32 *)ArrayToBuffer(_exceptionBlockFixupOffsets);
- length = (unsigned long)_exceptionBlockFixupPtrs->length;
+ length = (unsigned long)ArrayLength(_exceptionBlockFixupPtrs);
for (i = 0; i < length; ++i)
{
ILWriterSetFixup(writer, rva+offsets[i], (ILProgramItem
*)ptrs[i]);
@@ -400,7 +400,7 @@
}
ILAttributeSetType(attr, ILToProgramItem(member));
if(!ILAttributeSetValue(attr, ArrayToBuffer(blob),
- (unsigned
long)(long)(blob->length)))
+ (unsigned
long)(long)(ArrayLength(blob))))
{
return 0;
}
@@ -689,7 +689,7 @@
owner = (ILProgramItem *)item;
image = ILProgramItem_Image(owner);
blob = (ILUInt8 *)ArrayToBuffer(data);
- length = (unsigned long)data->length;
+ length = (unsigned long)ArrayLength(data);
if (!(marshal = ILFieldMarshalCreate(image, 0, owner)))
{
IL_METADATA_UNLOCK(_ILExecThreadProcess(_thread));
Index: engine/lib_encoding.c
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/engine/lib_encoding.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- engine/lib_encoding.c 14 Nov 2002 04:07:25 -0000 1.6
+++ engine/lib_encoding.c 17 Dec 2006 10:31:32 -0000 1.7
@@ -62,7 +62,7 @@
(((ILUInt16 *)ArrayToBuffer(chars)) + charIndex,
(unsigned long)charCount,
((ILUInt8 *)ArrayToBuffer(bytes)) + byteIndex,
- (unsigned long)(bytes->length - byteIndex));
+ (unsigned long)(ArrayLength(bytes) - byteIndex));
}
/*
@@ -79,7 +79,7 @@
(StringToBuffer(s) + charIndex,
(unsigned long)charCount,
((ILUInt8 *)ArrayToBuffer(bytes)) + byteIndex,
- (unsigned long)(bytes->length - byteIndex));
+ (unsigned long)(ArrayLength(bytes) - byteIndex));
}
/*
@@ -107,7 +107,7 @@
(((ILUInt8 *)ArrayToBuffer(bytes)) + byteIndex,
(unsigned long)byteCount,
((ILUInt16 *)ArrayToBuffer(chars)) + charIndex,
- (unsigned long)(chars->length - charIndex));
+ (unsigned long)(ArrayLength(chars) - charIndex));
}
/*
Index: engine/lib_helpers.c
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/engine/lib_helpers.c,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -b -r1.12 -r1.13
--- engine/lib_helpers.c 16 Jun 2006 09:51:23 -0000 1.12
+++ engine/lib_helpers.c 17 Dec 2006 10:31:32 -0000 1.13
@@ -136,7 +136,7 @@
if(_ILIsSArray(array))
{
buffer = ArrayToBuffer(array);
- maxSize = (ILUInt32)(array->length * elemSize);
+ maxSize = (ILUInt32)(ArrayLength(array) * elemSize);
}
#ifdef IL_CONFIG_NON_VECTOR_ARRAYS
else if(_ILIsMArray(array))
Index: engine/lib_marshal.c
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/engine/lib_marshal.c,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -b -r1.10 -r1.11
--- engine/lib_marshal.c 24 Sep 2006 18:16:21 -0000 1.10
+++ engine/lib_marshal.c 17 Dec 2006 10:31:32 -0000 1.11
@@ -485,7 +485,7 @@
if(UnmanagedOK(_thread) && arr && index >= 0 &&
_ILIsSArray((System_Array *)arr) &&
- index < ((System_Array *)arr)->length)
+ index < ArrayLength(arr))
{
type = ILClassGetSynType(GetObjectClass(arr));
type = ILTypeGetEnumType(ILType_ElemType(type));
Index: engine/lib_misc.c
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/engine/lib_misc.c,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -b -r1.15 -r1.16
--- engine/lib_misc.c 17 Oct 2006 12:24:18 -0000 1.15
+++ engine/lib_misc.c 17 Dec 2006 10:31:32 -0000 1.16
@@ -235,7 +235,7 @@
ArgIterator *iter = (ArgIterator *)_this;
if(iter->un.argIter.args)
{
- iter->un.argIter.posn = iter->un.argIter.args->length;
+ iter->un.argIter.posn = ArrayLength(iter->un.argIter.args);
}
}
@@ -250,7 +250,7 @@
ILClass *classInfo;
if(iter->un.argIter.args &&
- iter->un.argIter.posn < iter->un.argIter.args->length)
+ iter->un.argIter.posn < ArrayLength(iter->un.argIter.args))
{
/* Extract the next object and unpack it */
object = &(((ILObject **)ArrayToBuffer(iter->un.argIter.args))
@@ -425,7 +425,7 @@
ILObject *object;
if(iter->un.argIter.args &&
- iter->un.argIter.posn < iter->un.argIter.args->length)
+ iter->un.argIter.posn < ArrayLength(iter->un.argIter.args))
{
/* Extract the next object and determine its type */
object = ((ILObject **)ArrayToBuffer(iter->un.argIter.args))
@@ -458,7 +458,7 @@
ArgIterator *iter = (ArgIterator *)_this;
if(iter->un.argIter.args)
{
- return iter->un.argIter.args->length - iter->un.argIter.posn;
+ return ArrayLength(iter->un.argIter.args) -
iter->un.argIter.posn;
}
else
{
@@ -485,7 +485,7 @@
offset = 0;
/* Resolve the fields within the object, level by level */
- for(index = 0; index < flds->length; ++index)
+ for(index = 0; index < ArrayLength(flds); ++index)
{
field = *((ILField **)(((ILObject
**)(ArrayToBuffer(flds)))[index]));
if(!field)
@@ -503,7 +503,7 @@
0, ILField_Type(field), 0);
classInfo = ILClassResolve(classInfo);
if(!classInfo ||
- (index < (flds->length - 1) &&
!ILClassIsValueType(classInfo)))
+ (index < (ArrayLength(flds) - 1) &&
!ILClassIsValueType(classInfo)))
{
ILExecThreadThrowSystem
(_thread, "System.ArgumentException",
Index: engine/lib_reflect.c
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/engine/lib_reflect.c,v
retrieving revision 1.80
retrieving revision 1.81
diff -u -b -r1.80 -r1.81
--- engine/lib_reflect.c 13 Nov 2006 18:06:09 -0000 1.80
+++ engine/lib_reflect.c 17 Dec 2006 10:31:32 -0000 1.81
@@ -1581,7 +1581,7 @@
to be able to modify the IL binary after we have loaded it.
Or worse, have the garbage collector throw the "bytes" array away */
loadError = ILImageLoadFromMemory(ArrayToBuffer(bytes),
-
(unsigned long)(long)(bytes->length),
+
(unsigned long)(long)(ArrayLength(bytes)),
thread->process->context,
&image, IL_LOADFLAG_FORCE_32BIT, 0);
if(loadError == 0)
@@ -2852,7 +2852,7 @@
numParams = (ILInt32)ILTypeNumParams(signature);
if(numParams == 0)
{
- if(parameters && parameters->length != 0)
+ if(parameters && ArrayLength(parameters) != 0)
{
ILExecThreadThrowSystem(thread,
"System.ArgumentException", 0);
return 0;
@@ -2860,7 +2860,7 @@
}
else
{
- if(!parameters || parameters->length != numParams)
+ if(!parameters || ArrayLength(parameters) != numParams)
{
ILExecThreadThrowSystem(thread,
"System.ArgumentException", 0);
return 0;
Index: engine/lib_socket.c
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/engine/lib_socket.c,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -b -r1.17 -r1.18
--- engine/lib_socket.c 18 Jun 2004 15:09:03 -0000 1.17
+++ engine/lib_socket.c 17 Dec 2006 10:31:32 -0000 1.18
@@ -78,7 +78,7 @@
return (ILBool)(ILSysIOSocketBind
((ILSysIOHandle)handle,
(unsigned char *)ArrayToBuffer(addr),
- addr->length));
+ ArrayLength(addr)));
}
/*
@@ -110,7 +110,7 @@
*newHandle = (ILNativeInt)(ILSysIOSocketAccept
((ILSysIOHandle)handle,
(unsigned char *)ArrayToBuffer(addrReturn),
- addrReturn->length));
+ ArrayLength(addrReturn)));
return (*newHandle != (ILNativeInt)ILSysIOHandle_Invalid);
}
@@ -124,7 +124,7 @@
return (ILBool)(ILSysIOSocketConnect
((ILSysIOHandle)handle,
(unsigned char *)ArrayToBuffer(addr),
- addr->length));
+ ArrayLength(addr)));
}
/*
@@ -157,7 +157,7 @@
((ILUInt8 *)(ArrayToBuffer(buffer))) + offset,
size, flags,
(unsigned char *)ArrayToBuffer(addrReturn),
- addrReturn->length);
+ ArrayLength(addrReturn));
}
/*
@@ -188,7 +188,7 @@
((ILUInt8 *)(ArrayToBuffer(buffer))) + offset,
size, flags,
(unsigned char *)ArrayToBuffer(addr),
- addr->length);
+ ArrayLength(addr));
}
ILBool _IL_SocketMethods_Close(ILExecThread *_thread, ILNativeInt handle)
@@ -208,11 +208,11 @@
{
return ILSysIOSocketSelect
((readarray ? (ILSysIOHandle **)(ArrayToBuffer(readarray)) : 0),
- (readarray ? readarray->length : 0),
+ (readarray ? ArrayLength(readarray) : 0),
(writearray ? (ILSysIOHandle **)(ArrayToBuffer(writearray)) :
0),
- (writearray ? writearray->length : 0),
+ (writearray ? ArrayLength(writearray) : 0),
(errorarray ? (ILSysIOHandle **)(ArrayToBuffer(errorarray)) :
0),
- (errorarray ? errorarray->length : 0), timeout);
+ (errorarray ? ArrayLength(errorarray) : 0), timeout);
}
/*
@@ -244,7 +244,7 @@
return (ILBool)ILSysIOSocketGetName
((ILSysIOHandle)handle,
(unsigned char *)ArrayToBuffer(addrReturn),
- addrReturn->length);
+ ArrayLength(addrReturn));
}
/*
@@ -325,8 +325,8 @@
{
return (ILSysIOSocketSetMulticast
((ILSysIOHandle)handle, af, name,
- (unsigned char *)ArrayToBuffer(group),
group->length,
- (unsigned char *)ArrayToBuffer(mcint),
mcint->length) != 0);
+ (unsigned char *)ArrayToBuffer(group),
ArrayLength(group),
+ (unsigned char *)ArrayToBuffer(mcint),
ArrayLength(mcint)) != 0);
}
/*
@@ -341,8 +341,8 @@
{
return (ILSysIOSocketGetMulticast
((ILSysIOHandle)handle, af, name,
- (unsigned char *)ArrayToBuffer(group),
group->length,
- (unsigned char *)ArrayToBuffer(mcint),
mcint->length) != 0);
+ (unsigned char *)ArrayToBuffer(group),
ArrayLength(group),
+ (unsigned char *)ArrayToBuffer(mcint),
ArrayLength(mcint)) != 0);
}
ILBool _IL_SocketMethods_DiscoverIrDADevices(ILExecThread *_thread,
@@ -351,7 +351,7 @@
{
return (ILSysIODiscoverIrDADevices
((ILSysIOHandle)handle,
- (unsigned char *)ArrayToBuffer(buf),
buf->length) != 0);
+ (unsigned char *)ArrayToBuffer(buf),
ArrayLength(buf)) != 0);
}
/*
Index: engine/lib_string.c
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/engine/lib_string.c,v
retrieving revision 1.39
retrieving revision 1.40
diff -u -b -r1.39 -r1.40
--- engine/lib_string.c 30 Oct 2006 21:56:22 -0000 1.39
+++ engine/lib_string.c 17 Dec 2006 10:31:32 -0000 1.40
@@ -71,7 +71,7 @@
"ArgRange_Array");
return 0;
}
- if(length < 0 || (value->length - startIndex) < length)
+ if(length < 0 || (ArrayLength(value) - startIndex) < length)
{
ILExecThreadThrowArgRange(thread, "length",
"ArgRange_Array");
@@ -109,7 +109,7 @@
indicates that the empty string should be constructed */
if(value)
{
- length = value->length;
+ length = ArrayLength(value);
}
else
{
@@ -879,7 +879,7 @@
/* Get the start and extent of the "anyOf" array */
anyBuf = ArrayToBuffer(anyOf);
- anyLength = anyOf->length;
+ anyLength = ArrayLength(anyOf);
if(!anyLength)
{
/* Bail out because there is nothing to find */
@@ -985,7 +985,7 @@
/* Get the start and extent of the "anyOf" array */
anyBuf = ArrayToBuffer(anyOf);
- anyLength = anyOf->length;
+ anyLength = ArrayLength(anyOf);
if(!anyLength)
{
/* Bail out because there is nothing to find */
@@ -1436,7 +1436,7 @@
{
if(trimChars)
{
- ILInt32 len = trimChars->length;
+ ILInt32 len = ArrayLength(trimChars);
ILUInt16 *buf = (ILUInt16 *)(ArrayToBuffer(trimChars));
while(len > 0)
{
Index: engine/lib_stringbuilder.c
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/engine/lib_stringbuilder.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- engine/lib_stringbuilder.c 9 Feb 2005 10:14:31 -0000 1.2
+++ engine/lib_stringbuilder.c 17 Dec 2006 10:31:32 -0000 1.3
@@ -313,11 +313,11 @@
{
if(value)
{
- if(value->length > 0)
+ if(ArrayLength(value) > 0)
{
return Append(_thread, (System_Text_StringBuilder
*)_this,
(ILInt16
*)ArrayToBuffer(value),
- value->length);
+ ArrayLength(value));
}
}
return _this;
@@ -333,7 +333,7 @@
{
if(value)
{
- if(startIndex < 0 || startIndex > value->length)
+ if(startIndex < 0 || startIndex > ArrayLength(value))
{
ILExecThreadThrowArgRange(_thread,
"startIndex",
@@ -342,7 +342,7 @@
}
else
{
- if(length < 0 || (value->length - startIndex) < length)
+ if(length < 0 || (ArrayLength(value) - startIndex) <
length)
{
ILExecThreadThrowArgRange(_thread,
"length",
@@ -557,15 +557,15 @@
{
if(value)
{
- if(value->length)
+ if(ArrayLength(value))
{
if(Insert(_thread, (System_Text_StringBuilder *)_this,
index,
- value->length))
+ ArrayLength(value)))
{
ILMemCpy(StringToBuffer(BuildString(_this)) +
index,
ArrayToBuffer(value),
- sizeof(ILUInt16) *
value->length);
+ sizeof(ILUInt16) *
ArrayLength(value));
}
else
@@ -590,14 +590,14 @@
{
if(value)
{
- if(startIndex < 0 || startIndex > value->length)
+ if(startIndex < 0 || startIndex > ArrayLength(value))
{
ILExecThreadThrowArgRange(_thread,
"startIndex",
"ArgRange_Array");
return 0;
}
- if((value->length - startIndex) < length)
+ if((ArrayLength(value) - startIndex) < length)
{
ILExecThreadThrowArgRange(_thread,
"length",
Index: engine/lib_task.c
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/engine/lib_task.c,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -b -r1.15 -r1.16
--- engine/lib_task.c 13 Jul 2006 17:09:45 -0000 1.15
+++ engine/lib_task.c 17 Dec 2006 10:31:32 -0000 1.16
@@ -657,14 +657,14 @@
return 0;
}
}
- args = (char **)ILCalloc(argv->length + 1, sizeof(char *));
+ args = (char **)ILCalloc(ArrayLength(argv) + 1, sizeof(char *));
if(!args)
{
ILExecThreadThrowOutOfMemory(_thread);
return 0;
}
argc = 0;
- while(argc < argv->length)
+ while(argc < ArrayLength(argv))
{
ansi = ILStringToAnsi
(_thread, ((ILString **)ArrayToBuffer(argv))[argc]);
@@ -687,14 +687,14 @@
/* Convert the environment */
if(envVars)
{
- newEnviron = (char **)ILCalloc(envVars->length + 1, sizeof(char
*));
+ newEnviron = (char **)ILCalloc(ArrayLength(envVars) + 1,
sizeof(char *));
if(!newEnviron)
{
ILExecThreadThrowOutOfMemory(_thread);
FreeStringList(args, argc);
return 0;
}
- while(varNum < (int)(envVars->length))
+ while(varNum < (int)(ArrayLength(envVars)))
{
ansi = ILStringToAnsi
(_thread, ((ILString
**)ArrayToBuffer(envVars))[varNum]);
Index: engine/lib_thread.c
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/engine/lib_thread.c,v
retrieving revision 1.36
retrieving revision 1.37
diff -u -b -r1.36 -r1.37
--- engine/lib_thread.c 31 Aug 2006 06:47:21 -0000 1.36
+++ engine/lib_thread.c 17 Dec 2006 10:31:32 -0000 1.37
@@ -961,7 +961,7 @@
handles = (ILWaitHandle **)ArrayToBuffer(waitHandles);
/* Perform the wait */
- result = ILWaitAll(handles, (ILUInt32)(waitHandles->length), timeout);
+ result = ILWaitAll(handles, (ILUInt32)(ArrayLength(waitHandles)),
timeout);
if (result == IL_WAIT_TIMEOUT)
{
@@ -1000,7 +1000,7 @@
handles = (ILWaitHandle **)ArrayToBuffer(waitHandles);
/* Perform the wait */
- result = ILWaitAny(handles, (ILUInt32)(waitHandles->length), timeout);
+ result = ILWaitAny(handles, (ILUInt32)(ArrayLength(waitHandles)),
timeout);
if (result == IL_WAIT_TIMEOUT)
{
Index: engine/lib_type.c
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/engine/lib_type.c,v
retrieving revision 1.52
retrieving revision 1.53
diff -u -b -r1.52 -r1.53
--- engine/lib_type.c 28 Jan 2006 15:07:10 -0000 1.52
+++ engine/lib_type.c 17 Dec 2006 10:31:32 -0000 1.53
@@ -921,7 +921,7 @@
}
/* Shorten the array to its final length and return */
- array->length = count;
+ ArrayLength(array) = count;
return array;
#else
_ILClrNotImplemented(thread);
@@ -1894,14 +1894,14 @@
ILType *typeInfo;
/* Check the number of parameters */
- if(ILTypeNumParams(signature) != types->length)
+ if(ILTypeNumParams(signature) != ArrayLength(types))
{
return 0;
}
/* Scan the parameters and check for matches */
items = (ILObject **)ArrayToBuffer(types);
- for(paramNum = 0; paramNum < types->length; ++paramNum)
+ for(paramNum = 0; paramNum < ArrayLength(types); ++paramNum)
{
if(items[paramNum] == 0 && !needExact)
{
@@ -2347,7 +2347,7 @@
{
return 0;
}
- array->length = 4;
+ ArrayLength(array) = 4;
/* Convert the type into an ILClass structure */
classInfo = _ILGetClrClass(thread, _this);
@@ -2411,19 +2411,19 @@
{
return 0;
}
- if(numFound >= array->length)
+ if(numFound >= ArrayLength(array))
{
newArray = (System_Array *)_ILEngineAlloc
(thread, arrayClass,
sizeof(System_Array) +
- sizeof(void *) *
(array->length + 4));
+ sizeof(void *) *
(ArrayLength(array) + 4));
if(!newArray)
{
return 0;
}
ILMemCpy(ArrayToBuffer(newArray),
ArrayToBuffer(array),
- sizeof(void *) *
array->length);
- newArray->length = array->length + 4;
+ sizeof(void *) *
ArrayLength(array));
+ ArrayLength(newArray) = ArrayLength(array) + 4;
array = newArray;
}
((void **)ArrayToBuffer(array))[numFound++] =
foundObject;
@@ -2479,19 +2479,19 @@
{
return 0;
}
- if(numFound >= array->length)
+ if(numFound >= ArrayLength(array))
{
newArray = (System_Array
*)_ILEngineAlloc
(thread,
arrayClass,
sizeof(System_Array) +
-
sizeof(void *) * (array->length + 4));
+
sizeof(void *) * (ArrayLength(array) + 4));
if(!newArray)
{
return 0;
}
ILMemCpy(ArrayToBuffer(newArray), ArrayToBuffer(array),
- sizeof(void *)
* array->length);
- newArray->length =
array->length + 4;
+ sizeof(void *)
* ArrayLength(array));
+ ArrayLength(newArray) =
ArrayLength(array) + 4;
array = newArray;
}
((void
**)ArrayToBuffer(array))[numFound++] = foundObject;
@@ -2506,7 +2506,7 @@
(bindingAttrs & (ILInt32)BF_DeclaredOnly) == 0);
/* Truncate the array to its actual length and return it */
- array->length = numFound;
+ ArrayLength(array) = numFound;
return (ILObject *)array;
#else
_ILClrNotImplemented(thread);
Index: engine/throw.c
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/engine/throw.c,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -b -r1.11 -r1.12
--- engine/throw.c 27 May 2004 23:50:53 -0000 1.11
+++ engine/throw.c 17 Dec 2006 10:31:32 -0000 1.12
@@ -306,7 +306,7 @@
if(stackTrace)
{
frames = (PackedStackFrame *)ArrayToBuffer(stackTrace);
- length = ((System_Array *)stackTrace)->length;
+ length = ArrayLength(stackTrace);
for(posn = 0; posn < length; ++posn)
{
method = frames[posn].method;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [dotgnu-pnet-commits] pnet ChangeLog engine/cvm_conv.c engine/cvm_ptr...,
Klaus Treichel <=