Changeset 9737


Ignore:
Timestamp:
Jun 12, 2008, 2:08:39 AM (11 years ago)
Author:
rme
Message:

.SPcallback and x86-darwin32::generate-callback-return-value:
Use the right location on the stack from returning the value from
calling into lisp.

Anything other than 32-bit scalar return values isn't going to work yet.

Location:
branches/ia32
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/ia32/lib/ffi-darwinx8632.lisp

    r9405 r9737  
    154154                  (:unsigned-fullword '%get-unsigned-long)
    155155                  (t '%get-signed-long)
    156                   ) ,stack-ptr 0) ,result)))))
     156                  ) ,stack-ptr 8) ,result)))))
    157157
  • branches/ia32/lisp-kernel/x86-spentry32.s

    r9723 r9737  
    41134113        __(push $1)
    41144114        __(call *%eax)
     4115        __(addl $node_size,%esp)
    41154116        /* linear TCR addr now in %eax */
    41164117        __(push %rcontext:tcr.foreign_sp)
     
    41414142        __(emms)
    41424143        __(pop %rcontext:tcr.foreign_sp)
    4143         __(addl $node_size,%esp)
    41444144        __(ldmxcsr %rcontext:tcr.foreign_mxcsr)
    41454145        __(pop %ebp)
     
    41474147        __(pop %esi)
    41484148        __(pop %edi)
    4149         __(movl -4(%ebp),%eax)
     4149        __(movl 8(%ebp),%eax)
     4150        /* doubleword result? */
    41504151        /* fp result? */
    41514152        __(leave)
Note: See TracChangeset for help on using the changeset viewer.