On Tue, 19 Jan 2021, Richard Henderson wrote:
My recent change for caching tcg constants has, in a number of cases,
overflowed the statically allocated array of temporaries. Change to
dynamic allocation.
This seems to work for me so
Tested-by: BALATON Zoltan <bala...@eik.bme.hu>
but have you done any performance tests to check that this actually
improves emulation speed? To mee it seems slower. Booting AmigaOS on
sam460ex with c0dd6654f207 (just before your TCG series) takes:
real 0m33.829s
user 0m34.432s
sys 0m0.296s
but on HEAD with this series:
real 0m44.381s
user 0m46.058s
sys 0m0.532s
This is noticable decrease in speed also without measuring it. With just
increasing the TCG_MAX_TEMPS to 2048 on 7c79721606be without this series I
get:
real 0m42.681s
user 0m44.208s
sys 0m0.435s
So the performance regression is somewhere in the original series not in
this fix up series.
I'll note that nothing in check-acceptance triggers this overflow.
Anyone care to add some more test cases there?
The proposed test for the upcoming pegasos2 machine may also catch this
(when that will be merged, its dependencies are still under review) or the
sam460ex test that currently only checks the firmware could be enhanced to
try to boot AROS if somebody wants to do that. The drawback is that it
needs an external iso whereas the current test doesn't need any additional
images but it did not catch problems with IRQ and neither this problem
with TCG temps. This problem was also found with riscv and mips I think
but don't know if those would be easier to test.
Regards,
BALATON Zoltan