<feed xmlns='http://www.w3.org/2005/Atom'>
<title>emacs, branch feature/igc2</title>
<subtitle>Emacs is the extensible, customizable, self-documenting real-time display editor. 
</subtitle>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/'/>
<entry>
<title>Simplify set_header a bit.</title>
<updated>2026-02-22T18:14:25+00:00</updated>
<author>
<name>Helmut Eller</name>
</author>
<published>2026-02-22T18:14:25+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=f29215c3d31d7b842bc1b7a9f5d15340b15d5d98'/>
<id>f29215c3d31d7b842bc1b7a9f5d15340b15d5d98</id>
<content type='text'>
* src/igc.c (set_header): Use uint64_t to avoid compiler warnings on
32-bit targets.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* src/igc.c (set_header): Use uint64_t to avoid compiler warnings on
32-bit targets.
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove tag2 from igc_header</title>
<updated>2026-02-22T18:05:02+00:00</updated>
<author>
<name>Helmut Eller</name>
</author>
<published>2026-02-22T18:05:02+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=5f0fdcdd1ccaceb7a7d4f878ec63f79dbeb5dc40'/>
<id>5f0fdcdd1ccaceb7a7d4f878ec63f79dbeb5dc40</id>
<content type='text'>
We have switched from the AWL pool to the AWL0 pool everywhere.  So we
no longer need the tag2 to make both words unalignend in the wide-int
configuration.

* src/igc-types.h (IGC_HEADER_NWORDS_BITS): Make this 32 everyhwere.
(union igc_header): Remove the tag2 bitfield.
* src/igc.c (set_header): Setting tag2 is no longer needed.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We have switched from the AWL pool to the AWL0 pool everywhere.  So we
no longer need the tag2 to make both words unalignend in the wide-int
configuration.

* src/igc-types.h (IGC_HEADER_NWORDS_BITS): Make this 32 everyhwere.
(union igc_header): Remove the tag2 bitfield.
* src/igc.c (set_header): Setting tag2 is no longer needed.
</pre>
</div>
</content>
</entry>
<entry>
<title>Minor simplification</title>
<updated>2026-02-22T16:08:20+00:00</updated>
<author>
<name>Helmut Eller</name>
</author>
<published>2026-02-22T16:08:20+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=3801ecddcb923365141ccb98812cca48dc3b914e'/>
<id>3801ecddcb923365141ccb98812cca48dc3b914e</id>
<content type='text'>
* mps/code/trace.c (tracePropagateToLowerRanks): Move the hack from
traceFindGrey to here and simplify it a bit.
* (traceScanSegRes): Remove a debugging assertion that can't fail.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* mps/code/trace.c (tracePropagateToLowerRanks): Move the hack from
traceFindGrey to here and simplify it a bit.
* (traceScanSegRes): Remove a debugging assertion that can't fail.
</pre>
</div>
</content>
</entry>
<entry>
<title>* mps/code/poolawl.c (aephFixKey): Add the fixed key to the summary.</title>
<updated>2026-02-22T16:06:17+00:00</updated>
<author>
<name>Helmut Eller</name>
</author>
<published>2026-02-22T16:06:17+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=e4971c4f1e72a1e621a63ad66ef9df336239beaf'/>
<id>e4971c4f1e72a1e621a63ad66ef9df336239beaf</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add some assertions</title>
<updated>2026-02-20T12:50:09+00:00</updated>
<author>
<name>Helmut Eller</name>
</author>
<published>2026-02-20T12:50:09+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=3ed4886fe6daa3fae172cb710bf939bc9d2ac4e2'/>
<id>3ed4886fe6daa3fae172cb710bf939bc9d2ac4e2</id>
<content type='text'>
* src./igc.c (igc_header_type, igc_header_hash, igc_header_nwords):
Check the tag in the non-exthdr case.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* src./igc.c (igc_header_type, igc_header_hash, igc_header_nwords):
Check the tag in the non-exthdr case.
</pre>
</div>
</content>
</entry>
<entry>
<title>* src/igc.c (set_header): Use bitfields instead of shifting/oring.</title>
<updated>2026-02-20T12:29:52+00:00</updated>
<author>
<name>Helmut Eller</name>
</author>
<published>2026-02-20T12:29:52+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=1cb0262ce86f2c7432a357ecdf5a95eaba20650e'/>
<id>1cb0262ce86f2c7432a357ecdf5a95eaba20650e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Use bitfields instead of shifting/masking</title>
<updated>2026-02-20T09:04:28+00:00</updated>
<author>
<name>Helmut Eller</name>
</author>
<published>2026-02-20T09:04:28+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=032735d416b180b78cf8136b72f6b2d333fd53ef'/>
<id>032735d416b180b78cf8136b72f6b2d333fd53ef</id>
<content type='text'>
* src/igc.c (header_hash, header_type, header_tag, header_exthdr):
Adapt and use Gerd's version.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* src/igc.c (header_hash, header_type, header_tag, header_exthdr):
Adapt and use Gerd's version.
</pre>
</div>
</content>
</entry>
<entry>
<title>Unify union gc_header and struct igc_header</title>
<updated>2026-02-20T08:54:12+00:00</updated>
<author>
<name>Helmut Eller</name>
</author>
<published>2026-02-20T08:34:19+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=610412bf9357202fddd7de26d8bbcadcee568595'/>
<id>610412bf9357202fddd7de26d8bbcadcee568595</id>
<content type='text'>
Rename union gc_header to union igc_header and use that everywhere.

