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.