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 366b0b3bfe101c05cba0b23ee876a352c1cfdf10..b05ef68974eec8d35d7d473c6d740cecc1a927cc 100644 |
--- a/src/full-codegen/ia32/full-codegen-ia32.cc |
+++ b/src/full-codegen/ia32/full-codegen-ia32.cc |
@@ -245,37 +245,10 @@ void FullCodeGenerator::Generate() { |
PrepareForBailoutForId(BailoutId::FunctionContext(), |
BailoutState::NO_REGISTERS); |
- // Possibly set up a local binding to the this function which is used in |
- // derived constructors with super calls. |
- Variable* this_function_var = info->scope()->this_function_var(); |
- if (this_function_var != nullptr) { |
- Comment cmnt(masm_, "[ This function"); |
- if (!function_in_register) { |
- __ mov(edi, Operand(ebp, JavaScriptFrameConstants::kFunctionOffset)); |
- // The write barrier clobbers register again, keep it marked as such. |
- } |
- SetVar(this_function_var, edi, ebx, ecx); |
- } |
- |
- // Possibly set up a local binding to the new target value. |
- Variable* new_target_var = info->scope()->new_target_var(); |
- if (new_target_var != nullptr) { |
- Comment cmnt(masm_, "[ new.target"); |
- SetVar(new_target_var, edx, ebx, ecx); |
- } |
- |
- // Possibly allocate RestParameters |
- Variable* rest_param = info->scope()->rest_parameter(); |
- if (rest_param != nullptr) { |
- Comment cmnt(masm_, "[ Allocate rest parameter array"); |
- if (!function_in_register) { |
- __ mov(edi, Operand(ebp, JavaScriptFrameConstants::kFunctionOffset)); |
- } |
- FastNewRestParameterStub stub(isolate()); |
- __ CallStub(&stub); |
- function_in_register = false; |
- SetVar(rest_param, eax, ebx, edx); |
- } |
+ // We don't support new.target and rest parameters here. |
+ DCHECK_NULL(info->scope()->new_target_var()); |
+ DCHECK_NULL(info->scope()->rest_parameter()); |
+ DCHECK_NULL(info->scope()->this_function_var()); |
Variable* arguments = info->scope()->arguments(); |
if (arguments != NULL) { |