Filed PR jit/66812 for the code generation issue

Dibyendu Majumdar mobile@majumdar.org.uk
Thu Jan 1 00:00:00 GMT 2015


On 8 July 2015 at 21:06, Dibyendu Majumdar <mobile@majumdar.org.uk> wrote:
>> BTW, are Lua/Ravi constants truly constant?  If so, then I'd believe
>> you'd get a performance win by implementing LOADK by emitting code to
>> write the specific tt and value_ directly, rather than code that copies
>> a value from the table.
>
> Yes - I do specialize to constants in certain cases - such as loops
> and numeric operations. But more can be done.
>
>>
>> This would enable the optimizer to "know" the tt and value_, and
>> optimize accordingly.  For example, in this case, I believe it would
>> allow the function to be optimized away down to the equivalent of just a
>> "return false;".  Obviously won't help much for a function without a
>> loop, but if it saves instructions inside a loop, that's probably a win.
>>
>> (...though maybe not before we track down this issue)
>>

I implemented setting the constant directly (just checked in).
Performance wise no noticeable difference (as I think the scenarios
where this helps were already covered) but it does seem to have caused
the optimization bug to go away - i.e. the tests now pass. I will run
more tests tomorrow to see if this is true under all optimization
settings.

Regards
Dibyendu



More information about the Jit mailing list