Mac Intel

Joel Reymont <>
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