| Index: src/mips/lithium-codegen-mips.cc
|
| diff --git a/src/mips/lithium-codegen-mips.cc b/src/mips/lithium-codegen-mips.cc
|
| index 2a9ca324fc69561d7f4dafa2d76d7eb82fa93163..d97dca28a246b5974aebf5affa5f7087457aa095 100644
|
| --- a/src/mips/lithium-codegen-mips.cc
|
| +++ b/src/mips/lithium-codegen-mips.cc
|
| @@ -5195,6 +5195,7 @@ void LCodeGen::DoCheckMapCommon(Register map_reg,
|
|
|
|
|
| void LCodeGen::DoCheckMaps(LCheckMaps* instr) {
|
| + if (instr->hydrogen()->CanOmitMapChecks()) return;
|
| Register map_reg = scratch0();
|
| LOperand* input = instr->value();
|
| ASSERT(input->IsRegister());
|
| @@ -5263,6 +5264,8 @@ void LCodeGen::DoClampTToUint8(LClampTToUint8* instr) {
|
|
|
|
|
| void LCodeGen::DoCheckPrototypeMaps(LCheckPrototypeMaps* instr) {
|
| + if (instr->hydrogen()->CanOmitPrototypeChecks()) return;
|
| +
|
| Register prototype_reg = ToRegister(instr->temp());
|
| Register map_reg = ToRegister(instr->temp2());
|
|
|
| @@ -5271,12 +5274,10 @@ void LCodeGen::DoCheckPrototypeMaps(LCheckPrototypeMaps* instr) {
|
|
|
| ASSERT(prototypes->length() == maps->length());
|
|
|
| - if (!instr->hydrogen()->CanOmitPrototypeChecks()) {
|
| - for (int i = 0; i < prototypes->length(); i++) {
|
| - __ LoadHeapObject(prototype_reg, prototypes->at(i));
|
| - __ lw(map_reg, FieldMemOperand(prototype_reg, HeapObject::kMapOffset));
|
| - DoCheckMapCommon(map_reg, maps->at(i), instr->environment());
|
| - }
|
| + for (int i = 0; i < prototypes->length(); i++) {
|
| + __ LoadHeapObject(prototype_reg, prototypes->at(i));
|
| + __ lw(map_reg, FieldMemOperand(prototype_reg, HeapObject::kMapOffset));
|
| + DoCheckMapCommon(map_reg, maps->at(i), instr->environment());
|
| }
|
| }
|
|
|
|
|