[quake3-commits] r2163 - trunk/code/qcommon

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Fri Sep 9 17:54:14 EDT 2011


Author: ztm
Date: 2011-09-09 17:54:14 -0400 (Fri, 09 Sep 2011)
New Revision: 2163

Modified:
   trunk/code/qcommon/vm_x86.c
   trunk/code/qcommon/vm_x86_64.c
Log:
Support vm syscalls with up to 15 args using 64 bit compiled vm (like interprated vms).

Modified: trunk/code/qcommon/vm_x86.c
===================================================================
--- trunk/code/qcommon/vm_x86.c	2011-09-09 21:50:45 UTC (rev 2162)
+++ trunk/code/qcommon/vm_x86.c	2011-09-09 21:54:14 UTC (rev 2163)
@@ -442,7 +442,7 @@
 		int *data;
 #if idx64
 		int index;
-		intptr_t args[11];
+		intptr_t args[16];
 #endif
 		
 		data = (int *) (savedVM->dataBase + programStack + 4);

Modified: trunk/code/qcommon/vm_x86_64.c
===================================================================
--- trunk/code/qcommon/vm_x86_64.c	2011-09-09 21:50:45 UTC (rev 2162)
+++ trunk/code/qcommon/vm_x86_64.c	2011-09-09 21:54:14 UTC (rev 2163)
@@ -86,8 +86,8 @@
 {
 	vm_t *savedVM;
 	intptr_t ret = 0x77;
-	intptr_t args[11];
-//	int iargs[11];
+	intptr_t args[16];
+//	int iargs[16];
 	int i;
 
 //	Dfprintf(stderr, "callAsmCall(%ld, %ld)\n", callProgramStack, callSyscallNum);
@@ -100,7 +100,7 @@
 
 	args[0] = callSyscallNum;
 //	iargs[0] = callSyscallNum;
-	for(i = 0; i < 10; ++i)
+	for(i = 0; i < ARRAY_LEN(args)-1; ++i)
 	{
 //		iargs[i+1] = *(int *)((byte *)currentVM->dataBase + callProgramStack + 8 + 4*i);
 		args[i+1] = *(int *)((byte *)currentVM->dataBase + callProgramStack + 8 + 4*i);



More information about the quake3-commits mailing list