Mac Intel
Joel Reymont
joelr1@REDACTED
Thu Aug 10 13:19:25 CEST 2006
Mikael,
This is my chunk of code form hipe_x86_bifs.m4. I'm wrapping $1 with
ASYM and $2 with CSYM.
I'm not well-versed with M4, though, so I'm wondering about "addl `
$'8, %esp" below. Does that need to be wrapped as well? What should
it look like?
Thanks, Joel
--
define(nocons_nofail_primop_interface_1,
`
#ifndef HAVE_$1
#`define' HAVE_$1
TEXT
.align 4
GLOBAL(ASYM($1))
ASYM($1):
/* copy native stack pointer */
NBIF_COPY_NSP(1)
/* switch to C stack */
SWITCH_ERLANG_TO_C_QUICK
/* make the call on the C stack */
pushl NBIF_ARG(1,0)
pushl P
call CSYM($2)
addl `$'8, %esp
/* switch to native stack */
SWITCH_C_TO_ERLANG_QUICK
/* return */
NBIF_RET(1)
SET_SIZE(ASYM($1))
TYPE_FUNCTION(ASYM($1))
#endif')
--
http://wagerlabs.com/
More information about the erlang-questions
mailing list