Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

Browse thread
[Caml-list] new 64 bit SPARC code generation patch
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2004-10-05 (21:45)
From: John Carr <jfc@m...>
Subject: [Caml-list] new 64 bit SPARC code generation patch

A set of patches to ocaml 3.08.1 to generate 64 bit native code on
SPARC systems can be found at this URL:
This is a new version of the patch I released a few years ago,
rewritten and updated to work with the latest ocaml.

32 or 64 bit mode is selected at configure time based on the compiler
and options passed to the configure script.  In 32 bit mode some
optimizations are added for SPARC V9 when using the -march=v9 option.
I also changed the default architecture level from v7 to v8 in 32 bit
mode because it has been over a decade since Sun sold any workstations
without hardware multiply.

Applications may benefit from 64 bit code if
1. They use objects, other than bigarrays, larger than ~32 MBbyte
2. Total memory use exceeds ~4Gbyte
3. Extensive use is made of int64
4. Extensive use is made of heap-allocated floating point values

On the other hand, the cost of 64 bit code is increased memory use.
A program that I thought would benefit because it used many boxed
integers turned out to run slower.

If you email me to say you are using the patches I will inform you of
bug fixes.  Consider this beta quality because of limited testing.
In addition to any bugs in my code, the machine-independent code
generator appears not to have been tested on a big-endian 64 bit
system.  (I do not think that the ocaml team at INRIA has such a

I have only tested Solaris 9.  I have no reason to believe that Linux
will not work, but I have no way to test.

	John Carr

To unsubscribe, mail Archives:
Bug reports: FAQ:
Beginner's list: