Turning misc objects into pseudovectors

classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

Turning misc objects into pseudovectors

Paul Eggert
Bug#32405 contains a patch that will get rid of the miscellaneous-object
category of the Emacs Lisp interpreter, and will change these objects to be
pseudovectors instead. The motivation is to simplify the interpreter and garbage
collector and speed it up slightly, and to simplify potential future changes.

This change should be invisible to Emacs users, except that (garbage-collect)
will now yield a data structure like this:

((conses 16 59897 12062) (symbols 48 15849 0) (strings 32 14605 1081)
(string-bytes 1 295420) (vectors 16 7106) (vector-slots 8 403952 52398) (floats
8 46 530) (intervals 56 36 16) (buffers 992 7))

That is, there is no sublist headed 'misc' any more, because there are no longer
misc objects. If you see any problem with this change please comment in the bug
report (this email contains a Reply-To: header that should work). Thanks.

Reply | Threaded
Open this post in threaded view
|

Re: Turning misc objects into pseudovectors

Tom Tromey-4
>>>>> "Paul" == Paul Eggert <[hidden email]> writes:

Paul> Bug#32405 contains a patch that will get rid of the
Paul> miscellaneous-object category of the Emacs Lisp interpreter, and will
Paul> change these objects to be pseudovectors instead. The motivation is to
Paul> simplify the interpreter and garbage collector and speed it up
Paul> slightly, and to simplify potential future changes.

This seems reasonable to me.  Do you plan to land it soon?
I am wondering if I should wait for this before merging bignum.
Currently bignums are implemented as misc types, not pseudovectors.

Tom

Reply | Threaded
Open this post in threaded view
|

Re: Turning misc objects into pseudovectors

Paul Eggert
Tom Tromey wrote:
> This seems reasonable to me.  Do you plan to land it soon?

Yes, in a day or two unless there are significant objections.

Reply | Threaded
Open this post in threaded view
|

Re: bug#32405: Turning misc objects into pseudovectors

Eli Zaretskii
In reply to this post by Tom Tromey-4
> From: Tom Tromey <[hidden email]>
> Date: Thu, 09 Aug 2018 10:31:35 -0600
> Cc: Emacs Development <[hidden email]>, [hidden email]
>
> I am wondering if I should wait for this before merging bignum.
> Currently bignums are implemented as misc types, not pseudovectors.

I think the bignum merge should happen first, as it is a much more
important change than turning misc objects into pseudovectors.

Reply | Threaded
Open this post in threaded view
|

Re: bug#32405: Turning misc objects into pseudovectors

Tom Tromey-4
>>>>> "Eli" == Eli Zaretskii <[hidden email]> writes:

>> From: Tom Tromey <[hidden email]>
>> Date: Thu, 09 Aug 2018 10:31:35 -0600
>> Cc: Emacs Development <[hidden email]>, [hidden email]
>>
>> I am wondering if I should wait for this before merging bignum.
>> Currently bignums are implemented as misc types, not pseudovectors.

Eli> I think the bignum merge should happen first, as it is a much more
Eli> important change than turning misc objects into pseudovectors.

Ok.

To anyone concerned - please be sure to take a look at the bignum
branch.  I will merge it soon, maybe this weekend depending on my free
time.

Tom

Reply | Threaded
Open this post in threaded view
|

Re: bug#32405: Turning misc objects into pseudovectors

Paul Eggert
Tom Tromey wrote:
> To anyone concerned - please be sure to take a look at the bignum
> branch.  I will merge it soon, maybe this weekend depending on my free
> time.

Thanks for doing all that! I am looking forward to using bignums.

After you merged it into master, I rebased the Bug#32405 patches to turn misc
objects (including bignums) into pseudovectors and installed them into master.
Closing the bug report.

Reply | Threaded
Open this post in threaded view
|

Re: bug#32405: Turning misc objects into pseudovectors

Eli Zaretskii
> From: Paul Eggert <[hidden email]>
> Date: Sat, 11 Aug 2018 18:53:43 -0700
> Cc: [hidden email], [hidden email]
>
> After you merged it into master, I rebased the Bug#32405 patches to turn misc
> objects (including bignums) into pseudovectors and installed them into master.

Thanks, but it sounds like .gdbinit needs some update as followup,
because it still uses Lisp_Misc, and various unrelated commands (like
"xtype") barf.

Reply | Threaded
Open this post in threaded view
|

Re: bug#32405: Turning misc objects into pseudovectors

Paul Eggert
Eli Zaretskii wrote:
> it sounds like .gdbinit needs some update as followup,

Sure does. Thanks for catching that. I installed the attached.

0001-Adjust-.gdbinit-to-removal-of-misc-objects.patch (2K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: bug#32405: Turning misc objects into pseudovectors

Paul Eggert
In reply to this post by Paul Eggert
On 08/11/2018 06:53 PM, Paul Eggert wrote:
> I rebased the Bug#32405 patches to turn misc objects (including
> bignums) into pseudovectors and installed them into master.

I discovered a few more traces of the old misc objects, and removed them
by installing the attached.



0001-Remove-more-traces-of-misc-Bug-32405.patch (6K) Download Attachment