Reviewers: danno, paul.l..., gergely.kis.imgtec, akos.palfi.imgtec,
dusmil.imgtec,
Description:
MIPS: Fix 'MIPS: Fix after 'Reland remaining parts of 'Use weak cells in map
checks in polymorphic ICs''.'
Fix 30f2578ca2829a5c9b8952df20fd39bf7c99ea30
BUG=
Please review this at https://codereview.chromium.org/846423002/
Base URL: https://chromium.googlesource.com/v8/v8.git@master
Affected files (+4, -2 lines):
M src/ic/mips/ic-compiler-mips.cc
M src/ic/mips64/ic-compiler-mips64.cc
Index: src/ic/mips/ic-compiler-mips.cc
diff --git a/src/ic/mips/ic-compiler-mips.cc
b/src/ic/mips/ic-compiler-mips.cc
index
000e3266c4021787d455624dd7ea10dab248f5e0..6169404c61a059f1208feaef1e21ca876fe4db52
100644
--- a/src/ic/mips/ic-compiler-mips.cc
+++ b/src/ic/mips/ic-compiler-mips.cc
@@ -62,12 +62,13 @@ Handle<Code>
PropertyICCompiler::CompilePolymorphic(TypeHandleList* types,
// Separate compare from branch, to provide path for above
JumpIfSmi().
Handle<WeakCell> cell = Map::WeakCellForMap(map);
__ GetWeakValue(match, cell);
+ __ Subu(match, match, Operand(map_reg));
if (type->Is(HeapType::Number())) {
DCHECK(!number_case.is_unused());
__ bind(&number_case);
}
__ Jump(handlers->at(current), RelocInfo::CODE_TARGET, eq, match,
- Operand(map_reg));
+ Operand(zero_reg));
}
}
DCHECK(number_of_handled_maps != 0);
Index: src/ic/mips64/ic-compiler-mips64.cc
diff --git a/src/ic/mips64/ic-compiler-mips64.cc
b/src/ic/mips64/ic-compiler-mips64.cc
index
1e1880f88d5b584a5be5da653312f6f327c59f2e..7ed4492ee318fa75c7b6f361dae61ebbf85d6aa9
100644
--- a/src/ic/mips64/ic-compiler-mips64.cc
+++ b/src/ic/mips64/ic-compiler-mips64.cc
@@ -62,12 +62,13 @@ Handle<Code>
PropertyICCompiler::CompilePolymorphic(TypeHandleList* types,
// Separate compare from branch, to provide path for above
JumpIfSmi().
Handle<WeakCell> cell = Map::WeakCellForMap(map);
__ GetWeakValue(match, cell);
+ __ Dsubu(match, match, Operand(map_reg));
if (type->Is(HeapType::Number())) {
DCHECK(!number_case.is_unused());
__ bind(&number_case);
}
__ Jump(handlers->at(current), RelocInfo::CODE_TARGET, eq, match,
- Operand(map_reg));
+ Operand(zero_reg));
}
}
DCHECK(number_of_handled_maps != 0);
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.