unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Pip Cet <pipcet@protonmail.com>
Cc: luangruo@yahoo.com, ali_gnu2@emvision.com, emacs-devel@gnu.org
Subject: Re: pdumper on Solaris 10
Date: Sun, 08 Dec 2024 18:49:48 +0200	[thread overview]
Message-ID: <86a5d6f7bn.fsf@gnu.org> (raw)
In-Reply-To: <87a5d6jgim.fsf@protonmail.com> (message from Pip Cet on Sun, 08 Dec 2024 16:17:53 +0000)

> Date: Sun, 08 Dec 2024 16:17:53 +0000
> From: Pip Cet <pipcet@protonmail.com>
> Cc: luangruo@yahoo.com, ali_gnu2@emvision.com, emacs-devel@gnu.org
> 
> "Eli Zaretskii" <eliz@gnu.org> writes:
> 
> >> Date: Sun, 08 Dec 2024 13:52:09 +0000
> >> From: Pip Cet <pipcet@protonmail.com>
> >> Cc: luangruo@yahoo.com, ali_gnu2@emvision.com, emacs-devel@gnu.org
> >>
> >> "Eli Zaretskii" <eliz@gnu.org> writes:
> >>
> >> > Which builds except WIDE_EMACS_INT need to use !USE_LSB?
> >>
> >> The only platforms that "need" to use !USE_LSB are those that cannot
> >> guarantee 8-byte alignment for static objects, which is why I asked
> >> about those.
> >
> > That means: none, AFAIK.  At least not given the platforms we
> > currently support.  So it's little wonder that configuration had
> > bit-rotten.
> 
> So let's remove it, and switch WIDE_EMACS_INT builds to USE_LSB?

That'd be a waste of effort.  What we have now works, and works well.
I'm not interested in throwing away a lot of hard work which got us to
where we are with WIDE_EMACS_INT, for advantages which I'm not sure
even exist, let alone are significant.

Those bits are unused in the WIDE_EMACS_INT build, so using them is a
no-brainer, IMO.

> >> In particular, WIDE_EMACS_INT shouldn't imply !USE_LSB.  That it
> >> currently does is a very questionable optimization at best (fixnum
> >> manipulation may be very slightly faster with !USE_LSB, but pointer
> >> manipulation will be slower and requires extra registers, which is an
> >> issue on i386).
> >
> > Where can one find i386 these days, except in a museum?
> 
> I meant all x86 systems using the 32-bit instruction set (and, in
> particular, its limited exposed register set).  Those will be around for
> a while.

Modern x86 CPUs can handle 64-bit values just fine, thank you.

> >> (Of course, WIDE_EMACS_INT is almost always a bad deal, anyway.  As far
> >> as I can tell, the justification for its continued existence is that
> >> some C code assumes buffer positions are fixnums (and, because we expose
> >> fixnum-ness to Lisp, some broken Lisp code might do that, too). If we
> >> had implemented fixnums to be transparent, we could simply remove
> >> WIDE_EMACS_INT, but that mistake has been made...)
> >
> > I'm a very happy user of WIDE_EMACS_INT, so bad-mouthing it is not
> > recommended ;-)
> 
> I don't think you should be happy; WIDE_EMACS_INT is sadly necessary to
> support buffers > 512MB on 32-bit systems, but you're wasting 32 bits
> for almost every Lisp_Object, and registers as well.

Why should I care?  It isn't like each wasted bit comes with some
monetary fine, does it?

> As 32-bit systems go away, it will become harder to write Lisp code that
> works correctly in !WIDE_EMACS_INT 32-bit builds, so we may well have to
> make WIDE_EMACS_INT the default at some point.

If you are trying to convince me to switch to 64-bit development
environment, you are wasting your time.  I have my very good reasons,
and don't plan on doing so any time soon.

And 64-but Windows supports 32-bit code perfectly for my needs.

> > In fact, one of my strongest reservations about the igc branch is that
> > it will most probably force me to lose WIDE_EMACS_INT.
> 
> I believe that problem is exclusively due to the fact that
> WIDE_EMACS_INT implies USE_LSB=0. Dropping !USE_LSB should allow us to
> use WIDE_EMACS_INT normally in MPS builds, I think.

No, there's also a built-in assumption in MPS about the size of a
word.

