<feed xmlns='http://www.w3.org/2005/Atom'>
<title>chemacs.git/src/bytecode.c, branch devmain</title>
<subtitle>emacs
</subtitle>
<id>http://cgit.adnoto.dev/chemacs.git/atom?h=devmain</id>
<link rel='self' href='http://cgit.adnoto.dev/chemacs.git/atom?h=devmain'/>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/chemacs.git/'/>
<updated>2026-01-01T12:54:34Z</updated>
<entry>
<title>; Add 2026 to copyright years.</title>
<updated>2026-01-01T12:54:34Z</updated>
<author>
<name>Sean Whitton</name>
<email>spwhitton@spwhitton.name</email>
</author>
<published>2026-01-01T12:54:34Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/chemacs.git/commit/?id=c31f6adc31d48076c63ad82b83b2970e1b0d7b9b'/>
<id>urn:sha1:c31f6adc31d48076c63ad82b83b2970e1b0d7b9b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>; * src/bytecode.c (exec_byte_code): editing mistake (thanks Pip!)</title>
<updated>2025-10-19T13:14:20Z</updated>
<author>
<name>Mattias Engdegård</name>
<email>mattias.engdegard@gmail.com</email>
</author>
<published>2025-10-19T13:14:20Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/chemacs.git/commit/?id=04cb852c13e5dca1dedc90befc4f57b7b7b11ed6'/>
<id>urn:sha1:04cb852c13e5dca1dedc90befc4f57b7b7b11ed6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Disable -Wclobbered for GCC in exec_byte_code (bug#79610)</title>
<updated>2025-10-19T13:09:01Z</updated>
<author>
<name>Mattias Engdegård</name>
<email>mattias.engdegard@gmail.com</email>
</author>
<published>2025-10-19T13:02:08Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/chemacs.git/commit/?id=346213f88373c50e09d620781c3dc51c21e92254'/>
<id>urn:sha1:346213f88373c50e09d620781c3dc51c21e92254</id>
<content type='text'>
* src/bytecode.c (exec_byte_code):
Disable the -Wclobbered warning for GCC locally as the old work-around
doesn't appear to be effective for variables with explicitly assigned
registers.  This also allows us to remove that work-around which
improves the code somewhat.
</content>
</entry>
<entry>
<title>; exec_byte_code: refactor branch case</title>
<updated>2025-10-19T12:57:34Z</updated>
<author>
<name>Mattias Engdegård</name>
<email>mattias.engdegard@gmail.com</email>
</author>
<published>2025-10-16T15:01:24Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/chemacs.git/commit/?id=076307b16354d2968388db4c7485e09ad2a34cb7'/>
<id>urn:sha1:076307b16354d2968388db4c7485e09ad2a34cb7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>exec_byte_code: use fixed registers for top and pc (bug#79610)</title>
<updated>2025-10-19T12:57:34Z</updated>
<author>
<name>Mattias Engdegård</name>
<email>mattias.engdegard@gmail.com</email>
</author>
<published>2025-10-08T16:03:08Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/chemacs.git/commit/?id=ae673ce20c22866ae4fbcae9a26afe8fad27ba54'/>
<id>urn:sha1:ae673ce20c22866ae4fbcae9a26afe8fad27ba54</id>
<content type='text'>
GCC seems to have difficulty allocating important global interpreter
variables in registers; telling it which ones to use for 'top' and 'pc'
makes a big difference and seems to ease pressure enough for it to
deal with other variables as well.

We do it for AMD64 and ARM64.  Clang doesn't seem to need these directives.
It does result in -Wclobbered warnings that seem difficult to silence.

* src/bytecode.c (BC_REG_TOP, BC_REG_PC): New.
(exec_byte_code): Use them.
</content>
</entry>
<entry>
<title>; exec_byte_code: don't re-use op in FETCH2</title>
<updated>2025-10-19T12:57:34Z</updated>
<author>
<name>Mattias Engdegård</name>
<email>mattias.engdegard@gmail.com</email>
</author>
<published>2025-09-23T13:01:20Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/chemacs.git/commit/?id=fbc68bbc369b7d89b91763a687efbc0880c2420e'/>
<id>urn:sha1:fbc68bbc369b7d89b91763a687efbc0880c2420e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>exec_byte_code: reduce use of semi-global 'op' (bug#79610)</title>
<updated>2025-10-19T12:57:34Z</updated>
<author>
<name>Mattias Engdegård</name>
<email>mattias.engdegard@gmail.com</email>
</author>
<published>2025-09-22T16:33:01Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/chemacs.git/commit/?id=b72e352cb42cf66e8750f6e4f53331730f544589'/>
<id>urn:sha1:b72e352cb42cf66e8750f6e4f53331730f544589</id>
<content type='text'>
* src/bytecode.c (exec_byte_code):
Re-type op from int to ptrdiff_t, which avoids some useless conversions.
Reduce its use by using local variables for intra-block use,
and another variable (arg) where it doesn't need to be alive across
instruction dispatch.  We also eliminate it where performance doesn't
matter by re-fetching it from the instruction stream.

All this should help the register allocator.
</content>
</entry>
<entry>
<title>; * src/bytecode.c (exec_byte_code): Revert gratuituous style change</title>
<updated>2025-09-19T08:31:54Z</updated>
<author>
<name>Mattias Engdegård</name>
<email>mattias.engdegard@gmail.com</email>
</author>
<published>2025-09-19T08:31:54Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/chemacs.git/commit/?id=9f174f08d87ca779fad77f3e8f1b619f23cc62d7'/>
<id>urn:sha1:9f174f08d87ca779fad77f3e8f1b619f23cc62d7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>; * src/bytecode.c (exec_byte_code): Fix coding style.</title>
<updated>2025-09-19T01:28:17Z</updated>
<author>
<name>Po Lu</name>
<email>luangruo@yahoo.com</email>
</author>
<published>2025-09-19T01:28:17Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/chemacs.git/commit/?id=fb15f86248667063c45097d0036cc0b2d9309043'/>
<id>urn:sha1:fb15f86248667063c45097d0036cc0b2d9309043</id>
<content type='text'>
</content>
</entry>
<entry>
<title>* src/bytecode.c (exec_byte_code): Better quitcounter reset value.</title>
<updated>2025-09-18T20:13:38Z</updated>
<author>
<name>Mattias Engdegård</name>
<email>mattias.engdegard@gmail.com</email>
</author>
<published>2025-09-18T20:10:55Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/chemacs.git/commit/?id=7d5633d0f4785881fc3a1ad302b0a8d3f11dcc25'/>
<id>urn:sha1:7d5633d0f4785881fc3a1ad302b0a8d3f11dcc25</id>
<content type='text'>
This value forces a quit check at the next backward branch, to avoid
rare situations being hard to interrupt.
Suggested by Pip Cet.
</content>
</entry>
</feed>
