On 2014/04/14 11:49:28, ulan wrote:
On 2014/04/14 11:21:12, jbramley wrote:
> On 2014/04/14 11:12:53, ulan wrote:
> > > I think it's possible to avoid copy_receiver (and thus the branch
over
it)
> by
> > speculatively copying the receiver before the Tbnz instructions
> > Would this require using an additional register? Since Tbnz
instructions
use
> the
> > "result" register.
>
> No, I meant like this:
>
> __ Tst(result, (1 << SharedFunctionInfo::kStrictModeFunction) |
> (1 << SharedFunctionInfo::kNative));
> __ Mov(result, receiver); // Speculative.
> __ B(ne, &done);
>
> I haven't thought through all the details though. The tst actually
generates
two
> instructions because I don't think that immediate fits in a logical
immediate
> operand.
You're right, it uses two instructions:
0x5fb791f8 152 movz x16, #0x90
0x5fb791fc 156 tst x4, x16
Should I land the current version?
Yep, I think so. I can't give an lgtm that will help you though.
https://codereview.chromium.org/226363007/
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.