emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: pdumper on Solaris 10


From: Pip Cet
Subject: Re: pdumper on Solaris 10
Date: Sun, 08 Dec 2024 18:47:08 +0000

Pip Cet <pipcet@protonmail.com> writes:
>>> > 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.
>
> That's very vague. If there is an assumption that EMACS_INT ==
> mps_word_t, it would certainly not be built into MPS, which doesn't know
> about EMACS_INT at all.  But as it is, I have no idea where you even
> suspect this "built-in" assumption is made.

FWIW, my MPS branch works fine in this constellation (32-bit x86,
WIDE_EMACS_INT, USE_LSB_TAG) on GNU/Linux.  If there is an issue, it
must be quite subtle. Or specific to mingw32, which would mean it has to
wait until some day, if ever, that toolchain becomes available on the
internet again.

commit 4370e866d8557b55c948e740d119e170338b91fd
Author: Pip Cet <pipcet@protonmail.com>
Date:   Sun Dec 8 17:45:12 2024 +0000

    try enabling MPS for WIDE_EMACS_INT + USE_LSB_TAG builds

diff --git a/src/igc.c b/src/igc.c
index 4589cfd0085..e97277d962c 100644
--- a/src/igc.c
+++ b/src/igc.c
@@ -70,9 +70,6 @@
 #ifndef USE_LSB_TAG
 # error "USE_LSB_TAG required"
 #endif
-#ifdef WIDE_EMACS_INT
-# error "WIDE_EMACS_INT not supported"
-#endif
 #if USE_STACK_LISP_OBJECTS
 # error "USE_STACK_LISP_OBJECTS not supported"
 #endif
diff --git a/src/lisp.h b/src/lisp.h
index d4638fa160c..0541f8f901b 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -280,7 +280,7 @@ #define VAL_MAX (EMACS_INT_MAX >> (GCTYPEBITS - 1))
     b. slower, because it typically requires extra masking.
    So, USE_LSB_TAG is true only on hosts where it might be useful.  */
 DEFINE_GDB_SYMBOL_BEGIN (bool, USE_LSB_TAG)
-#define USE_LSB_TAG (VAL_MAX / 2 < INTPTR_MAX)
+#define USE_LSB_TAG 1
 DEFINE_GDB_SYMBOL_END (USE_LSB_TAG)
 
 /* Mask for the value (as opposed to the type bits) of a Lisp object.  */





reply via email to

[Prev in Thread] Current Thread [Next in Thread]