We already need the GC_HEADER macro to paper over differences between
the HAVE_MPS/!HAVE_MPS version.  There's little value in having the
union gc_union as it was defined differently anyway.

* src/igc-types.h (union igc_header): Renamed from union gc_header.
* src/igc.h (igc_init_header): Renamed from gc_init_header and
moved here from lisp.h.
(igc_init_header_bytes): Idem.
* src/lisp.h (gc_init_header, gc_init_header_bytes): Moved to igc.h.
(GC_HEADER, GC_HEADER_INIT): Adjust to union igc_header.
* src/igc.c: Use union gc_header instead of struct igc_header.
* src/keyboard.c (init_keyboard): Use igc_init_header.
* src/lread.c (init_obarray_once): Use igc_init_header.
* src/thread.c (init_threads): Use igc_init_header.
* src/pdumper.c: Unconditionally include igc-types.h.
(Fdump_emacs_portable) [HAVE_MPS]: Use union igc_header.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Rename union gc_header to union igc_header and use that everywhere.

We already need the GC_HEADER macro to paper over differences between
the HAVE_MPS/!HAVE_MPS version.  There's little value in having the
union gc_union as it was defined differently anyway.

* src/igc-types.h (union igc_header): Renamed from union gc_header.
* src/igc.h (igc_init_header): Renamed from gc_init_header and
moved here from lisp.h.
(igc_init_header_bytes): Idem.
* src/lisp.h (gc_init_header, gc_init_header_bytes): Moved to igc.h.
(GC_HEADER, GC_HEADER_INIT): Adjust to union igc_header.
* src/igc.c: Use union gc_header instead of struct igc_header.
* src/keyboard.c (init_keyboard): Use igc_init_header.
* src/lread.c (init_obarray_once): Use igc_init_header.
* src/thread.c (init_threads): Use igc_init_header.
* src/pdumper.c: Unconditionally include igc-types.h.
(Fdump_emacs_portable) [HAVE_MPS]: Use union igc_header.
</pre>
</div>
</content>
</entry>
<entry>
<title>Check gc_header bitfield ABI sanity at startup</title>
<updated>2026-02-19T22:04:31+00:00</updated>
<author>
<name>Helmut Eller</name>
</author>
<published>2026-02-19T22:04:31+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=784d791cdd5dda1c4f2ea3c03ccdf359ce35615e'/>
<id>784d791cdd5dda1c4f2ea3c03ccdf359ce35615e</id>
<content type='text'>
* src/igc.c (check_header_abi, check_header_bit): New functions.
(init_igc): Call it.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* src/igc.c (check_header_abi, check_header_bit): New functions.
(init_igc): Call it.
</pre>
</div>
</content>
</entry>
<entry>
<title>Describe gc_header bitfields for big-endian machines</title>
<updated>2026-02-19T22:01:52+00:00</updated>
<author>
<name>Helmut Eller</name>
</author>
<published>2026-02-19T22:01:52+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=f966395d93df7a6242d1d293f5677c097f7fb587'/>
<id>f966395d93df7a6242d1d293f5677c097f7fb587</id>
<content type='text'>
* src/igc-types.h (union gc_header): Add the WORDS_BIGENDIAN case.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* src/igc-types.h (union gc_header): Add the WORDS_BIGENDIAN case.
</pre>
</div>
</content>
</entry>
</feed>
