[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Dotgnu-pnet-commits] CVS: pnet/engine cvm_arith.c,1.14,1.15
From: |
Rhys Weatherley <address@hidden> |
Subject: |
[Dotgnu-pnet-commits] CVS: pnet/engine cvm_arith.c,1.14,1.15 |
Date: |
Sat, 07 Jun 2003 06:57:15 -0400 |
Update of /cvsroot/dotgnu-pnet/pnet/engine
In directory subversions:/tmp/cvs-serv18123/engine
Modified Files:
cvm_arith.c
Log Message:
Move some long shift's out of line to prevent register spills on
some i386 variants (apply patch from Gopal).
Index: cvm_arith.c
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/engine/cvm_arith.c,v
retrieving revision 1.14
retrieving revision 1.15
diff -C2 -r1.14 -r1.15
*** cvm_arith.c 20 Apr 2003 07:43:21 -0000 1.14
--- cvm_arith.c 7 Jun 2003 10:57:10 -0000 1.15
***************
*** 320,323 ****
--- 320,341 ----
}
+ static void LShiftLeft(CVMWord *a, ILUInt32 shiftBy)
+ {
+ ILInt64 tempa = ReadLong(a);
+ WriteLong(a, tempa << shiftBy);
+ }
+
+ static void LShiftRight(CVMWord *a, ILUInt32 shiftBy)
+ {
+ ILInt64 tempa = ReadLong(a);
+ WriteLong(a, tempa >> shiftBy);
+ }
+
+ static void LUShiftRight(CVMWord *a, ILUInt32 shiftBy)
+ {
+ ILUInt64 tempa = ReadULong(a);
+ WriteULong(a, tempa >> shiftBy);
+ }
+
#elif defined(IL_CVM_LOCALS)
***************
*** 2036,2042 ****
{
/* Long shift left */
! WriteLong(&(stacktop[-(CVM_WORDS_PER_LONG + 1)]),
! ReadLong(&(stacktop[-(CVM_WORDS_PER_LONG + 1)])) <<
! (stacktop[-1].uintValue & 0x3F));
MODIFY_PC_AND_STACK(CVM_LEN_NONE, -1);
}
--- 2054,2059 ----
{
/* Long shift left */
! LShiftLeft(&(stacktop[-(CVM_WORDS_PER_LONG + 1)]) ,
! (stacktop[-1].uintValue & 0x3F));
MODIFY_PC_AND_STACK(CVM_LEN_NONE, -1);
}
***************
*** 2067,2072 ****
{
/* Long shift right */
! WriteLong(&(stacktop[-(CVM_WORDS_PER_LONG + 1)]),
! ReadLong(&(stacktop[-(CVM_WORDS_PER_LONG + 1)])) >>
(stacktop[-1].uintValue & 0x3F));
MODIFY_PC_AND_STACK(CVM_LEN_NONE, -1);
--- 2084,2088 ----
{
/* Long shift right */
! LShiftRight(&(stacktop[-(CVM_WORDS_PER_LONG + 1)]) ,
(stacktop[-1].uintValue & 0x3F));
MODIFY_PC_AND_STACK(CVM_LEN_NONE, -1);
***************
*** 2097,2102 ****
{
/* Unsigned long shift right */
! WriteULong(&(stacktop[-(CVM_WORDS_PER_LONG + 1)]),
! ReadULong(&(stacktop[-(CVM_WORDS_PER_LONG + 1)])) >>
(stacktop[-1].uintValue & 0x3F));
MODIFY_PC_AND_STACK(CVM_LEN_NONE, -1);
--- 2113,2117 ----
{
/* Unsigned long shift right */
! LUShiftRight(&(stacktop[-(CVM_WORDS_PER_LONG + 1)]),
(stacktop[-1].uintValue & 0x3F));
MODIFY_PC_AND_STACK(CVM_LEN_NONE, -1);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Dotgnu-pnet-commits] CVS: pnet/engine cvm_arith.c,1.14,1.15,
Rhys Weatherley <address@hidden> <=
- Prev by Date:
[Dotgnu-pnet-commits] CVS: pnet ChangeLog,1.2399,1.2400
- Next by Date:
[Dotgnu-pnet-commits] CVS: pnetlib .cvsignore,1.4,1.5 ChangeLog,1.1003,1.1004 auto_gen.sh,1.2,1.3 libtool.m4,1.1,NONE ltcf-c.sh,1.1,NONE ltconfig,1.1,NONE ltmain.sh,1.1,NONE
- Previous by thread:
[Dotgnu-pnet-commits] CVS: pnet ChangeLog,1.2399,1.2400
- Next by thread:
[Dotgnu-pnet-commits] CVS: pnetlib .cvsignore,1.4,1.5 ChangeLog,1.1003,1.1004 auto_gen.sh,1.2,1.3 libtool.m4,1.1,NONE ltcf-c.sh,1.1,NONE ltconfig,1.1,NONE ltmain.sh,1.1,NONE
- Index(es):