Overall this looks good. There is a lot of code for generating the IC stubs now and as you write, we need to make sure that it is all tested. I wonder if more of it can be factored out?
Also, I would like to have some counters added so we can get information about how often the different parts of the code are hit. If some of the cases you are now generating code for are almost never hit, maybe it would be better to just call the runtime system and reduce the complexity of the code? http://codereview.chromium.org/140069/diff/3001/3002 File src/ia32/stub-cache-ia32.cc (right): http://codereview.chromium.org/140069/diff/3001/3002#newcode429 Line 429: masm->CheckMaps(holder, eax, GetLastJSObjectProto(holder), Can we modify CheckMaps to check to the last JSObject if we pass in Heap::undefined_value()? http://codereview.chromium.org/140069/diff/3001/3003 File src/ic.h (right): http://codereview.chromium.org/140069/diff/3001/3003#newcode38 Line 38: #define IC_UTIL_LIST(ICU) \ Align all the '\' at the position for the longest name. http://codereview.chromium.org/140069/diff/3001/3004 File src/stub-cache.cc (right): http://codereview.chromium.org/140069/diff/3001/3004#newcode720 Line 720: * Attempts to load a property with an interceptor (which must present). must present -> must be present. http://codereview.chromium.org/140069/diff/3001/3004#newcode792 Line 792: StackFrameIterator it; Can we refactor these methods into pairs of methods (one for call and one for load ICs) that share a couple of helper methods instead? It would be nice to avoid the need for using a StackFrameIterator to determine if it is a call IC - we have that information at the call-site. http://codereview.chromium.org/140069 --~--~---------~--~----~------------~-------~--~----~ v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev -~----------~----~----~----~------~----~------~--~---
