| Index: src/mips64/code-stubs-mips64.cc
 | 
| diff --git a/src/mips64/code-stubs-mips64.cc b/src/mips64/code-stubs-mips64.cc
 | 
| index 45c56efc8e628d175e3931a2195e3b3ebf51d29b..9ae9102914cfa668ba70ebaddac6d221be587698 100644
 | 
| --- a/src/mips64/code-stubs-mips64.cc
 | 
| +++ b/src/mips64/code-stubs-mips64.cc
 | 
| @@ -10,6 +10,7 @@
 | 
|  #include "src/code-stubs.h"
 | 
|  #include "src/codegen.h"
 | 
|  #include "src/ic/handler-compiler.h"
 | 
| +#include "src/ic/ic.h"
 | 
|  #include "src/isolate.h"
 | 
|  #include "src/jsregexp.h"
 | 
|  #include "src/regexp-macro-assembler.h"
 | 
| @@ -591,12 +592,12 @@ static void EmitCheckForInternalizedStringsOrObjects(MacroAssembler* masm,
 | 
|  
 | 
|  static void CompareICStub_CheckInputType(MacroAssembler* masm, Register input,
 | 
|                                           Register scratch,
 | 
| -                                         CompareIC::State expected,
 | 
| +                                         CompareICState::State expected,
 | 
|                                           Label* fail) {
 | 
|    Label ok;
 | 
| -  if (expected == CompareIC::SMI) {
 | 
| +  if (expected == CompareICState::SMI) {
 | 
|      __ JumpIfNotSmi(input, fail);
 | 
| -  } else if (expected == CompareIC::NUMBER) {
 | 
| +  } else if (expected == CompareICState::NUMBER) {
 | 
|      __ JumpIfSmi(input, &ok);
 | 
|      __ CheckMap(input, scratch, Heap::kHeapNumberMapRootIndex, fail,
 | 
|                  DONT_DO_SMI_CHECK);
 | 
| @@ -2821,7 +2822,7 @@ void CallIC_ArrayStub::Generate(MacroAssembler* masm) {
 | 
|    __ TailCallStub(&stub);
 | 
|  
 | 
|    __ bind(&miss);
 | 
| -  GenerateMiss(masm, IC::kCallIC_Customization_Miss);
 | 
| +  GenerateMiss(masm);
 | 
|  
 | 
|    // The slow case, we need this no matter what to complete a call after a miss.
 | 
|    CallFunctionNoFeedback(masm,
 | 
| @@ -2897,7 +2898,7 @@ void CallICStub::Generate(MacroAssembler* masm) {
 | 
|  
 | 
|    // We are here because tracing is on or we are going monomorphic.
 | 
|    __ bind(&miss);
 | 
| -  GenerateMiss(masm, IC::kCallIC_Miss);
 | 
| +  GenerateMiss(masm);
 | 
|  
 | 
|    // the slow case
 | 
|    __ bind(&slow_start);
 | 
| @@ -2912,7 +2913,7 @@ void CallICStub::Generate(MacroAssembler* masm) {
 | 
|  }
 | 
|  
 | 
|  
 | 
| -void CallICStub::GenerateMiss(MacroAssembler* masm, IC::UtilityId id) {
 | 
| +void CallICStub::GenerateMiss(MacroAssembler* masm) {
 | 
|    // Get the receiver of the function from the stack; 1 ~ return address.
 | 
|    __ ld(a4, MemOperand(sp, (arg_count() + 1) * kPointerSize));
 | 
|  
 | 
| @@ -2923,6 +2924,9 @@ void CallICStub::GenerateMiss(MacroAssembler* masm, IC::UtilityId id) {
 | 
|      __ Push(a4, a1, a2, a3);
 | 
|  
 | 
|      // Call the entry.
 | 
| +    IC::UtilityId id = GetICState() == DEFAULT ? IC::kCallIC_Miss
 | 
| +                                               : IC::kCallIC_Customization_Miss;
 | 
| +
 | 
|      ExternalReference miss = ExternalReference(IC_Utility(id),
 | 
|                                                 masm->isolate());
 | 
|      __ CallExternalReference(miss, 4);
 | 
| @@ -3475,7 +3479,7 @@ void BinaryOpICWithAllocationSiteStub::Generate(MacroAssembler* masm) {
 | 
|  
 | 
|  
 | 
|  void CompareICStub::GenerateSmis(MacroAssembler* masm) {
 | 
| -  DCHECK(state() == CompareIC::SMI);
 | 
| +  DCHECK(state() == CompareICState::SMI);
 | 
|    Label miss;
 | 
|    __ Or(a2, a1, a0);
 | 
|    __ JumpIfNotSmi(a2, &miss);
 | 
| @@ -3498,16 +3502,16 @@ void CompareICStub::GenerateSmis(MacroAssembler* masm) {
 | 
|  
 | 
|  
 | 
|  void CompareICStub::GenerateNumbers(MacroAssembler* masm) {
 | 
| -  DCHECK(state() == CompareIC::NUMBER);
 | 
| +  DCHECK(state() == CompareICState::NUMBER);
 | 
|  
 | 
|    Label generic_stub;
 | 
|    Label unordered, maybe_undefined1, maybe_undefined2;
 | 
|    Label miss;
 | 
|  
 | 
| -  if (left() == CompareIC::SMI) {
 | 
| +  if (left() == CompareICState::SMI) {
 | 
|      __ JumpIfNotSmi(a1, &miss);
 | 
|    }
 | 
| -  if (right() == CompareIC::SMI) {
 | 
| +  if (right() == CompareICState::SMI) {
 | 
|      __ JumpIfNotSmi(a0, &miss);
 | 
|    }
 | 
|  
 | 
| @@ -3565,8 +3569,8 @@ void CompareICStub::GenerateNumbers(MacroAssembler* masm) {
 | 
|  
 | 
|    __ bind(&unordered);
 | 
|    __ bind(&generic_stub);
 | 
| -  CompareICStub stub(isolate(), op(), CompareIC::GENERIC, CompareIC::GENERIC,
 | 
| -                     CompareIC::GENERIC);
 | 
| +  CompareICStub stub(isolate(), op(), CompareICState::GENERIC,
 | 
| +                     CompareICState::GENERIC, CompareICState::GENERIC);
 | 
|    __ Jump(stub.GetCode(), RelocInfo::CODE_TARGET);
 | 
|  
 | 
|    __ bind(&maybe_undefined1);
 | 
| @@ -3591,7 +3595,7 @@ void CompareICStub::GenerateNumbers(MacroAssembler* masm) {
 | 
|  
 | 
|  
 | 
|  void CompareICStub::GenerateInternalizedStrings(MacroAssembler* masm) {
 | 
| -  DCHECK(state() == CompareIC::INTERNALIZED_STRING);
 | 
| +  DCHECK(state() == CompareICState::INTERNALIZED_STRING);
 | 
|    Label miss;
 | 
|  
 | 
|    // Registers containing left and right operands respectively.
 | 
| @@ -3631,7 +3635,7 @@ void CompareICStub::GenerateInternalizedStrings(MacroAssembler* masm) {
 | 
|  
 | 
|  
 | 
|  void CompareICStub::GenerateUniqueNames(MacroAssembler* masm) {
 | 
| -  DCHECK(state() == CompareIC::UNIQUE_NAME);
 | 
| +  DCHECK(state() == CompareICState::UNIQUE_NAME);
 | 
|    DCHECK(GetCondition() == eq);
 | 
|    Label miss;
 | 
|  
 | 
| @@ -3675,7 +3679,7 @@ void CompareICStub::GenerateUniqueNames(MacroAssembler* masm) {
 | 
|  
 | 
|  
 | 
|  void CompareICStub::GenerateStrings(MacroAssembler* masm) {
 | 
| -  DCHECK(state() == CompareIC::STRING);
 | 
| +  DCHECK(state() == CompareICState::STRING);
 | 
|    Label miss;
 | 
|  
 | 
|    bool equality = Token::IsEqualityOp(op());
 | 
| @@ -3761,7 +3765,7 @@ void CompareICStub::GenerateStrings(MacroAssembler* masm) {
 | 
|  
 | 
|  
 | 
|  void CompareICStub::GenerateObjects(MacroAssembler* masm) {
 | 
| -  DCHECK(state() == CompareIC::OBJECT);
 | 
| +  DCHECK(state() == CompareICState::OBJECT);
 | 
|    Label miss;
 | 
|    __ And(a2, a1, Operand(a0));
 | 
|    __ JumpIfSmi(a2, &miss);
 | 
| 
 |