From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.1 required=5.0 tests=AWL autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail1-relais-roc.national.inria.fr (mail1-relais-roc.national.inria.fr [192.134.164.82]) by yquem.inria.fr (Postfix) with ESMTP id 2BA0DBC37 for ; Sun, 27 Sep 2009 19:33:53 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Au8CAG4+v0rRVllCgmdsb2JhbACbAwEBCwsIBxUDtyeEHgU X-IronPort-AV: E=Sophos;i="4.44,461,1249250400"; d="scan'208";a="36941304" Received: from elasmtp-spurfowl.atl.sa.earthlink.net ([209.86.89.66]) by mail1-smtp-roc.national.inria.fr with ESMTP; 27 Sep 2009 19:33:52 +0200 Received: from [69.254.201.214] (helo=[10.0.1.2]) by elasmtp-spurfowl.atl.sa.earthlink.net with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.67) (envelope-from ) id 1Mrxd9-0007tn-OJ for caml-list@inria.fr; Sun, 27 Sep 2009 13:33:51 -0400 Message-Id: <76C197D1-4C4C-4512-9542-21DA1ABFBE77@refined-audiometrics.com> From: David McClain To: caml-list@inria.fr Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v936) Subject: HLVM stuff Date: Sun, 27 Sep 2009 10:33:50 -0700 X-Mailer: Apple Mail (2.936) X-ELNK-Trace: 7a0ab3eafc8cf994b22988ad1c62733440683398e744b8a4626b6fe36082a6a4201ebc3537b644b5667c3043c0873f7e350badd9bab72f9c350badd9bab72f9c X-Originating-IP: 69.254.201.214 X-Spam: no; 0.00; statically:01 polymorphism:01 unboxed:01 runtime:01 dispatching:01 unboxed:01 computations:01 tailored:98 symbolic:01 operand:01 floats:02 optimization:03 dbm:03 dbm:03 constructing:04 Okay, I think I may be seeing what you are driving at... In order for any language to statically accommodate polymorphism, some uniform (boxed) representation of possible operands is needed. Whereas, with JIT, you have the option of detecting unboxed types at runtime and dispatching to code specifically tailored to that kind of operand. No boxing needed? But now, in scientific computing, I would expect to see very little of the profile being occupied by these kinds of specializations, and much much more involved with whole array copying, and the mapping of operations over already unboxed array elements. If once could sense from function liveness analysis that some source array of floats, say, will no longer be needed, then its memory could be used for the result array of some operation, rather than constructing a whole new result array. Wouldn't that kind of optimization pay off much more handsomely than dealing with these more symbolic oriented computations? Dr. David McClain dbm@refined-audiometrics.com