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?


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.

Reply via email to