MIPS: Improve polymorphic loads on single slots.
authormstarzinger@chromium.org <mstarzinger@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Mon, 26 Mar 2012 09:41:53 +0000 (09:41 +0000)
committermstarzinger@chromium.org <mstarzinger@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Mon, 26 Mar 2012 09:41:53 +0000 (09:41 +0000)
commit5bca664574cfc0213f6144cfe8b514e24c92804f
treeb5df7759958cd58831d81a873f0439eb9651233c
parent4e405b694546fa0423aabd1f2accda3ffb33e7d7
MIPS: Improve polymorphic loads on single slots.

Port r11132 (91bdad6108).

Original commit message:

If all property lookups for a polymorphic load actually result in the
same field index under all maps, we can actually emit a monomorphic load
that is guarded by a map check that verifies that the actual map is in
the set of handled maps. This also allows GVN to get rid of redundant
such map checks.

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9852007
Patch from Daniel Kalmar <kalmard@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11135 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
src/mips/lithium-codegen-mips.cc