Reviewers: Erik Corry, Paul Lind, kisg,
Message:
This patch is a small fix for the MIPS part of:
https://chromiumcodereview.appspot.com/10386089
Description:
MIPS: Simplify DoLoadNamedFieldPolymorphic
Port r11543 (371c8c04)
BUG=
TEST=
Please review this at https://chromiumcodereview.appspot.com/10391096/
SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge
Affected files:
M src/mips/lithium-codegen-mips.cc
Index: src/mips/lithium-codegen-mips.cc
diff --git a/src/mips/lithium-codegen-mips.cc
b/src/mips/lithium-codegen-mips.cc
index
986921fef551fa68a52a0615b8513d2dc54ddba7..a4de721c08c9582b8bbac004a3cf20d70fbbe565
100644
--- a/src/mips/lithium-codegen-mips.cc
+++ b/src/mips/lithium-codegen-mips.cc
@@ -2343,6 +2343,7 @@ void
LCodeGen::DoLoadNamedFieldPolymorphic(LLoadNamedFieldPolymorphic* instr) {
Register object = ToRegister(instr->object());
Register result = ToRegister(instr->result());
Register scratch = scratch0();
+
int map_count = instr->hydrogen()->types()->length();
bool need_generic = instr->hydrogen()->need_generic();
@@ -2357,8 +2358,8 @@ void
LCodeGen::DoLoadNamedFieldPolymorphic(LLoadNamedFieldPolymorphic* instr) {
bool last = (i == map_count - 1);
Handle<Map> map = instr->hydrogen()->types()->at(i);
if (last && !need_generic) {
- Handle<Map> map = instr->hydrogen()->types()->last();
DeoptimizeIf(ne, instr->environment(), scratch, Operand(map));
+ EmitLoadFieldOrConstantFunction(result, object, map, name);
} else {
Label next;
__ Branch(&next, ne, scratch, Operand(map));
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev