[Webkit-unassigned] [Bug 160588] Refactor MathIC compilation process in Baseline and DFG to turn temporary registers usage more flexible

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Sun Nov 6 15:19:10 PST 2016


https://bugs.webkit.org/show_bug.cgi?id=160588

--- Comment #33 from Caio Lima <ticaiolima at gmail.com> ---
Comment on attachment 294030
  --> https://bugs.webkit.org/attachment.cgi?id=294030
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=294030&action=review

>> Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:3563
>> +    FPRReg scratchFPR[Generator::scratchFPRRegCount];
> 
> I'm more of a fan of using Vector<> with an inline capacity for this API. You'll still get the same property where you don't end up mallocing any memory.

Sorry for my ignorance here. I used Vector with inline capacity in another Patch this weekend, however I didn't totally understand it .Do you mind explain me what is the difference of use a Vector<int>, for example?

>> Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:3600
>> +    for (size_t i = 0; i < std::min<unsigned>(availableGPRs, scratchGPRRegCount); i++) {
> 
> It seems wrong if the min() expression ever returns availableGPRs instead of scratchGPRRegCount. I would just turn this into an assert that we have enough registers.

hum...We can reproduce it on x86_32, for sure, because old implementation uses result.tagGPR as scratchGPR because of limited registers. I am going to double check it.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.webkit.org/pipermail/webkit-unassigned/attachments/20161106/577efa85/attachment-0001.html>


More information about the webkit-unassigned mailing list