From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: David Malcolm Newsgroups: gmane.comp.gcc.jit,gmane.lisp.guile.user Subject: Re: Running Compiled Guile Objects Date: Sat, 14 Dec 2024 20:43:31 -0500 Message-ID: References: <769073d434c2ed5fb7937c85da240aa5df4d854a.camel@starynkevitch.net> <20241215004310.onj82D0091dDhme01nj9u5@andre.telenet-ops.be> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="19121"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Evolution 3.52.4 (3.52.4-1.fc40) Cc: "guile-user-mXXj517/zsQ@public.gmane.org" , "jit-/MQLu3FmUzdAfugRpC6u6w@public.gmane.org" To: Maxime Devos , Basile Starynkevitch , Nala Ginrut , Hakan Candar Original-X-From: jit-bounces~gcgj-jit=m.gmane-mx.org-/MQLu3FmUzdAfugRpC6u6w@public.gmane.org Sun Dec 15 02:43:53 2024 Return-path: Envelope-to: gcgj-jit@m.gmane-mx.org Original-Received: from server2.sourceware.org ([8.43.85.97]) by ciao.gmane.io with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1tMdfk-0004o3-Le for gcgj-jit@m.gmane-mx.org; Sun, 15 Dec 2024 02:43:52 +0100 Original-Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 6762C3858D39 for ; Sun, 15 Dec 2024 01:43:51 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 6762C3858D39 Authentication-Results: sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=KfLKoBHw Original-Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by sourceware.org (Postfix) with ESMTP id 3AF4A3858C39 for ; Sun, 15 Dec 2024 01:43:36 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 3AF4A3858C39 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=redhat.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=redhat.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 3AF4A3858C39 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=170.10.129.124 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1734227016; cv=none; b=fMWPMv8Xbgyu4VuhHxTaDJt6C+0qPDaDjGCAxWxZUPZsNzC8irvk2T9I/26yI3UUROMvU60gaH+KjtMS5HCEwj//TEDCuAF1GvdJ1ZRTy6mdvU3CVvcEjPD4AAAYn5CMNZjsg1+4IEPCO9DDtOCbGzzeEgmdFqZ/bssNoxbgqbM= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1734227016; c=relaxed/simple; bh=DwkN/ECjbJLGJ9Y4Kb5kyCq8iNACw5wiWLLZMuirWrY=; h=DKIM-Signature:Message-ID:Subject:From:To:Date:MIME-Version; b=YBENgOSroNKJkH6MumZEwIzZiaWkgB/oYM5EjQe+mMaeyvxpbStMDY69n/DQb1i4zD0pyO+90DNomiaQ6volSymMqsOBkMp0SjMiTKfbuxswG1JubcXdW5H4G0rD3gpxAlF9cTi55RNUhRQoss25I/LwKD1MA2Ptwx8mqdsAg18= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 3AF4A3858C39 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1734227015; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=DwkN/ECjbJLGJ9Y4Kb5kyCq8iNACw5wiWLLZMuirWrY=; b=KfLKoBHwXGBJ4p6nOfgo1+ZSsW6B9vwTOcx/lSwYDzeBk7tzg7dqmqY6Vc/bQbY39zQuRa 8Z6kL9zWm/bH6/LKlyr/1S/9apJgx7d+nxsbx5cZ0RMpjlKnfNwQjVo3rq2EP9BaPZTKRn uLJOQk0nEXo2hg5OxoTb1EE5kExerLo= Original-Received: from mail-qt1-f197.google.com (mail-qt1-f197.google.com [209.85.160.197]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-647-Q9UfdAF-O2qHLDuyTdctcw-1; Sat, 14 Dec 2024 20:43:34 -0500 X-MC-Unique: Q9UfdAF-O2qHLDuyTdctcw-1 X-Mimecast-MFC-AGG-ID: Q9UfdAF-O2qHLDuyTdctcw Original-Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-467bb8aad28so6266861cf.1 for ; Sat, 14 Dec 2024 17:43:34 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1734227014; x=1734831814; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=DwkN/ECjbJLGJ9Y4Kb5kyCq8iNACw5wiWLLZMuirWrY=; b=SHu6iBYxXRLpi/cS2JkL6XQS9J+XsKfPUt6At3nkKKB8koUXw28WHBOVw4KoimZMEU SwQ+gxtd3oibfb/iQIBEadWjtUDovdJJ/R7wZIqzRDO7BzO+Y7ItWBHBFcQo2CwSeHHt NMI7+2ewEpxJQ9Iqnxx89UWrA764YhiqDXrad2LgyZuchEb9on7NJj0KrjBHu34YC9uQ wwUPc6aTywvu5Q0idCft0e4PPwFCuCkbc5u4Pm/G3mtDgk7lvbfzuR3ulevq8pWOmrsz mgJEvESPRfjRA8WaylmsclSMoA7WRSC58RYgPHmT2utOdyrS3Zyf5FPImxxITyFNpPqa Bwtg== X-Forwarded-Encrypted: i=1; AJvYcCWe2G2JGxMVkubq4T9e4RnLTp32j5xppahBRlqx8vCMFTCRQyMTDa34GtdPTcXQPuChsYE=@gcc.gnu.org X-Gm-Message-State: AOJu0YyDHU8rIBvFMSlSZnFLYELDXg4jOegvhgXrmH42p+mgtbCZ5Ha7 AXML3R6/vNCucGAudcuVIN3LoEYfsf8/4InZHYZ0X3Ic+NyLS8k3aAfjJlDxm/J9PvDOXf3EQQq m+v4mSXeWXyJdON/Dlgkexu0cq6otW7Vxq9RTmKqe9OMg X-Gm-Gg: ASbGncv6cWVpTH7h4WiTJdv4WdDcvy7d5YRfYcDvlkFE/NkxlEq2VD/jq2X5R2wJa7q hnn2lrrr5GFid+eLzj6lA9+Rhb0+7TkpN5bckJ8HkuSCGBRDKxrJ/bM63USm+i2d6gaCpK2aDDD yiUp57k6cLdi8JQfMHwQLfyIS2C2jYZtB/Oc6gqoKofPt/4Nfyd9y2ATNDTBOm/8/+NQEYIbAV3 4QllfG78TgUZK1TyXQRw22TnIuQITsYPPgI4OobY5ejXkzLA6N0B0XCExJ77BzkslmMMRyldLhr rpFyNJKtS7C58pRk X-Received: by 2002:ac8:7dd3:0:b0:467:67db:ef7f with SMTP id d75a77b69052e-467a58037afmr191999011cf.39.1734227013757; Sat, 14 Dec 2024 17:43:33 -0800 (PST) X-Google-Smtp-Source: AGHT+IEx4rNG6wiR5vhQl0tflE6b/ayWoxSCpDO9guULLTcbm4NdTvx45LHkj13eT0x7cxSkYOqzbg== X-Received: by 2002:ac8:7dd3:0:b0:467:67db:ef7f with SMTP id d75a77b69052e-467a58037afmr191998751cf.39.1734227013447; Sat, 14 Dec 2024 17:43:33 -0800 (PST) Original-Received: from t14s.localdomain (c-76-28-97-5.hsd1.ma.comcast.net. [76.28.97.5]) by smtp.gmail.com with ESMTPSA id af79cd13be357-7b7047aa68fsm108132485a.13.2024.12.14.17.43.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 14 Dec 2024 17:43:32 -0800 (PST) In-Reply-To: <20241215004310.onj82D0091dDhme01nj9u5-Pw8LEBfqDLYI1J5xXzd7/dsHW6RRjAQv@public.gmane.org> X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: inyn8DrkBV-FZc7PPoNjrtx-zx2ail3Zgr4rBjWSx6w_1734227014 X-Mimecast-Originator: redhat.com X-BeenThere: jit-/MQLu3FmUzdAfugRpC6u6w@public.gmane.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Jit mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: jit-bounces~gcgj-jit=m.gmane-mx.org-/MQLu3FmUzdAfugRpC6u6w@public.gmane.org Xref: news.gmane.io gmane.comp.gcc.jit:1946 gmane.lisp.guile.user:20000 Archived-At: On Sun, 2024-12-15 at 00:43 +0100, Maxime Devos wrote: > > > Those willing to contribute a proper ahead-of-time compiler to > > > GNU > > > guile could use the GNU CC libgccjit library which is part of the > > > GCC > > > compiler. > > > https://gcc.gnu.org/onlinedocs/jit/ > >=20 > > ...and https://gcc.gnu.org/wiki/JIT > >=20 > > Indeed, it turns out that everyone using libgccjit is using it for > > ahead-of-time compilation, rather than jit-compilation.=C2=A0 Sorry > > about > > picking a bad name :) >=20 > Are we talking about implementing a =E2=80=98to machine code=E2=80=99 com= piler for > Guile, or about implementing an =E2=80=98AOT to machine code=E2=80=99?=C2= =A0 I confess I have no idea what the conversation was about; I was just responding to Basile's email to the "jit" mailing list :) > Guile already has the former =E2=80=93 it has a JIT (bytecode -> machine > code) for some systems. >=20 > For what it=E2=80=99s worth -- I never worked with libgccjit or with the = JIT > code of Guile: >=20 > I imagine a basic (POC) AOT approach for Guile would be to let it > compile AOT =E2=80=93 with the JIT implementation, except adjusted to be > relocatable and to add relocation information. As far as I can tell, > libgccjit does not seem to support relocations and doesn=E2=80=99t say > anything about whether the results are position-independent or not > (so not suitable fo AOT), though presumably there are ways around > that given the existence of gccemacs. FWIW libgccjit builds position independent code, and can be used to build dynamic libraries (which is what I believe gccemacs is doing). Dave