Commit e10291d8 authored by cdai2's avatar cdai2

X87: Super Constructor Calls need to use a vector slot, not an ic slot.

port 64f81870 (r26414)

original commit message:

  Super Constructor Calls need to use a vector slot, not an ic slot.

  The Ast Call node is accustomed to using a vector IC slot for the
  cases when it uses a CallIC. The super constructor work alters this
  somewhat by using a CallConstructStub instead, however the
  CallConstructStub expects a vector slot and not a vector ic slot.
  This distinction needs to be maintained because slots and ic slots
  have different clearing strategies and are handled differently.

BUG=
R=weiliang.lin@intel.com

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

Cr-Commit-Position: refs/heads/master@{#26511}
parent a02d97e3
......@@ -2895,7 +2895,7 @@ void FullCodeGenerator::EmitCall(Call* expr, CallICState::CallType call_type) {
// Record source position of the IC call.
SetSourcePosition(expr->position());
Handle<Code> ic = CodeFactory::CallIC(isolate(), arg_count, call_type).code();
__ Move(edx, Immediate(SmiFromSlot(expr->CallFeedbackSlot())));
__ Move(edx, Immediate(SmiFromSlot(expr->CallFeedbackICSlot())));
__ mov(edi, Operand(esp, (arg_count + 1) * kPointerSize));
// Don't assign a type feedback id to the IC, since type feedback is provided
// by the vector above.
......
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