[Webkit-unassigned] [Bug 158083] LLInt should support other types of prototype GetById caching.

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Sat Jun 4 18:54:51 PDT 2016


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

--- Comment #23 from Caio Lima <ticaiolima at gmail.com> ---
(In reply to comment #22)
> (In reply to comment #21)
> > Per your request before on inlining the getter call, I think the simplest
> > way to implement it is to follow how we do it in
> > PolymorphicAccess/operationGetByIdOptimize. PolymorphicAccess has the inline
> > cache repatching code used in the JITs. The assembler in PolymorphicAccess
> > more or less models X86 so it shouldn't be too hard to follow and translate
> > to LLInt assembly. I'll also see if I can find some better information about
> > the calling convention too. Let me know if you have any other questions.
> 
> Also, it might be helpful to look at JSStack.h, in particular, the
> CallFrameHeaderEntry enum since that represents the expected layout of a JS
> frame at the end of the function prologue.

Thank you for pointing where I can look. I think I am almost done because I understand and know hot to construct the JS Frame convention for 64bits architecture, however I am missing some very important information.

1) how to perform the call to the Getter function? I searched and found a makeJavascriptCall macro, however I am not sure if it is necessary use it.
Also I would like to understand the offlineassembly code "call".

2) Another point is, How can I get the getter JSFunction, since the offset cached point to a "GetterSetter"? Is it possible use "loadp GetterSetter::m_getter[t3], t4", for example? I noticed that the code in PolymorphicAccess uses GetterSetter::offsetGetter(). I suppose that this value should be placed in calle member of JS Frame Entry.

I didn't find information about the OfflineAssembly, could you point me some?

-- 
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/20160605/77e2be0c/attachment.html>


More information about the webkit-unassigned mailing list