https://codereview.chromium.org/18596005/diff/2001/src/hydrogen-instructions.cc
File src/hydrogen-instructions.cc (right):
https://codereview.chromium.org/18596005/diff/2001/src/hydrogen-instructions.cc#newcode3208
src/hydrogen-instructions.cc:3208: if (FLAG_use_allocation_folding) {
if (!FLAG_...) return;
if (!...) return;
Can remove two levels of nesting here.
https://codereview.chromium.org/18596005/diff/2001/src/hydrogen-instructions.cc#newcode3230
src/hydrogen-instructions.cc:3230: HInstruction* dominator_instr =
HInstruction::cast(dominator);
You already have dominator as dominator_allocate_instr.
https://codereview.chromium.org/18596005/diff/2001/src/hydrogen-instructions.cc#newcode3240
src/hydrogen-instructions.cc:3240: HConstant* filler_map =
block->graph()->GetConstantFreeSpaceMap();
Don't make this a global constant in the graph. That increases its live
range, thus register pressure and spilling. It's fine to create this
constant at each allocation site, IMO. Maybe if you have multiple folded
allocations you can insert this constant after the intial HAllocate and
reuse the same one, but making it global is probably not worth it.
https://codereview.chromium.org/18596005/diff/2001/src/hydrogen-instructions.h
File src/hydrogen-instructions.h (right):
https://codereview.chromium.org/18596005/diff/2001/src/hydrogen-instructions.h#newcode5811
src/hydrogen-instructions.h:5811: if (no_observable_side_effects) {
Please don't add more flags to this constructor; you should probably set
these flags in your special insertion routine. I'm not really sure why
you are doing this anyway...since I don't think the instructions are
GVN'd after that....
https://codereview.chromium.org/18596005/
--
--
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.