From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id XAA17507; Tue, 5 Oct 2004 23:45:46 +0200 (MET DST) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id XAA18159 for ; Tue, 5 Oct 2004 23:45:45 +0200 (MET DST) Received: from biscayne-one-station.mit.edu (BISCAYNE-ONE-STATION.MIT.EDU [18.7.7.80]) by nez-perce.inria.fr (8.13.0/8.13.0) with ESMTP id i95Ljh8O017080 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Tue, 5 Oct 2004 23:45:44 +0200 Received: from melbourne-city-street.mit.edu (OUTGOING-LEGACY.MIT.EDU [18.7.22.104]) by biscayne-one-station.mit.edu (8.12.4/8.9.2) with ESMTP id i95LjhDA002835 for ; Tue, 5 Oct 2004 17:45:43 -0400 (EDT) Received: from psi-phi.mit.edu (PSI-PHI.MIT.EDU [18.187.1.35]) (authenticated bits=56) (User authenticated as jfc@ATHENA.MIT.EDU) by melbourne-city-street.mit.edu (8.12.4/8.12.4) with ESMTP id i95Ljdv2028423 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT) for ; Tue, 5 Oct 2004 17:45:40 -0400 (EDT) Received: (from jfc@localhost) by psi-phi.mit.edu (8.12.9) id i95LjdLt014935; Tue, 5 Oct 2004 17:45:39 -0400 Message-Id: <200410052145.i95LjdLt014935@psi-phi.mit.edu> To: caml-list@inria.fr Subject: [Caml-list] new 64 bit SPARC code generation patch Date: Tue, 05 Oct 2004 17:45:39 -0400 From: John Carr X-Spam-Score: 0.001 X-Spam-Flag: NO X-Scanned-By: MIMEDefang 2.42 X-Miltered: at nez-perce with ID 41631607.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Loop: caml-list@inria.fr X-Spam: no; 0.00; jfc:01 jfc:01 bigarrays:01 gbyte:01 slower:01 bug:01 big-endian:01 compiler:01 ocaml:01 ocaml:01 ocaml-:01 int:01 tar:01 patch:02 patch:02 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk 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 system.) 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 jfc@mit.edu ------------------- 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