Index: src/full-codegen/ia32/full-codegen-ia32.cc |
diff --git a/src/full-codegen/ia32/full-codegen-ia32.cc b/src/full-codegen/ia32/full-codegen-ia32.cc |
index d3c8f17b2577c23549cfa9bba9c8f5cacabf5832..00947e75139045834d854023278a970cde787379 100644 |
--- a/src/full-codegen/ia32/full-codegen-ia32.cc |
+++ b/src/full-codegen/ia32/full-codegen-ia32.cc |
@@ -2954,7 +2954,7 @@ void FullCodeGenerator::VisitCallNew(CallNew* expr) { |
__ EmitLoadTypeFeedbackVector(ebx); |
__ mov(edx, Immediate(SmiFromSlot(expr->CallNewFeedbackSlot()))); |
- CallConstructStub stub(isolate(), RECORD_CONSTRUCTOR_TARGET); |
+ CallConstructStub stub(isolate()); |
__ call(stub.GetCode(), RelocInfo::CONSTRUCT_CALL); |
PrepareForBailoutForId(expr->ReturnId(), TOS_REG); |
// Restore context register. |
@@ -2982,20 +2982,15 @@ void FullCodeGenerator::EmitSuperConstructorCall(Call* expr) { |
// constructor invocation. |
SetConstructCallPosition(expr, arg_count); |
- // Load new target into ecx. |
+ // Load new target into edx. |
VisitForAccumulatorValue(super_call_ref->new_target_var()); |
- __ mov(ecx, result_register()); |
+ __ mov(edx, result_register()); |
// Load function and argument count into edi and eax. |
__ Move(eax, Immediate(arg_count)); |
__ mov(edi, Operand(esp, arg_count * kPointerSize)); |
- // Record call targets in unoptimized code. |
- __ EmitLoadTypeFeedbackVector(ebx); |
- __ mov(edx, Immediate(SmiFromSlot(expr->CallFeedbackSlot()))); |
- |
- CallConstructStub stub(isolate(), SUPER_CALL_RECORD_TARGET); |
- __ call(stub.GetCode(), RelocInfo::CONSTRUCT_CALL); |
+ __ Call(isolate()->builtins()->Construct(), RelocInfo::CONSTRUCT_CALL); |
RecordJSReturnSite(expr); |