Reviewers: Igor Sheludko,

Message:
PTAL

I think some more work could be done, but I am lacking the proper data
structures.
Something like a SortedHashSet would be perfect, but it seems like the existing implementation doesn't expose a proper C++ interface (those used by JSSet and JSMap). Then pass that along from GetKeys to all Union* calls as accumulator.


https://codereview.chromium.org/1316213008/diff/20001/src/objects.cc
File src/objects.cc (right):

https://codereview.chromium.org/1316213008/diff/20001/src/objects.cc#newcode15167
src/objects.cc:15167: Handle<ObjectHashTable>
ObjectHashTable::Put(Isolate* isolate,
duplicated for tryout... has to be reverted

https://codereview.chromium.org/1316213008/diff/20001/src/objects.cc#newcode15185
src/objects.cc:15185: int32_t hash) {
again, test duplication

Description:
Speedup JSReceiver::GetKeys
The core bottleneck lies in the creation of union. Depending on the size
of the Arrays it makes sense to rely on a Dictionary / Map for the lookup.

BUG=

Please review this at https://codereview.chromium.org/1316213008/

Base URL: https://chromium.googlesource.com/v8/v8.git@master

Affected files (+112, -11 lines):
  M src/objects.h
  M src/objects.cc


--
--
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/d/optout.

Reply via email to