ia32: Fuse map and type checks in call ICs for API functions.
authorvitalyr@chromium.org <vitalyr@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Tue, 9 Feb 2010 16:14:14 +0000 (16:14 +0000)
committervitalyr@chromium.org <vitalyr@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Tue, 9 Feb 2010 16:14:14 +0000 (16:14 +0000)
commitd1d56d98913760eb9d5065205aaa2f2c88b05950
treea830632e0662e4fbad3246ff631c8bdcb95e4307
parentad83e411e1581e619c2bb3770af7ac026ed95a11
ia32: Fuse map and type checks in call ICs for API functions.

This uses the fact that if a map stayed the same then the object
still passes the type check. A new builtin is added to handle the
API call in this case.

Review URL: http://codereview.chromium.org/573003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3825 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
13 files changed:
src/arm/stub-cache-arm.cc
src/builtins.cc
src/builtins.h
src/ia32/macro-assembler-ia32.cc
src/ia32/macro-assembler-ia32.h
src/ia32/stub-cache-ia32.cc
src/macro-assembler.h
src/stub-cache.h
src/top.cc
src/top.h
src/v8-counters.h
src/x64/stub-cache-x64.cc
test/cctest/test-api.cc