Commit 5019ce6e authored by mbrandy's avatar mbrandy Committed by Commit bot

PPC: [turbofan] Move JSCallFunction specialization to JSCallReducer.

Port e5edd66d

Original commit message:
    This is the first part to refactoring the JSNativeContextSpecialization
    class, which has grown way too big recently.

    Also don't collect cross context feedback for the CallIC in general.
    Neither TurboFan nor Crankshaft can make any use of cross context
    JSFunction feedback that is collected by the CallIC, so there's no
    point in gathering that feedback at all (it just complicates the
    checking that is necessary in the compilers). What we should do
    instead at some point (when Crankshaft becomes less important) is
    to collect the SharedFunctionInfo as feedback for those cases.

R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
BUG=v8:4470
LOG=n

Review URL: https://codereview.chromium.org/1455663002

Cr-Commit-Position: refs/heads/master@{#32059}
parent fe85704a
......@@ -2716,6 +2716,14 @@ void CallICStub::Generate(MacroAssembler* masm) {
__ cmp(r4, r7);
__ beq(&miss);
// Make sure the function belongs to the same native context (which implies
// the same global object).
__ LoadP(r7, FieldMemOperand(r4, JSFunction::kContextOffset));
__ LoadP(r7, ContextOperand(r7, Context::GLOBAL_OBJECT_INDEX));
__ LoadP(ip, GlobalObjectOperand());
__ cmp(r7, ip);
__ bne(&miss);
// Update stats.
__ LoadP(r7, FieldMemOperand(r5, with_types_offset));
__ AddSmiLiteral(r7, r7, Smi::FromInt(1), r0);
......
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