From 6f4464ecb6df294f35c7f1b37c830c9b91e49c46 Mon Sep 17 00:00:00 2001 From: bjaideep Date: Thu, 10 Nov 2016 06:44:54 -0800 Subject: [PATCH] PPC/s390: Fix FullCodeGen to include CallICs and CallConstruct in the total ic count. Port 832439ab8f2aa933b6c3dc63aa7305bb5e803718 Original commit message: FullCodeGen does not include CallICs in the total ic count. Fix it by making calls to CallIC to go through CallIC function, which keeps track of the total number of ICs. R=mythria@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Review-Url: https://codereview.chromium.org/2492803002 Cr-Commit-Position: refs/heads/master@{#40899} --- src/full-codegen/ppc/full-codegen-ppc.cc | 4 ++-- src/full-codegen/s390/full-codegen-s390.cc | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/full-codegen/ppc/full-codegen-ppc.cc b/src/full-codegen/ppc/full-codegen-ppc.cc index 636e2d015f..a973ba6f73 100644 --- a/src/full-codegen/ppc/full-codegen-ppc.cc +++ b/src/full-codegen/ppc/full-codegen-ppc.cc @@ -2393,7 +2393,7 @@ void FullCodeGenerator::EmitCall(Call* expr, ConvertReceiverMode mode) { __ LoadSmiLiteral(r6, SmiFromSlot(expr->CallFeedbackICSlot())); __ LoadP(r4, MemOperand(sp, (arg_count + 1) * kPointerSize), r0); __ mov(r3, Operand(arg_count)); - __ Call(code, RelocInfo::CODE_TARGET); + CallIC(code); OperandStackDepthDecrement(arg_count + 1); RecordJSReturnSite(expr); @@ -2544,7 +2544,7 @@ void FullCodeGenerator::VisitCallNew(CallNew* expr) { __ LoadSmiLiteral(r6, SmiFromSlot(expr->CallNewFeedbackSlot())); CallConstructStub stub(isolate()); - __ Call(stub.GetCode(), RelocInfo::CODE_TARGET); + CallIC(stub.GetCode()); OperandStackDepthDecrement(arg_count + 1); PrepareForBailoutForId(expr->ReturnId(), BailoutState::TOS_REGISTER); RestoreContext(); diff --git a/src/full-codegen/s390/full-codegen-s390.cc b/src/full-codegen/s390/full-codegen-s390.cc index 419b4a53c6..47755895b9 100644 --- a/src/full-codegen/s390/full-codegen-s390.cc +++ b/src/full-codegen/s390/full-codegen-s390.cc @@ -2341,7 +2341,7 @@ void FullCodeGenerator::EmitCall(Call* expr, ConvertReceiverMode mode) { __ LoadSmiLiteral(r5, SmiFromSlot(expr->CallFeedbackICSlot())); __ LoadP(r3, MemOperand(sp, (arg_count + 1) * kPointerSize), r0); __ mov(r2, Operand(arg_count)); - __ Call(code, RelocInfo::CODE_TARGET); + CallIC(code); OperandStackDepthDecrement(arg_count + 1); RecordJSReturnSite(expr); @@ -2488,7 +2488,7 @@ void FullCodeGenerator::VisitCallNew(CallNew* expr) { __ LoadSmiLiteral(r5, SmiFromSlot(expr->CallNewFeedbackSlot())); CallConstructStub stub(isolate()); - __ Call(stub.GetCode(), RelocInfo::CODE_TARGET); + CallIC(stub.GetCode()); OperandStackDepthDecrement(arg_count + 1); PrepareForBailoutForId(expr->ReturnId(), BailoutState::TOS_REGISTER); RestoreContext();