[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Dotgnu-pnet-commits] pnet/engine cvmc_setup.c,1.38,1.39
From: |
Rhys Weatherley <address@hidden> |
Subject: |
[Dotgnu-pnet-commits] pnet/engine cvmc_setup.c,1.38,1.39 |
Date: |
Sat, 29 Nov 2003 21:31:53 +0000 |
Update of /cvsroot/dotgnu-pnet/pnet/engine
In directory subversions:/tmp/cvs-serv11381/engine
Modified Files:
cvmc_setup.c
Log Message:
Truncate or sign-extend 8-bit and 16-bit values from PInvoke/internalcall
methods just in case "libffi" sets the high bits to garbage.
Index: cvmc_setup.c
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/engine/cvmc_setup.c,v
retrieving revision 1.38
retrieving revision 1.39
diff -C2 -d -r1.38 -r1.39
*** cvmc_setup.c 7 Oct 2003 09:38:16 -0000 1.38
--- cvmc_setup.c 29 Nov 2003 21:31:51 -0000 1.39
***************
*** 1074,1077 ****
--- 1074,1108 ----
CVM_ADJUST(1);
}
+
+ /* Truncate or sign-extend small values just in
case
+ "libffi" didn't do it for us */
+ switch(ILType_ToElement(returnType))
+ {
+ case IL_META_ELEMTYPE_BOOLEAN:
+ case IL_META_ELEMTYPE_I1:
+ {
+ CVM_OUT_NONE(COP_I2B);
+ }
+ break;
+
+ case IL_META_ELEMTYPE_U1:
+ {
+ CVM_OUT_NONE(COP_I2UB);
+ }
+ break;
+
+ case IL_META_ELEMTYPE_I2:
+ {
+ CVM_OUT_NONE(COP_I2S);
+ }
+ break;
+
+ case IL_META_ELEMTYPE_U2:
+ case IL_META_ELEMTYPE_CHAR:
+ {
+ CVM_OUT_NONE(COP_I2US);
+ }
+ break;
+ }
CVM_OUT_RETURN(1);
#else
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Dotgnu-pnet-commits] pnet/engine cvmc_setup.c,1.38,1.39,
Rhys Weatherley <address@hidden> <=