Added new patch set. PTAL.
https://chromiumcodereview.appspot.com/9616014/diff/2001/src/hydrogen-instructions.h File src/hydrogen-instructions.h (right): https://chromiumcodereview.appspot.com/9616014/diff/2001/src/hydrogen-instructions.h#newcode2054 src/hydrogen-instructions.h:2054: class HCheckMapSet: public HTemplateInstruction<1> { On 2012/03/09 11:52:58, danno wrote:
Please merge with HCheckMap as discussed
Done. HCheckMap now works with a SmallMapList backing structure and has two constructors, one taking a single map and the other a set of maps. Also added a static helper to construct HCheckMaps which allow transitions. https://chromiumcodereview.appspot.com/9616014/diff/2001/src/hydrogen-instructions.h#newcode2076 src/hydrogen-instructions.h:2076: virtual bool DataEquals(HValue* other) { On 2012/03/09 11:52:58, danno wrote:
Fast case single maps by just comparing b->map_set() == map_set()
The backing SmallMapList cannot be compared by reference. But it already has all the necessary fast-case code for singletons implemented. So I think relying on the below loop being executed just once should be efficient enough. https://chromiumcodereview.appspot.com/9616014/diff/2001/src/hydrogen.cc File src/hydrogen.cc (right): https://chromiumcodereview.appspot.com/9616014/diff/2001/src/hydrogen.cc#newcode3875 src/hydrogen.cc:3875: static bool ComputeStoredField(Handle<Map> type, On 2012/03/09 11:52:58, danno wrote:
Rename to something like ComputeLoadStoreField
Done. https://chromiumcodereview.appspot.com/9616014/diff/2001/src/hydrogen.cc#newcode3979 src/hydrogen.cc:3979: for (int i = 0; i < types->length() && count < kMaxStorePolymorphism; ++i) { On 2012/03/09 11:52:58, danno wrote:
kMaxStorePolymorphism seems to be inappropriately named
Done. That actually should have been kMaxLoadPolymorphism in the first place. https://chromiumcodereview.appspot.com/9616014/ -- v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev
