Reviewers: Kevin Millikin, Message: This is the ia32 only version, if it looks good I will do the x64 and arm versions
Description: Optimize the equality check case of ICCompare stubs. This includes specialcasing the generation when we know that the maps of the two objects are the same. In addition, a new specialized compare ic known objects cache is created. The reason for the cache is that we need to have access to the stub code from the roots; if we do not, the GC will collect the stub. In this specialized case we use the map pointer as key in the cache, and we always do a lookup before generating code. Actually hitting something in the cache will happen very rarely, but we could potentially overwrite an existing stub, which again will lead to the GC collecting this old stub (even if it is referenced from other code objects) Please review this at http://codereview.chromium.org/8520006/ SVN Base: http://v8.googlecode.com/svn/branches/bleeding_edge/ Affected files: M src/code-stubs.h M src/code-stubs.cc M src/heap.h M src/heap.cc M src/hydrogen.cc M src/ia32/code-stubs-ia32.cc M src/ia32/ic-ia32.cc M src/ic.h M src/ic.cc M src/type-info.h M src/type-info.cc -- v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev
