https://codereview.chromium.org/59023003/diff/260001/src/hydrogen-instructions.cc
File src/hydrogen-instructions.cc (right):

https://codereview.chromium.org/59023003/diff/260001/src/hydrogen-instructions.cc#newcode3788
src/hydrogen-instructions.cc:3788: if (!forced_representation.IsNone())
{
On 2013/11/19 09:42:04, Dmitry Lomov (chromium) wrote:
I am not entirely convinced this is a good change. In my original
patch, I
explicitly created an (external + offset) => external instruction,
which is the
only case we handle downstream. Here it appears that we can handle a
(r + smth)
=> r for all r, which is not true. wdyt?

I see your point, but I also really don't like the idea of two
instructions. It seems the Add should "automagically" do the right thing
when one of it's inputs is an external pointer, since that's the special
case you need to handle. i.e. why do you need to set the observed input
representation in the first place? Shouldn't the instruction just do the
right thing when this input is External? If not, there seems to be some
missing machinery somewhere else.

Alternatively, since there are only two additional calls that are needed
in this path, can it be done separately from the constructor? i.e.
remove the input to the constructor and have a
"MarkAsExternalPointerAdd" method?

In any case, let's discuss in person.

https://codereview.chromium.org/59023003/

--
--
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/groups/opt_out.

Reply via email to