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

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Jun 13 23:05:16 PDT 2016


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

--- Comment #54 from Caio Lima <ticaiolima at gmail.com> ---
Hi Guys. 

It is not the final patch (It is not ready yet and it is breaking).

I need some help from you. I am running my implementation of CustomAccessor prototype inline, however I think I am missing some important information.

I created a slowPath version to make debug easier and evaluate the performance gain without inlining it to assembly.

The problem that I am facing is because some customGetters are failing because the slot.slotBase() is not the correct parameter to them. In PropertySlot.cpp I found this code:

JSValue PropertySlot::customGetter(ExecState* exec, PropertyName propertyName) const
{
    // FIXME: Remove this differences in custom values and custom accessors.
    // https://bugs.webkit.org/show_bug.cgi?id=158014
    JSValue thisValue = m_attributes & CustomAccessor ? m_thisValue : JSValue(slotBase());
    return JSValue::decode(m_data.custom.getValue(exec, JSValue::encode(thisValue), propertyName));
}

The biggest problem I am facing is because m_thisValue.getObject() is not a valid pointer when called by the inlined version and I am not able to store EncodedJSValue to pc[6]. I spent yesterday night and today night trying to figure out what can I do.


Saam, about store the UniquedStringImpl into a pc slot, it is not possible because all slot are in use.

-- 
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/20160614/5b7dcfe6/attachment-0001.html>


More information about the webkit-unassigned mailing list