[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: indirect threading for bytecode interpreter
From: |
Tom Tromey |
Subject: |
Re: indirect threading for bytecode interpreter |
Date: |
Thu, 17 Sep 2009 15:06:46 -0600 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux) |
>>>>> "Helmut" == Helmut Eller <address@hidden> writes:
Helmut> 5% doesn't sound like a lot to some people.
Shrug. Obviously I think the tradeoff is worth it, or I would not have
sent the patch. I don't think the result is all that ugly. And,
importantly, it is very low-hanging fruit.
Helmut> vmgen sounds like a good idea, but I fear that it makes the build
Helmut> process quite a bit more complicated.
You can check in the generated code.
vmgen is a nice idea. I rejected writing this as a direct-threaded
interpreter because I assumed that the added memory use would be a bad
tradeoff. But, if you are interested in that, perhaps I could take a
stab at it.
Helmut> I'm wondering why gcc can't perform this transformation from the
Helmut> switch based code. Is there no compiler setting to skip the
Helmut> range check in the switch statement?
It isn't about range checking but about eliminating a jump during the
dispatch.
GCC could be taught to do this. I imagine that it has always been
simpler for people to just update their interpreter than it has been to
try to fix GCC.
I don't think that some possible future GCC change should affect whether
this patch goes in.
Tom
Re: indirect threading for bytecode interpreter, Dan Nicolaescu, 2009/09/18