Just a few comments, looking good!
--Michael
https://codereview.chromium.org/61463005/diff/20001/src/hydrogen.cc
File src/hydrogen.cc (left):
https://codereview.chromium.org/61463005/diff/20001/src/hydrogen.cc#oldcode2482
src/hydrogen.cc:2482: new_object->MakeDoubleAligned();
Why was this removed, is it handled during the folding step?
https://codereview.chromium.org/61463005/diff/20001/src/hydrogen.cc
File src/hydrogen.cc (right):
https://codereview.chromium.org/61463005/diff/20001/src/hydrogen.cc#newcode1925
src/hydrogen.cc:1925: int elements_size = IsFastDoubleElementsKind(kind)
I just ran into a similar situation. Constant-folding should take care
of this, so you don't need to manually optimize the code in this way.
Have a look at the generated hydrogen and you'll see that the "else"
block here ends up as an HConstant because it recognizes that the
operands to HMul and HAdd are constant themselves. You might have to
teach HAdd::New and HMul::New to respect ActualValue() to make it work.
https://codereview.chromium.org/61463005/diff/20001/src/hydrogen.cc#newcode2448
src/hydrogen.cc:2448: // the JSArray allocation.
Nice.
https://codereview.chromium.org/61463005/diff/20001/src/hydrogen.cc#newcode2480
src/hydrogen.cc:2480:
Can you verify that a write barrier isn't used for the store of the
elements pointer? Previously, we were protected because
elements_location was an HInnerAllocatedObject. Now, we should be
protected by the fact that both allocations are NEW_SPACE allocations.
https://codereview.chromium.org/61463005/
--
--
v8-dev mailing list
v8-dev@googlegroups.com
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 v8-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.