Reviewers: Dmitry Lomov (chromium),
Message:
Okay, this time it should really be fixed. I searched for all numeric
operations
and added kCanOverflow flags. Not loving the manual process of that, but at
least I now understand what the failure was.
Description:
Optimize add/set/delete operations for string keys in Maps and Sets
This was previously landed in commit 8599f5f, but failed the
collections mjsunit test on ia32 with --deopt-every-n=1. The fixed
patch adds a ClearFlag(HValue::kCanOverflow) call after every
arithmetic operation, which should remove all the deopt points in these
intrinsics.
Ideally, it seems like there should be a way to verify that there are
no deopt points for these inline optimized functions, since there's
nothing to deopt to. But I don't currently know of such a thing.
Please review this at https://codereview.chromium.org/782073002/
Base URL: https://chromium.googlesource.com/v8/v8.git@master
Affected files (+371, -49 lines):
M src/collection.js
M src/hydrogen.h
M src/hydrogen.cc
M src/hydrogen-instructions.h
M src/objects.h
M src/runtime/runtime.h
--
--
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.