From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Fejfighter Newsgroups: gmane.emacs.devel Subject: Re: New GC concept Date: Mon, 21 Jun 2021 23:00:09 +1000 Message-ID: References: <1658db95-d513-7f21-8751-0e2ea38946cb@daniel-mendler.de> <06073468-e016-52af-9a84-99ef4cf00d78@dancol.org> <83r1hhvr7a.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="0000000000007cf51805c546416a" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="18664"; mail-complaints-to="usenet@ciao.gmane.io" Cc: mail@daniel-mendler.de, Daniel Colascione , emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon Jun 21 15:08:14 2021 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lvJew-0004f4-Nm for ged-emacs-devel@m.gmane-mx.org; Mon, 21 Jun 2021 15:08:14 +0200 Original-Received: from localhost ([::1]:45936 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lvJev-00033N-NG for ged-emacs-devel@m.gmane-mx.org; Mon, 21 Jun 2021 09:08:13 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:43640) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lvJXR-00028R-6J for emacs-devel@gnu.org; Mon, 21 Jun 2021 09:00:31 -0400 Original-Received: from mail-qt1-x833.google.com ([2607:f8b0:4864:20::833]:37450) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lvJXO-0005wZ-G6; Mon, 21 Jun 2021 09:00:28 -0400 Original-Received: by mail-qt1-x833.google.com with SMTP id z4so13304256qts.4; Mon, 21 Jun 2021 06:00:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=9Fr9AG782b3yCdCHXzC2xyhCQj2Q+PbPk0rQ/4u+Cmo=; b=mdLWxwCoFOkG97INMnGor2QUlG/Ebi16MQVx3VUCDzjSKH6Ikpr5LUOigZbCr6uuXk pVEkq22nLiB/S2tqyVozUfEkpC/dmhcIXaHZg3GbzdZFT/9cvJ5RcEbUJI3JAJFyvJuf gV9Y7qOa8c8dnzYOT6pw2WKLAwgUe1tu3W7Q5JI71I/vrWTFq42bUHtuKUZtPJBNWlku 1kUGtvoK0oIf3zCb2hJm01xMsj0nbwENkvpkKGphY2f1OeTqIzhUQTIb4Azztz+1wWHv H13oDdeotnpYjE3aBctfz7WKMsnlHolvzcO44dcXyl1ws6qNEYhcrMjgKxU9HQ8Z/MKl oLgA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=9Fr9AG782b3yCdCHXzC2xyhCQj2Q+PbPk0rQ/4u+Cmo=; b=twxBfK82JqJI97kGLCqkR6+qBOcpA0Wm8Kf8RMXLAg2woZrIqi86k+SqyI7hxhugYf fY6pR31QXByEE5nIaGTg6z7GiRv7OHeTynfTsi4zXhsf9/kVspqUvbvNHcpqSjZes+lG 9GtykZQ2293fnuFuj8na/G9y6wjPwnoAtCtmSyH3Oj+lfT28lES9x6XBTSNrXG2Q9ErI 2G0g4yZzwoFv02tc3U/U3VoC94p+0czAEvIebqm05sFT/NMx0ZhTIGqWNug9kgoqtu24 lU1jvKoFYyLh+sbgKkzfu8OGPkQcSLLf6oCneqRAu6ENMJHdmxAJeoM9nGd9mww6sCR4 oFJA== X-Gm-Message-State: AOAM5337HpZGjKCXw7HmVEW5eMfAqOqMwGSfmxCCFME26ofMlKzff9Sy rstr/nJ2yA53a9p3ZBUxJ+zUvL3Rrk9lFchU7eWfdAg92WA= X-Google-Smtp-Source: ABdhPJw7VDxWEXDilWJDbzSEkv40e/F/Tj6PM9B5afZQzVKWz/1Lg0yrTJ1VPqsa7oYVmF2WPj7kQlEwXEvsS9oZvxU= X-Received: by 2002:ac8:776c:: with SMTP id h12mr12471456qtu.86.1624280420643; Mon, 21 Jun 2021 06:00:20 -0700 (PDT) In-Reply-To: <83r1hhvr7a.fsf@gnu.org> Received-SPF: pass client-ip=2607:f8b0:4864:20::833; envelope-from=fejfighter@gmail.com; helo=mail-qt1-x833.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:270962 Archived-At: --0000000000007cf51805c546416a Content-Type: text/plain; charset="UTF-8" Not wanting to see this drop, I found a little time to bring the changes up to emacs master with a few notes: 1) now sits on top of a4fb5811f (Do not attempt to write .elc....) 2) The C will compile with a couple of warnings as the native comp cases are currently not handled. 3) There's dead code, commented code and other atrocities on top of the current wip 3) It segfaults during the pdumper step in the build, there is not immediately obvious reason for this, but I suspect a move or free occurs and it's not tracked 4) I have ignored the comments for large_vector and large_vector_meta for now, so the meta is kept with the vector struct. code is up here: https://github.com/fejfighter/emacs/tree/feature/newgc I'm hoping now that it's a little closer to master and compiling someone might have a little more luck with the segfault issue I have been facing but I will keep try in the mean time, JeffW On Fri, Jun 4, 2021 at 8:52 PM Eli Zaretskii wrote: > > From: Daniel Colascione > > Date: Fri, 4 Jun 2021 02:47:32 -0700 > > > > On 6/4/21 1:00 AM, Daniel Mendler wrote: > > > > > Interesting, thank you for working on this! > > > > > > I had hoped that a new GC would surface at some point given the recent > > > improvements regarding native compilation. As you say this can bring > > > Emacs on par with modern managed language runtimes. Can you elaborate a > > > bit more of some of your concepts? > > > > Thanks for taking a look. > > Seconded. > > And I really hope that more than just a look (and a discussion) will > come out of this. Making our GC more efficient is an important > development goal, of which over the years we've seen several attempts, > but unfortunately little advancement in practice. I hope interested > individuals will step forward and continue developing this (or any > other) initiative so that we will eventually be able to replace our GC > with a better one. > > Thanks in advance for developing this aspect of Emacs. > > --0000000000007cf51805c546416a Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Not wanting to see this drop, I found a little time t= o bring the changes up to emacs master with a few notes:

1) now sits on top of a4fb5811f (Do not attempt to write .elc....)
2) The C will compile with a couple of warnings as the native comp= cases are currently not handled.
3) There's dead code, comme= nted code and other atrocities on top of the current wip
3) I= t segfaults during the pdumper step in the build, there is not immediately = obvious reason for this, but I suspect a move or free occurs and it's n= ot tracked
4) I have ignored the comments for large_vector and la= rge_vector_meta for now, so the meta is kept with the vector struct.
<= div>
I'm hoping now that it's a little closer= to master and compiling someone might have a little more luck with the seg= fault issue I have been facing but I will keep try in the mean time,
<= div>
JeffW

On Fri, Jun 4, 2021 at 8:52 PM Eli Zarets= kii <eliz@gnu.org> wrote:
> From: Daniel Colas= cione <dancol@dan= col.org>
> Date: Fri, 4 Jun 2021 02:47:32 -0700
>
> On 6/4/21 1:00 AM, Daniel Mendler wrote:
>
> > Interesting, thank you for working on this!
> >
> > I had hoped that a new GC would surface at some point given the r= ecent
> > improvements regarding native compilation. As you say this can br= ing
> > Emacs on par with modern managed language runtimes. Can you elabo= rate a
> > bit more of some of your concepts?
>
> Thanks for taking a look.

Seconded.

And I really hope that more than just a look (and a discussion) will
come out of this.=C2=A0 Making our GC more efficient is an important
development goal, of which over the years we've seen several attempts,<= br> but unfortunately little advancement in practice.=C2=A0 I hope interested individuals will step forward and continue developing this (or any
other) initiative so that we will eventually be able to replace our GC
with a better one.

Thanks in advance for developing this aspect of Emacs.

--0000000000007cf51805c546416a--