PPC/s390: Fix FullCodeGen to include CallICs and CallConstruct in the total ic count.
Port 832439ab8f
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}
This commit is contained in:
parent
a5467aae1e
commit
6f4464ecb6
@ -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();
|
||||
|
Loading…
Reference in New Issue
Block a user