[Webkit-unassigned] [Bug 158083] LLInt should support other types of prototype GetById caching.
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Sun Jul 10 12:59:46 PDT 2016
https://bugs.webkit.org/show_bug.cgi?id=158083
Keith Miller <keith_miller at apple.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Attachment #282418|review? |review-
Flags| |
--- Comment #106 from Keith Miller <keith_miller at apple.com> ---
Comment on attachment 282418
--> https://bugs.webkit.org/attachment.cgi?id=282418
Patch
View in context: https://bugs.webkit.org/attachment.cgi?id=282418&action=review
> Source/JavaScriptCore/llint/LLIntSlowPaths.cpp:686
> + } else if (UNLIKELY(pc[7].u.operand && (slot.isValue() || slot.isUnset() || ((slot.isAccessor() || slot.isCustom()) && (slot.slotBase() != baseValue))))) {
I think this could just be:
if (UNLIKELY(pc[7].u.operand && (slot.slotBase() != baseValue)))))
> Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm:1476
> + push t1 # Load arg3 JSObject *
> + push t2 # Load arg2 PropertyName
> + move CellTag, t3
> + if BIG_ENDIAN
> + push t1 # Load arg1 Payload of EncodedJSValue
> + push t3 # Load arg1 Tag of EncodedJSValue
> + else
> + push t3 # Load arg1 Tag of EncodedJSValue
> + push t1 # Load arg1 Payload of EncodedJSValue
> + end
> + push cfr # Loading exec
Looking at this closer. I don't think this is going to work on ARM. The ARM calling convention passes the first four arguments in r0-r3. Additionally, depending on whether or not the device is using the EABI 64-bit values need to start in r0 or r2.
> Source/JavaScriptCore/llint/LowLevelInterpreter64.asm:1333
> + loadp Callee[cfr], t0
> + andp MarkedBlockMask, t0, t1
> + loadp MarkedBlock::m_weakSet + WeakSet::m_vm[t1], t1
It is probably worthwhile to make this a macro in LowLevelInterpreter.asm, loadVM(register) or something.
--
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/20160710/84f54b70/attachment.html>
More information about the webkit-unassigned
mailing list