Removing RTTI from binaries

Jens Bauer via D.gnu d.gnu at puremagic.com
Thu Apr 30 07:34:19 PDT 2015


On Thursday, 30 April 2015 at 14:27:17 UTC, Jens Bauer wrote:
> {snip} or make a 32-bit uniqueID (perhaps even a 16-bit UID).

Note: The most frequently used typeinfo should have the lowest ID 
numbers, because on small devices, loading a small value into a 
register, will use very little space.

Of course, an 8-bit value can be supported on most systems.

On ARM Cortex-M3 and later, we have several ways of loading small 
values. One is the 'modified immediate', which is one of the 
following:
(8-bit value) << (0 ..24)
(8-bit value) * 0x00010001
(8-bit value) * 0x01000100
(8-bit value) * 0x01010101
Then there's a 16-bit load using movw.

Both modified immediate and movw uses 32-bit instructions, but a 
direct 8-bit value can be loaded using the 16-bit mov.n 
instruction (also on Cortex-M0).

... My point is that if sorting things like UniqueIDs would 
result in smaller binaries.


More information about the D.gnu mailing list