bug-gnu-emacs
[Top][All Lists]
Advanced

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

bug#41321: 27.0.91; Emacs aborts due to invalid pseudovector objects


From: Paul Eggert
Subject: bug#41321: 27.0.91; Emacs aborts due to invalid pseudovector objects
Date: Sat, 30 May 2020 10:52:07 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.8.0

On 5/29/20 10:54 PM, Eli Zaretskii wrote:
   (USE_LSB_TAG
    ? (uintptr_t) word % GCALIGNMENT == Lisp_Symbol
    : (uintptr_t) word % alignof (struct Lisp_Symbol) == 0)
I don't understand how this will work, given that Lisp object on the
stack can be pushed as 2 non-contiguous 32-bit words.  Can you
explain?

On a --with-wide-int host where !USE_LSB_TAG, the above test will work correctly on the low-order word of a Lisp object that is a symbol, because ((uintptr_t) word % alignof (struct Lisp_Symbol) == 0) must be true on such a word.

The test is only for symbols; it's not for other Lisp objects.





reply via email to

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