[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 31 17:34:15 PDT 2016
https://bugs.webkit.org/show_bug.cgi?id=158083
--- Comment #109 from Caio Lima <ticaiolima at gmail.com> ---
(In reply to comment #108)
> Comment on attachment 283306 [details]
> Patch
>
> View in context:
> https://bugs.webkit.org/attachment.cgi?id=283306&action=review
>
> > Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm:1478
> > + loadEncodedThisValue(t3, a1)
> > + push t5, cfr
> > + loadp 20[PC], t5
> > + # Inlining the GetValueFunc call
> > + move t2, a3 # Load arg2 PropertyName
> > + if BIG_ENDIAN
> > + move a1, a2 # Load arg1 Payload of EncodedJSValue
> > + move CellTag, a1 # Load arg1 Tag of EncodedJSValue
> > + else
> > + move CellTag, a2 # Load arg1 Tag of EncodedJSValue
> > + end
> > + move cfr, a0 # Loading exec
> > + cCall4(t5)
>
> Looks good. Although I still think you need to handle the EABI. For the EABI
> you'll need to push the PropertyName onto the stack put the EncodedJSValue
> into r2-r3. r1 should be empty.
Thank you to inform me about it. Which architectures use EABI? I suppose ARM, but I would like to be sure before send a new patch. Also, do you mind point me where you found this information?
> > Source/JavaScriptCore/llint/LowLevelInterpreter64.asm:1322
> > +macro loadEncodedThisValue(baseValue, dest)
> > + loadpFromInstruction(6, dest)
> > + bineq 0, dest, .loadEncodedThisValueDone
> > + move baseValue, dest
> > + .loadEncodedThisValueDone:
> > +end
>
> I think this should be bpneq. bineq only compares the low 32 bits. Also, You
> could move it to LowLevelInterpreter.asm
Nice catch, Thanks!
--
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/20160801/13f9b155/attachment.html>
More information about the webkit-unassigned
mailing list