Version française
Home     About     Download     Resources     Contact us    
Browse thread
[Caml-list] Memory leak with native code.
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Markus Mottl <markus@o...>
Subject: Re: [Caml-list] Memory leak with native code.
On Thu, 05 Dec 2002, David Brown wrote:
> I guess what would be helpful would be any pointers on what might be
> different between bytecode and native.  I do use callbacks, but the
> main program is in Ocaml.

Have you made sure that stubs taking more than five arguments need to
be split up into two functions? E.g.:

C-file:

  CAMLprim value add_nat_native(value nat1, value ofs1, value len1,
                                value nat2, value ofs2, value len2,
                                value carry_in)
  {
    ...
  }

  CAMLprim value add_nat_bytecode(value * argv, int argn)
  {
    return add_nat_native(argv[0], argv[1], argv[2], argv[3],
                          argv[4], argv[5], argv[6]);
  }

OCaml-file:

  external add_nat: nat -> int -> int -> nat -> int -> int -> int -> int
                  = "add_nat_bytecode" "add_nat_native"

Notice that the external function needs to be declared such on the
OCaml-side that you name both entry points (for byte- and native code).

That's the only difference that comes to my mind...

Regards,
Markus Mottl

-- 
Markus Mottl                                             markus@oefai.at
Austrian Research Institute
for Artificial Intelligence                  http://www.oefai.at/~markus
-------------------
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