By: dmcq (dmcq.delete@this.fano.co.uk), August 10, 2014 5:09 am
Room: Moderated Discussions
Jouni Osmala (josmala.delete@this.cc.hut.fi) on August 10, 2014 4:27 am wrote:
> > >
> The most often forgotten cost is how good JIT target is x86 vs the competing architecture. By
> being simpler JIT target means it reduces cost of running a jitted language in architecture.
>
You mean because other architectures require the code to be explicitly moved to the instruction cache from the data cache instead of the hardware always looking out for that? For a short generated sequence one has to explicitly say the data cache lines need to be clean and then invalidate the addresses in the instruction cache. It is hardly the end of the world especially considering the cost of generating the code. Have you considered the cost of having to check for unexpected data writes which might affect the instruction cache on an x86 - and that affects it all the time.
> > >
> The most often forgotten cost is how good JIT target is x86 vs the competing architecture. By
> being simpler JIT target means it reduces cost of running a jitted language in architecture.
>
You mean because other architectures require the code to be explicitly moved to the instruction cache from the data cache instead of the hardware always looking out for that? For a short generated sequence one has to explicitly say the data cache lines need to be clean and then invalidate the addresses in the instruction cache. It is hardly the end of the world especially considering the cost of generating the code. Have you considered the cost of having to check for unexpected data writes which might affect the instruction cache on an x86 - and that affects it all the time.