[commit] r2451 - Yet another attempt at getting stack-grows-down Alien marshalling correct. This

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[commit] r2451 - Yet another attempt at getting stack-grows-down Alien marshalling correct. This

commits-3
 
Author: eliot
Date: 2011-07-07 17:00:12 -0700 (Thu, 07 Jul 2011)
New Revision: 2451

Modified:
   trunk/platforms/Cross/plugins/IA32ABI/dabusiness.h
Log:
Yet another attempt at getting stack-grows-down Alien marshalling correct.  This
appears to handle the 12-arg CreateWindowEx call correctly.


Modified: trunk/platforms/Cross/plugins/IA32ABI/dabusiness.h
===================================================================
--- trunk/platforms/Cross/plugins/IA32ABI/dabusiness.h 2011-07-07 23:58:25 UTC (rev 2450)
+++ trunk/platforms/Cross/plugins/IA32ABI/dabusiness.h 2011-07-08 00:00:12 UTC (rev 2451)
@@ -19,7 +19,7 @@
 #if STACKVM /* Need to access args downwards from first arg */
   if (numArgs < 0)
  for (i = size = 0; --i >= numArgs;) {
- sqInt arg = argVector[-1-i];
+ sqInt arg = argVector[i+1];
  if (objIsAlien(arg) && sizeField(arg))
  size += moduloPOT(sizeof(long),abs(sizeField(arg)));
  else /* assume an integer or pointer.  check below. */
@@ -58,7 +58,7 @@
 #if STACKVM /* Need to access args downwards from first arg */
   if (numArgs < 0)
  for (i = size = 0; --i >= numArgs;) {
- sqInt arg = argVector[-1-i];
+ sqInt arg = argVector[i+1];
  if (isSmallInt(arg)) {
  *(long *)argvec = intVal(arg);
  argvec += sizeof(long);