]> git.buserror.net Git - polintos/scott/priv.git/blobdiff - doc/abi/x86
minor orb stuff
[polintos/scott/priv.git] / doc / abi / x86
index b237c2e66e1ce0221807c43f530b782202090bbd..7f3de369192025ad0570c4cac8880f7c94f05e0f 100644 (file)
@@ -8,24 +8,44 @@ Out-of-Process Method Invocation:
       
       Upon return:
       ebx, esi, edi, ebp, esp: preserved
-      eax: pointer to exception, or NULL if none.
+      eax: pointer to exception, or NULL if none
            If there is an exception, the user part of the syscall
            function will search for an exception handling function
            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: length of exception segment, if any
-      edx: may be clobbered
+      edx: length of exception segment, if any
+      ecx: may be clobbered
       
    Callee:
       eax: pointer to PIB
-      edx: pointer to caller information struct, if such was
+      edx: pointer to caller information struct, or NULL if not
            requested
+      esp: NULL.
 
       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
-      edx: may be clobbered
+      eax: pointer to exception, or NULL if none
+      edx: length of exception segment, if any
+      ebx, esi, edi, ebp, esp: may be clobbered
+
+Object registration:
+       eax: number of objects to register with initial refcount 1
+       edx: pointer to list of NewObject structs
+       
+       Call the 32-bit address stored at 0x7fff0008.
+       
+       Upon return:
+       eax: pointer to exception, or NULL if none
+       edx: length of exception segment, if any
+
+GUID SHA-1 hash retrieval:
+       eax: object id
+       edx: 20-byte buffer
+       
+       Call the 32-bit address stored at 0x7fff000c.
+       
+       Upon return:
+       eax: pointer to exception, or NULL if none
+       edx: length of exception segment, if any