]> git.buserror.net Git - polintos/scott/priv.git/commitdiff
ABI update.
authorScott Wood <scott@buserror.net>
Wed, 18 Apr 2007 00:34:26 +0000 (19:34 -0500)
committerScott Wood <scott@buserror.net>
Wed, 18 Apr 2007 00:34:26 +0000 (19:34 -0500)
doc/abi/x86

index 41f4bb43269ae23594c0a335bb9cb0d5d25be089..b237c2e66e1ce0221807c43f530b782202090bbd 100644 (file)
@@ -2,9 +2,7 @@ Basic ABI: SysV i386
 
 Out-of-Process Method Invocation:
    Caller:
-      eax: reserved, must be zero
-      edx: pointer to parameter info block (PIB)
-      ecx: maximum "out" bytes, excluding Inlines
+      eax: pointer to parameter info block (PIB)
 
       Call the 32-bit address stored at 0x7fff0000 to invoke the method.
       
@@ -16,19 +14,18 @@ Out-of-Process Method Invocation:
            that covers the calling address.  If none is found,
            it will assume that it is a language without exception
            handling, and return the exception to the caller in eax.
-      ecx: clobbered
-      edx: pointer to args, with out params filled in; in params
-           may be clobbered.  This will be the same pointer as
-           was passed in by the caller.
+      ecx: length of exception segment, if any
+      edx: may be clobbered
       
    Callee:
       eax: pointer to PIB
       edx: pointer to caller information struct, if such was
            requested
-      ecx: return address
+
+      Jump to the 32-bit address stored at 0x7fff0004 to return.
       
       Upon return:
-      
       eax: pointer to exception, or NULL if none.
+      ecx: length of exception segment, if any
       ebx, esi, edi, ebp, esp: should be preserved
-      ecx, edx: may be clobbered
+      edx: may be clobbered