> The "low-hanging fruit" performance improvements USE_LSB allows for
> (faster stack scanning during GC and many places which don't need to
> look at the MSB word at all) are, I think, real, while the way in which
> !USE_LSB is superior (we dereference pointer words without having to
> untag them first) may reduce code size slightly, but shouldn't really
> affect performance.

I have no problems with performance that I can report, so I don't
expect anyone to waste time and effort on these optimizations.  We
have enough real problems for the resources we have.



  reply	other threads:[~2024-12-08 16:49 UTC|newest]

Thread overview: 122+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <mailman.39.1723910423.12184.emacs-devel@gnu.org>
2024-08-17 22:49 ` Emacs-devel Digest, Vol 246, Issue 17 ali_gnu2
2024-08-18  0:10   ` Po Lu
2024-08-18  0:19     ` Po Lu
2024-08-18  1:15     ` Solaris dldump (was: Pure space) ali_gnu2
2024-08-18  1:25       ` Solaris dldump Po Lu
2024-08-18 22:27         ` Stefan Kangas
2024-08-18 23:56           ` Po Lu
2024-08-19 11:18             ` Eli Zaretskii
2024-08-19 12:09               ` Po Lu
2024-08-19 12:50                 ` Eli Zaretskii
2024-08-19 11:44             ` Pip Cet
2024-08-19 11:57               ` Po Lu
2024-08-19 12:10                 ` Pip Cet
2024-08-19 12:55                   ` Eli Zaretskii
2024-08-19 13:46                     ` Pip Cet
2024-08-19 14:39                       ` Eli Zaretskii
2024-08-19 15:26                         ` Corwin Brust
2024-08-19 15:31                           ` Corwin Brust
2024-08-19 20:51                       ` Stefan Kangas
2024-08-19 20:35             ` Stefan Kangas
2024-12-08 12:17     ` pdumper on Solaris 10 Pip Cet via Emacs development discussions.
2024-12-08 13:05       ` Eli Zaretskii
2024-12-08 13:52         ` Pip Cet via Emacs development discussions.
2024-12-08 14:52           ` Eli Zaretskii
2024-12-08 16:17             ` Pip Cet via Emacs development discussions.
2024-12-08 16:49               ` Eli Zaretskii [this message]
2024-12-08 17:37                 ` Pip Cet via Emacs development discussions.
2024-12-08 18:41                   ` Eli Zaretskii
2024-12-08 19:15                     ` Gerd Möllmann
2024-12-08 20:38                       ` Eli Zaretskii
2024-12-09  3:09                         ` Gerd Möllmann
2024-12-09  3:32                           ` Eli Zaretskii
2024-12-09  3:43                             ` Gerd Möllmann
2024-12-09  4:53                               ` Stefan Kangas
2024-12-09  5:26                                 ` Gerd Möllmann
2024-12-09 13:58                                 ` Eli Zaretskii
2024-12-10  0:02                                   ` Po Lu
2024-12-09  9:56                           ` Pip Cet via Emacs development discussions.
2024-12-10  0:04                             ` Po Lu
2024-12-10  3:34                               ` Eli Zaretskii
2024-12-11  1:13                                 ` Po Lu
2024-12-11 11:29                                   ` Pip Cet via Emacs development discussions.
2024-12-09  4:59                     ` Stefan Kangas
2024-12-09 14:39                       ` Eli Zaretskii
2024-12-09 21:06                         ` Merging MPS a.k.a. scratch/igc, yet again Stefan Kangas
2024-12-09 21:49                           ` Óscar Fuentes
2024-12-10  4:17                             ` Xiyue Deng
2024-12-10  4:26                               ` Sean Whitton
2024-12-10  4:42                               ` chad
2024-12-10 13:10                               ` Óscar Fuentes
2024-12-10 15:10                                 ` Pip Cet via Emacs development discussions.
2024-12-10 15:37                                   ` Óscar Fuentes
2024-12-10 15:47                                     ` Pip Cet via Emacs development discussions.
2024-12-10 17:16                                     ` Eli Zaretskii
2024-12-12  4:37                                   ` Xiyue Deng
2024-12-10 13:20                               ` Eli Zaretskii
2024-12-10 14:46                               ` Pip Cet via Emacs development discussions.
2024-12-10 13:09                             ` Eli Zaretskii
2024-12-10 13:20                               ` Óscar Fuentes
2024-12-10 14:41                                 ` Eli Zaretskii
2024-12-09 23:13                           ` chad
2024-12-10 12:41                           ` Eli Zaretskii
2024-12-10  0:09                         ` pdumper on Solaris 10 Stefan Kangas
2024-12-10 12:59                           ` Eli Zaretskii
2024-12-10 13:39                             ` Óscar Fuentes
2024-12-10 14:39                               ` Eli Zaretskii
2024-12-10 15:21                                 ` Óscar Fuentes
2024-12-10 16:39                                   ` Eli Zaretskii
2024-12-10 15:38                               ` Pip Cet via Emacs development discussions.
2024-12-10 16:04                                 ` Óscar Fuentes
2024-12-10 17:23                                   ` Eli Zaretskii
2024-12-11  5:27                                 ` Gap buffer problem? Gerd Möllmann
2024-12-11  8:50                                   ` Pip Cet via Emacs development discussions.
2024-12-11  9:35                                     ` Gerd Möllmann
2024-12-11 11:50                                       ` Pip Cet via Emacs development discussions.
2024-12-11 13:22                                         ` Gerd Möllmann
2024-12-11 14:53                                           ` Pip Cet via Emacs development discussions.
2024-12-11 15:33                                             ` Gerd Möllmann
2024-12-11 16:58                                               ` Eli Zaretskii
2024-12-11 17:13                                                 ` Gerd Möllmann
2024-12-11 17:45                                                   ` Robert Pluim
2024-12-11 18:11                                                     ` Gerd Möllmann
2024-12-11 19:08                                                     ` Eli Zaretskii
2024-12-11 17:41                                                 ` Pip Cet via Emacs development discussions.
2024-12-11 19:04                                                   ` Eli Zaretskii
2024-12-11 19:54                                                     ` Pip Cet via Emacs development discussions.
2024-12-11 20:26                                                       ` Eli Zaretskii
2024-12-11 22:07                                                       ` Dmitry Gutov
2024-12-11 19:09                                                   ` Gerd Möllmann
2024-12-12  8:55                                                     ` Robert Pluim
2024-12-12 10:14                                                       ` Gerd Möllmann
2024-12-11 12:27                                       ` Pip Cet via Emacs development discussions.
2024-12-11 13:27                                         ` Gerd Möllmann
2024-12-11 15:06                                           ` Marcus Harnisch
2024-12-11 22:11                                             ` Dmitry Gutov
2024-12-12  3:49                                               ` Gerd Möllmann
2024-12-12 19:07                                                 ` Dmitry Gutov
2024-12-12 19:30                                                   ` Eli Zaretskii
2024-12-12 19:40                                                   ` Gerd Möllmann
2024-12-12  6:01                                               ` Eli Zaretskii
2024-12-11 14:22                                   ` Eli Zaretskii
2024-12-11 15:51                                     ` Gerd Möllmann
2024-12-11 17:06                                       ` Eli Zaretskii
2024-12-11 17:15                                         ` Gerd Möllmann
2024-12-10 18:13                               ` pdumper on Solaris 10 Gerd Möllmann
2024-12-10 15:23                             ` Pip Cet via Emacs development discussions.
2024-12-10 17:08                               ` Eli Zaretskii
2024-12-10 18:03                                 ` Gerd Möllmann
2024-12-10 19:34                                   ` Pip Cet via Emacs development discussions.
2024-12-10 19:59                                     ` Gerd Möllmann
2024-12-10 20:17                                       ` Pip Cet via Emacs development discussions.
2024-12-10 20:34                                         ` Gerd Möllmann
2024-12-11 14:13                                   ` Pip Cet via Emacs development discussions.
2024-12-11 17:43                                     ` Eli Zaretskii
2024-12-09 16:21                       ` Pip Cet via Emacs development discussions.
2024-12-08 18:47                 ` Pip Cet via Emacs development discussions.
2024-12-09  1:13                 ` Po Lu
2024-12-09  1:08           ` Po Lu
2024-12-09  0:58       ` Po Lu
2024-12-09  3:28         ` Eli Zaretskii
2024-12-09  1:01       ` Po Lu
2024-12-09 13:11         ` Pip Cet via Emacs development discussions.

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=86a5d6f7bn.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=ali_gnu2@emvision.com \
    --cc=emacs-devel@gnu.org \
    --cc=luangruo@yahoo.com \
    --cc=pipcet@protonmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).