Jianzhou Zhao
2010-Mar-01 15:34 UTC
[LLVMdev] Tag number of OCaml Variant in executionengine
Another quick question. In ./bindings/ocaml/Makefile.ocaml, the configurations when ENABLE_OPTIMIZED<>1 are commented, which set -g flag to $(OCAMLC). Is that for back-compatibility to support OCaml < 3.10.0? On Sun, Feb 28, 2010 at 6:48 PM, Erick Tryzelaar <idadesub at users.sourceforge.net> wrote:> On Sun, Feb 28, 2010 at 8:38 AM, Jianzhou Zhao <jianzhou at seas.upenn.edu> wrote: >> Hi, >> >> At the code below from >> ./bindings/ocaml/executionengine/executionengine_ocaml.c, >> we create an OCaml Variant from C. It is from 2.6, the latest 2.7 has >> the same code. >> >> Line 240 Option = alloc(1, 1) assigns tag1 to the 'some' constructor. >> In term of http://caml.inria.fr/pub/docs/manual-ocaml/manual032.html, >> I think the 'some' should have a tag 0. We dont have a runtime error >> for this, the reason might be there is only two constructors, one >> is None represented as unboxed int, the other is Some represented >> as a tagged block, and OCaml runtime may only distinguish them >> as the structures, but not the tag number. > > Sounds reasonable. I'll make the change to make things more > consistent. Also, I see that we aren't properly protecting our option > values against the GC in a couple places. I'll make those changes too. > > -e >-- Jianzhou
Erick Tryzelaar
2010-Mar-02 08:23 UTC
[LLVMdev] Tag number of OCaml Variant in executionengine
On Mon, Mar 1, 2010 at 7:34 AM, Jianzhou Zhao <jianzhou at seas.upenn.edu> wrote:> Another quick question. > In ./bindings/ocaml/Makefile.ocaml, the configurations when > ENABLE_OPTIMIZED<>1 are commented, which set -g flag to $(OCAMLC). > Is that for back-compatibility to support OCaml < 3.10.0?At the time, we were still supporting 3.09. It sounds like everyone's updated to 3.11 though, so it may be worth enabling it. Would anyone have any complaints if I did?
Jianzhou Zhao
2010-Mar-02 12:40 UTC
[LLVMdev] Tag number of OCaml Variant in executionengine
On Tue, Mar 2, 2010 at 3:23 AM, Erick Tryzelaar <idadesub at users.sourceforge.net> wrote:> On Mon, Mar 1, 2010 at 7:34 AM, Jianzhou Zhao <jianzhou at seas.upenn.edu> wrote: >> Another quick question. >> In ./bindings/ocaml/Makefile.ocaml, the configurations when >> ENABLE_OPTIMIZED<>1 are commented, which set -g flag to $(OCAMLC). >> Is that for back-compatibility to support OCaml < 3.10.0? > > At the time, we were still supporting 3.09. It sounds like everyone's > updated to 3.11 though, so it may be worth enabling it. Would anyone > have any complaints if I did? >I am always using the lastest OCaml. But I also have older OCaml installed if any tool has to use an old version. BTW: Does the current OCaml binding do native compilation? It seems to me that they are compiled by 'ocamlc' but not 'ocamlopt'. Is there any problem if we support native compilation? Thanks. -- Jianzhou