|
From: Jeremy F. <je...@go...> - 2002-11-22 17:04:29
|
On Fri, 2002-11-22 at 01:08, Julian Seward wrote:
> One comment is that it might be worth having in each TT entry a small number
> of such slots, say 8. That way most basic blocks can store their table in
> the TT entry. For the occasional large bb, TT will have to contain a ptr to
> a table allocated in VG_(malloc)ville. This seems like a good idea because
> there's a considerable space overhead using VG's malloc stuff -- about 6 words
> per alloc -- so doing a large number of small malloc's is quite wasteful of
> space.
I was thinking about tacking the table onto the end of the generated
code, so it just lives in the translation cache. Unfortunately that
would break a nice property the current cache has: many chained jumps
are short, and their target is within the same cache line (because the
translation cache tends to lay basic blocks out in the order they were
executed). Still, I don't think that's a huge loss (definitely not
compared to removing INCEIP).
J
|