On 10/24/2012 01:18 AM, Richard Henderson wrote:
On 2012-10-23 16:21, Evgeny Voevodin wrote:
We will use this pointer from functions where we don't have an
interface to pass tcg_ctx as a parameter.
I don't think this is worthwhile. It'll just make the whole thing slower,
passing around unnecessary pointers.
r~
1. I didn't noticed any slow-down of kernel boot process. Maybe it's
worth to make more
tests with self modifying code but I don't think so, because
2. The most intensive usage of tcg_cur_ctx is in tcg/tcg-op.h functions.
If we look carefully at
them then we will see that there are only few functions for which single
excessive dereferencing
of a pointer leads to any significant slow-down. These functions are
those which make just one
or two operations and exit. And we should keep in mind that there is
only single dereference of
a pointer since it is stored in the register for further operations.
Of course some slow-down should present but I found it negligible
(actually I didn't find it at all).
If there are some common tests for TCG generation speed I can try to run
them and report results.
Also we can specify tcg_cur_ctx as const and in that case I guess that
dereferencing of tcg_cur_ctx
should not lead to any slow-down.
Also I can drop tcg_cur_ctx and use tcg_ctx.xxx instead as was in the
first series.
What about the rest patches?
--
Kind regards,
Evgeny Voevodin,
Technical Leader,
Mobile Group,
Samsung Moscow Research Center,
e-mail: e.voevo...@samsung.com