From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 11501 invoked by alias); 25 Nov 2013 02:46:12 -0000 Mailing-List: contact libffi-discuss-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libffi-discuss-owner@sourceware.org Received: (qmail 11488 invoked by uid 89); 25 Nov 2013 02:46:10 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=0.9 required=5.0 tests=AWL,BAYES_50,RDNS_NONE,URIBL_BLOCKED autolearn=no version=3.3.2 X-HELO: exprod5og104.obsmtp.com Received: from Unknown (HELO exprod5og104.obsmtp.com) (64.18.0.178) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-SHA encrypted) SMTP; Mon, 25 Nov 2013 02:46:09 +0000 Received: from cinmlip13.e2k.ad.ge.com ([12.71.149.1]) (using TLSv1) by exprod5ob104.postini.com ([64.18.4.12]) with SMTP ID DSNKUpK56cuM/dwMTOZ0mEHHsmHX0QV5EAc7@postini.com; Sun, 24 Nov 2013 18:46:09 PST Received: from unknown (HELO ALPMBHT03.e2k.ad.ge.com) ([3.159.19.196]) by cinmlip13.e2k.ad.ge.com with ESMTP/TLS/AES128-SHA; 24 Nov 2013 21:46:00 -0500 Received: from CINMLCH01.e2k.ad.ge.com (3.159.212.50) by ALPMBHT03.e2k.ad.ge.com (3.159.19.196) with Microsoft SMTP Server (TLS) id 14.3.146.0; Sun, 24 Nov 2013 21:46:00 -0500 Received: from ALPMBCND02.e2k.ad.ge.com (3.159.19.11) by cinmlch01.e2k.ad.ge.com (3.159.212.50) with Microsoft SMTP Server (TLS) id 14.3.146.0; Sun, 24 Nov 2013 21:45:59 -0500 Received: from ALPMBAPA05.e2k.ad.ge.com ([169.254.5.229]) by ALPMBCND02.e2k.ad.ge.com ([169.254.8.138]) with mapi id 14.03.0146.000; Sun, 24 Nov 2013 21:45:59 -0500 From: "Hogan, D. (GE Power & Water)" To: "libffi-discuss@sourceware.org" Subject: RFC: variadic closures in x86/x86_64 Date: Mon, 25 Nov 2013 02:46:00 -0000 Message-ID: Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-IsSubscribed: yes X-SW-Source: 2013/txt/msg00226.txt.bz2 Hi, I'm requesting feedback on an implementation of variadic closures in libffi. It currently supports x86 and x86_64. This change allows for FMI logging callbacks through JNA in the JFMI[1] and Ptolemy II[2] projects. The libffi changes are in a github branch[3]. I'm waiting to finalize these changes before pushing the JNA branch. It looks like it will be easy to add support for platforms such as SPARC. Are there any platforms that support variadic arguments but would not support variadic closures in this manner? I tested this on x86_64 Linux and x86 Windows. None of the dejagnu tests failed after this change. I could use help testing it on other platforms. Thanks to Christopher Brooks from UC Berkeley for feedback and testing on x86_64 Darwin. Regards, Doug [1] http://ptolemy.eecs.berkeley.edu/java/jfmi [2] http://ptolemy.eecs.berkeley.edu/ptolemyII [3] https://github.com/dhogan1/libffi/tree/variadic_closures