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

Reply via email to