Version française
Home     About     Download     Resources     Contact us    
Browse thread
[Caml-list] "noalloc" + enter/leave blocking section - safe?
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Falk Hueffner <hueffner@I...>
Subject: Re: [Caml-list] "noalloc" + enter/leave blocking section - safe?
Jere Sanisalo <xm@xmunkki.org> writes:

> On Mon, Aug 02, 2004 at 05:15:02PM +0200, Markus Mottl wrote:
>>---------------------------------------------------------------------------
>>external foo : 'a -> unit = "foo_stub" "noalloc"
>
> Hmm, I wasn't aware that there was a "noalloc" directive. What does
> it specifically declare? Does it make ocaml call the natives in a
> more efficient manner (and of course the function must not allocate
> anything)?

It calls the C function directly, with zero overhead. Otherwise, the
call goes through "caml_c_call", which puts the GC state into global
variables for C to pick up, and restores it later from there.

> Are there any other directives I should be aware of?

There's "float", which means the function works on unboxed floats.

-- 
	Falk

-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners