Hi,
This patch shrinks struct JitBlock size from 80 to 72, and GekkoOPTemplate from 32 to 24 bytes on x86-64.
The latter adds up quite nicely across JIT tables:
before:
u-ra: sizeof(GekkoOPTemplate) = 32
u-ra: sizeof(primarytable) = 2048
u-ra: sizeof(table4) = 416
u-ra: sizeof(table4_2) = 544
u-ra: sizeof(table4_3) = 128
u-ra: sizeof(table19) = 448
u-ra: sizeof(table31) = 2496
u-ra: sizeof(table31_2) = 512
u-ra: sizeof(table59) = 288
u-ra: sizeof(table63) = 480
u-ra: sizeof(table63_2) = 352
after:
u-ra: sizeof(GekkoOPTemplate) = 24
u-ra: sizeof(primarytable) = 1536
u-ra: sizeof(table4) = 312
u-ra: sizeof(table4_2) = 408
u-ra: sizeof(table4_3) = 96
u-ra: sizeof(table19) = 336
u-ra: sizeof(table31) = 1872
u-ra: sizeof(table31_2) = 384
u-ra: sizeof(table59) = 216
u-ra: sizeof(table63) = 360
u-ra: sizeof(table63_2) = 264
This patch shrinks struct JitBlock size from 80 to 72, and GekkoOPTemplate from 32 to 24 bytes on x86-64.
The latter adds up quite nicely across JIT tables:
before:
u-ra: sizeof(GekkoOPTemplate) = 32
u-ra: sizeof(primarytable) = 2048
u-ra: sizeof(table4) = 416
u-ra: sizeof(table4_2) = 544
u-ra: sizeof(table4_3) = 128
u-ra: sizeof(table19) = 448
u-ra: sizeof(table31) = 2496
u-ra: sizeof(table31_2) = 512
u-ra: sizeof(table59) = 288
u-ra: sizeof(table63) = 480
u-ra: sizeof(table63_2) = 352
after:
u-ra: sizeof(GekkoOPTemplate) = 24
u-ra: sizeof(primarytable) = 1536
u-ra: sizeof(table4) = 312
u-ra: sizeof(table4_2) = 408
u-ra: sizeof(table4_3) = 96
u-ra: sizeof(table19) = 336
u-ra: sizeof(table31) = 1872
u-ra: sizeof(table31_2) = 384
u-ra: sizeof(table59) = 216
u-ra: sizeof(table63) = 360
u-ra: sizeof(table63_2) = 264