<html>
<head>
<base href="https://bugs.webkit.org/" />
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_REOPENED "
title="REOPENED - LLInt should support other types of prototype GetById caching."
href="https://bugs.webkit.org/show_bug.cgi?id=158083#c109">Comment # 109</a>
on <a class="bz_bug_link
bz_status_REOPENED "
title="REOPENED - LLInt should support other types of prototype GetById caching."
href="https://bugs.webkit.org/show_bug.cgi?id=158083">bug 158083</a>
from <span class="vcard"><a class="email" href="mailto:ticaiolima@gmail.com" title="Caio Lima <ticaiolima@gmail.com>"> <span class="fn">Caio Lima</span></a>
</span></b>
<pre>(In reply to <a href="show_bug.cgi?id=158083#c108">comment #108</a>)
<span class="quote">> Comment on <span class=""><a href="attachment.cgi?id=283306&action=diff" name="attach_283306" title="Patch">attachment 283306</a> <a href="attachment.cgi?id=283306&action=edit" title="Patch">[details]</a></span>
> Patch
>
> View in context:
> <a href="https://bugs.webkit.org/attachment.cgi?id=283306&action=review">https://bugs.webkit.org/attachment.cgi?id=283306&action=review</a>
>
> > 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.</span >
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?
<span class="quote">> > 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</span >
Nice catch, Thanks!</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>