<br><div class="gmail_extra"><div class="gmail_quote">2012/11/19 Valentin Gatien-Baron <span dir="ltr"><<a href="mailto:vgatien-baron@janestreet.com" target="_blank">vgatien-baron@janestreet.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Not all cmx's should be installed, but I don't see why the packed cmx<br>
should not be installed. Generally speaking, I think packed cmx's are<br>
not special and every cmx that was given to ocamlopt to build the cmxa<br>
should be installed.<br>
<br>
cmxs are for dynamic loading, so that's not related.<br>
<div class="HOEnZb"><div class="h5"><br></div></div></blockquote><div><br></div><div>Noted, it will be in the next version of OASIS. I'll ping you when it lands in the github repository.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="HOEnZb"><div class="h5">
On 11/19/12, Sylvain Le Gall <<a href="mailto:sylvain@le-gall.net">sylvain@le-gall.net</a>> wrote:<br>
> Hi,<br>
><br>
><br>
> 2012/11/19 Markus Mottl <<a href="mailto:markus.mottl@gmail.com">markus.mottl@gmail.com</a>><br>
><br>
>> Hi,<br>
>><br>
>> I've noticed that cross-module inlining does not work with the<br>
>> Opam-installed Core library, because the .cmx file is not installed.<br>
>> Note that it is not enough to install the .cmxa file, because it is<br>
>> only used during linking.  The compiler wouldn't know where to look<br>
>> for optimization information.<br>
>><br>
>> Looking at the <a href="http://setup.ml" target="_blank">setup.ml</a> file generated by Oasis, it seems that Oasis<br>
>> is the culprit, but I thought it would be important to know for other<br>
>> Core users if they experience bad performance.<br>
>><br>
>> Sylvain, is there anything one has to put in the _oasis file to<br>
>> generate correct installation code?  My guess is that all that's<br>
>> needed is to fix <a href="http://setup.ml" target="_blank">setup.ml</a> by installing the .cmx of packing targets<br>
>> (e.g. core.cmx), not just .cmx files for constituents of unpacked<br>
>> libraries, which seem to be handled correctly.<br>
>><br>
><br>
> Well, .cmx file should be installed EXCEPT if you are using packed<br>
> modules...<br>
><br>
> The culprit is:<br>
> (not lib.lib_pack) && (* Do not install .cmx packed submodules *)<br>
> in src/oasis/OASISLibrary.ml<br>
><br>
> AFAIK, Core use pack module, so this is the reason why it doesn't install<br>
> .cmx.<br>
><br>
> You can experiment installing .cmx by commenting this line. But I am really<br>
> not sure this will help that much. I thought that .cmxs was a pack of .cmx<br>
> so that inlining can work using what is inside this archive (contrary to<br>
> .cmxa).<br>
><br>
> Maybe the inlining using .cmxs doesn't work as excepted ?<br>
><br>
><br>
>> Regards,<br>
>> Markus<br>
>><br>
>> --<br>
>> Markus Mottl        <a href="http://www.ocaml.info" target="_blank">http://www.ocaml.info</a>        <a href="mailto:markus.mottl@gmail.com">markus.mottl@gmail.com</a><br>
>><br>
><br>
</div></div></blockquote></div><br></div>