MIPS: Only generate a single normal IC per kind per slow-mode map.
Port r22680 (8b865409) BUG= R=paul.lind@imgtec.com Review URL: https://codereview.chromium.org/426073002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22686 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
parent
7b27595520
commit
b749b3eb62
@ -1263,7 +1263,13 @@ Handle<Code> PropertyICCompiler::CompilePolymorphic(TypeHandleList* types,
|
||||
|
||||
if (check == PROPERTY &&
|
||||
(kind() == Code::KEYED_LOAD_IC || kind() == Code::KEYED_STORE_IC)) {
|
||||
__ Branch(&miss, ne, this->name(), Operand(name));
|
||||
// In case we are compiling an IC for dictionary loads and stores, just
|
||||
// check whether the name is unique.
|
||||
if (name.is_identical_to(isolate()->factory()->normal_ic_symbol())) {
|
||||
__ JumpIfNotUniqueName(this->name(), &miss);
|
||||
} else {
|
||||
__ Branch(&miss, ne, this->name(), Operand(name));
|
||||
}
|
||||
}
|
||||
|
||||
Label number_case;
|
||||
|
@ -1264,7 +1264,13 @@ Handle<Code> PropertyICCompiler::CompilePolymorphic(TypeHandleList* types,
|
||||
|
||||
if (check == PROPERTY &&
|
||||
(kind() == Code::KEYED_LOAD_IC || kind() == Code::KEYED_STORE_IC)) {
|
||||
__ Branch(&miss, ne, this->name(), Operand(name));
|
||||
// In case we are compiling an IC for dictionary loads and stores, just
|
||||
// check whether the name is unique.
|
||||
if (name.is_identical_to(isolate()->factory()->normal_ic_symbol())) {
|
||||
__ JumpIfNotUniqueName(this->name(), &miss);
|
||||
} else {
|
||||
__ Branch(&miss, ne, this->name(), Operand(name));
|
||||
}
|
||||
}
|
||||
|
||||
Label number_case;
|
||||
|
Loading…
Reference in New Issue
Block a user