Commit 6f4464ec authored by bjaideep's avatar bjaideep Committed by Commit bot

PPC/s390: Fix FullCodeGen to include CallICs and CallConstruct in the total ic count.

Port 832439ab

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}
parent a5467aae
......@@ -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();
......
......@@ -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();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment