caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* assembly
@ 1999-10-24 19:45 Hongwei Xi
  1999-10-26 17:31 ` assembly Xavier Leroy
  0 siblings, 1 reply; 5+ messages in thread
From: Hongwei Xi @ 1999-10-24 19:45 UTC (permalink / raw)
  To: caml-list

Hi,

Could someone tell me how to compile assembly code
generated by ocamlopt?

I am doing some experiment. I have generated some
assembly code using ocamlopt and modified it. Now
I'd like to compile the modified code. What object
files are needed for doing this?

Thanks!

--Hongwei

\~~~~/ \\   //  \\    //    @       Mail: hwxi@ececs.uc.edu
C-o^o,  ))__||   \\__//_  // \\     Url: http://www.ececs.uc.edu/~hwxi
(  ^ )  ))__||    \--/-\\     \\    Tel: +1 513 871 4947 (home)
/ \V\   ))  ||     //   \\     \\   Tel: +1 513 556 4762 (office)
------ //   || o  //     \\     \\//Fax: +1 513 556 7326 (department)
Rhodes Hall 811-D
Department of ECE & CS  
University of Cincinnati
P. O. Box 210030
Cincinnati, OH 45221-0030




^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: assembly
  1999-10-24 19:45 assembly Hongwei Xi
@ 1999-10-26 17:31 ` Xavier Leroy
  1999-10-29  4:21   ` GC time Hongwei Xi
  0 siblings, 1 reply; 5+ messages in thread
From: Xavier Leroy @ 1999-10-26 17:31 UTC (permalink / raw)
  To: Hongwei Xi, caml-list

> Could someone tell me how to compile assembly code
> generated by ocamlopt?
> 
> I am doing some experiment. I have generated some
> assembly code using ocamlopt and modified it. Now
> I'd like to compile the modified code. What object
> files are needed for doing this?

If you run ocamlopt with the -verbose option, it will display all the
calls to the assembler and the linker that it performs.  In
particular, you'll see what assembler flags are used on your platform.

I'd guess that something like the below should work:

        ocamlopt -S -c foo.ml
        <transform foo.s>
        as <machine-dependent options> -o foo.o foo.s
        ocamlopt -o myprog foo.cmx

Hope this helps,

- Xavier Leroy




^ permalink raw reply	[flat|nested] 5+ messages in thread

* GC time
  1999-10-26 17:31 ` assembly Xavier Leroy
@ 1999-10-29  4:21   ` Hongwei Xi
  0 siblings, 0 replies; 5+ messages in thread
From: Hongwei Xi @ 1999-10-29  4:21 UTC (permalink / raw)
  To: caml-list

Hi,

It there a (simple) way for me to measure the GC time
spent on executing ocamlopt-generated native code or
ocaml bytecode?

Thanks!

--Hongwei

\~~~~/ \\   //  \\    //    @       Mail: hwxi@ececs.uc.edu
C-o^o,  ))__||   \\__//_  // \\     Url: http://www.ececs.uc.edu/~hwxi
(  ^ )  ))__||    \--/-\\     \\    Tel: +1 513 871 4947 (home)
/ \V\   ))  ||     //   \\     \\   Tel: +1 513 556 4762 (office)
------ //   || o  //     \\     \\//Fax: +1 513 556 7326 (department)
Rhodes Hall 811-D
Department of ECE & CS  
University of Cincinnati
P. O. Box 210030
Cincinnati, OH 45221-0030





^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: GC time
  1999-11-08 12:59 Damien Doligez
@ 1999-11-08 17:54 ` Markus Mottl
  0 siblings, 0 replies; 5+ messages in thread
From: Markus Mottl @ 1999-11-08 17:54 UTC (permalink / raw)
  To: Damien Doligez; +Cc: OCAML

> >It there a (simple) way for me to measure the GC time
> >spent on executing ocamlopt-generated native code or
> >ocaml bytecode?
> 
> Not yet.  We may include GC timers in a future release of O'Caml, but
> starting and stopping the timer takes almost as much time as the GC
> itself, so you'll take a performance hit and the accuracy of the
> timings will not be very good.

It is possible to do an exact (cycle level) analysis on Alpha-processors
under Digitial Unix. The tool "pixie" allows insertion of profiling code
into any kind of binary executable. The resulting information is extremely
detailed and also accurately counts cycles consumed by the OCaml-GC. So if
you have access to such a machine, profiling gets easy...

Here, for example, the first lines of output of such a run:

---------------------------------------------------------------------------
2297470 cycles (0.0077 seconds at 299.40 megahertz)

    cycles %cycles  cum %  seconds     cycles  bytes procedure (file)
                                        /call  /line

    380979   16.58  16.58   0.0013         62      ? oldify (<sm>)
    315953   13.75  30.33   0.0011         45      ? Stream_get_data_66 (<sm>)
    192558    8.38  38.72   0.0006     192558      ? proc_at_0x12004f080 (<sm>)
    152879    6.65  45.37   0.0005        454      ? lex_engine (<sm>)
    152832    6.65  52.02   0.0005        159      ? parse_engine (<sm>)
    111860    4.87  56.89   0.0004         47      ? alloc_shr (<sm>)
    106617    4.64  61.53   0.0004         36      ? modify (<sm>)
---------------------------------------------------------------------------

Regards,
Markus Mottl

-- 
Markus Mottl, mottl@miss.wu-wien.ac.at, http://miss.wu-wien.ac.at/~mottl



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re:  GC time
@ 1999-11-08 12:59 Damien Doligez
  1999-11-08 17:54 ` Markus Mottl
  0 siblings, 1 reply; 5+ messages in thread
From: Damien Doligez @ 1999-11-08 12:59 UTC (permalink / raw)
  To: caml-list

>From: Hongwei Xi <hwxi@ececs.uc.edu>

>It there a (simple) way for me to measure the GC time
>spent on executing ocamlopt-generated native code or
>ocaml bytecode?

Not yet.  We may include GC timers in a future release of O'Caml, but
starting and stopping the timer takes almost as much time as the GC
itself, so you'll take a performance hit and the accuracy of the
timings will not be very good.

-- Damien



^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~1999-11-08 18:15 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1999-10-24 19:45 assembly Hongwei Xi
1999-10-26 17:31 ` assembly Xavier Leroy
1999-10-29  4:21   ` GC time Hongwei Xi
1999-11-08 12:59 Damien Doligez
1999-11-08 17:54 ` Markus Mottl

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).