A few drive-by comments: I don't really like this approach, it is a really
heavy
change for a tiny, localized improvement. Our switch-handling should really
need
some attention, but I would really prefer a radically different approach,
like
choosing between if-then-else cascades, binary search trees and some kind of
hashing scheme. Fiddling around with deopts is a dead end IMHO.
https://codereview.chromium.org/16128004/diff/15001/src/hydrogen-gvn.cc
File src/hydrogen-gvn.cc (right):
https://codereview.chromium.org/16128004/diff/15001/src/hydrogen-gvn.cc#newcode408
src/hydrogen-gvn.cc:408: instr->IsDeoptCounter() ||
instr->IsDeoptCounterAdd()) {
This is a no-go: We're doing something wrong if we have to change GVN
for a localized performance improvement.
https://codereview.chromium.org/16128004/diff/15001/src/hydrogen.cc
File src/hydrogen.cc (right):
https://codereview.chromium.org/16128004/diff/15001/src/hydrogen.cc#newcode4949
src/hydrogen.cc:4949: void
HOptimizedGraphBuilder::VisitSwitchStatement(SwitchStatement* stmt) {
We shouldn't grow this monster even more, making it basically
non-understandable and unmaintainable (>200 lines).
https://codereview.chromium.org/16128004/diff/15001/src/objects.h
File src/objects.h (right):
https://codereview.chromium.org/16128004/diff/15001/src/objects.h#newcode4496
src/objects.h:4496: DECL_ACCESSORS(deopt_counter_cells, FixedArray)
Do we really have space left without going over our size threshold here?
https://codereview.chromium.org/16128004/
--
--
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.