| Index: src/arm64/code-stubs-arm64.cc
|
| diff --git a/src/arm64/code-stubs-arm64.cc b/src/arm64/code-stubs-arm64.cc
|
| index 39fec09c4b921f678758fcfdac9693c8d5f2ced3..b243fadce442e6f42dc41c46925be8e523856934 100644
|
| --- a/src/arm64/code-stubs-arm64.cc
|
| +++ b/src/arm64/code-stubs-arm64.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"
|
| @@ -472,12 +473,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);
|
| @@ -2953,7 +2954,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,
|
| @@ -3037,7 +3038,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);
|
| @@ -3051,7 +3052,7 @@ void CallICStub::Generate(MacroAssembler* masm) {
|
| }
|
|
|
|
|
| -void CallICStub::GenerateMiss(MacroAssembler* masm, IC::UtilityId id) {
|
| +void CallICStub::GenerateMiss(MacroAssembler* masm) {
|
| ASM_LOCATION("CallICStub[Miss]");
|
|
|
| // Get the receiver of the function from the stack; 1 ~ return address.
|
| @@ -3064,6 +3065,9 @@ void CallICStub::GenerateMiss(MacroAssembler* masm, IC::UtilityId id) {
|
| __ Push(x4, x1, x2, x3);
|
|
|
| // 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);
|
| @@ -3191,7 +3195,7 @@ void StringCharFromCodeGenerator::GenerateSlow(
|
|
|
| void CompareICStub::GenerateSmis(MacroAssembler* masm) {
|
| // Inputs are in x0 (lhs) and x1 (rhs).
|
| - DCHECK(state() == CompareIC::SMI);
|
| + DCHECK(state() == CompareICState::SMI);
|
| ASM_LOCATION("CompareICStub[Smis]");
|
| Label miss;
|
| // Bail out (to 'miss') unless both x0 and x1 are smis.
|
| @@ -3213,7 +3217,7 @@ void CompareICStub::GenerateSmis(MacroAssembler* masm) {
|
|
|
|
|
| void CompareICStub::GenerateNumbers(MacroAssembler* masm) {
|
| - DCHECK(state() == CompareIC::NUMBER);
|
| + DCHECK(state() == CompareICState::NUMBER);
|
| ASM_LOCATION("CompareICStub[HeapNumbers]");
|
|
|
| Label unordered, maybe_undefined1, maybe_undefined2;
|
| @@ -3226,10 +3230,10 @@ void CompareICStub::GenerateNumbers(MacroAssembler* masm) {
|
| FPRegister rhs_d = d0;
|
| FPRegister lhs_d = d1;
|
|
|
| - if (left() == CompareIC::SMI) {
|
| + if (left() == CompareICState::SMI) {
|
| __ JumpIfNotSmi(lhs, &miss);
|
| }
|
| - if (right() == CompareIC::SMI) {
|
| + if (right() == CompareICState::SMI) {
|
| __ JumpIfNotSmi(rhs, &miss);
|
| }
|
|
|
| @@ -3258,8 +3262,8 @@ void CompareICStub::GenerateNumbers(MacroAssembler* masm) {
|
| __ Ret();
|
|
|
| __ Bind(&unordered);
|
| - 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);
|
| @@ -3281,7 +3285,7 @@ void CompareICStub::GenerateNumbers(MacroAssembler* masm) {
|
|
|
|
|
| void CompareICStub::GenerateInternalizedStrings(MacroAssembler* masm) {
|
| - DCHECK(state() == CompareIC::INTERNALIZED_STRING);
|
| + DCHECK(state() == CompareICState::INTERNALIZED_STRING);
|
| ASM_LOCATION("CompareICStub[InternalizedStrings]");
|
| Label miss;
|
|
|
| @@ -3319,7 +3323,7 @@ void CompareICStub::GenerateInternalizedStrings(MacroAssembler* masm) {
|
|
|
|
|
| void CompareICStub::GenerateUniqueNames(MacroAssembler* masm) {
|
| - DCHECK(state() == CompareIC::UNIQUE_NAME);
|
| + DCHECK(state() == CompareICState::UNIQUE_NAME);
|
| ASM_LOCATION("CompareICStub[UniqueNames]");
|
| DCHECK(GetCondition() == eq);
|
| Label miss;
|
| @@ -3358,7 +3362,7 @@ void CompareICStub::GenerateUniqueNames(MacroAssembler* masm) {
|
|
|
|
|
| void CompareICStub::GenerateStrings(MacroAssembler* masm) {
|
| - DCHECK(state() == CompareIC::STRING);
|
| + DCHECK(state() == CompareICState::STRING);
|
| ASM_LOCATION("CompareICStub[Strings]");
|
|
|
| Label miss;
|
| @@ -3439,7 +3443,7 @@ void CompareICStub::GenerateStrings(MacroAssembler* masm) {
|
|
|
|
|
| void CompareICStub::GenerateObjects(MacroAssembler* masm) {
|
| - DCHECK(state() == CompareIC::OBJECT);
|
| + DCHECK(state() == CompareICState::OBJECT);
|
| ASM_LOCATION("CompareICStub[Objects]");
|
|
|
| Label miss;
|
|
|