Revert of Fix clobbered register when setting this_function variable. (patchset #2 id:20001 of https://codereview.chromium.org/1185703002/)

Reason for revert:
[Sheriff] Makes mjsunit/es6/block-const-assign flaky, e.g.:
http://build.chromium.org/p/client.v8/builders/V8%20Linux/builds/4082

Original issue's description:
> Fix clobbered register when setting this_function variable.
>
> R=arv@chromium.org
> TEST=mjsunit/regress/regress-crbug-498022
> BUG=chromium:498022
> LOG=N
>
> Committed: https://crrev.com/bf2bbc8ba508ccd21edf3c08d2e4192c4764ae91
> Cr-Commit-Position: refs/heads/master@{#29020}

TBR=arv@chromium.org,rossberg@chromium.org,mstarzinger@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:498022

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

Cr-Commit-Position: refs/heads/master@{#29022}
This commit is contained in:
machenbach 2015-06-15 04:56:09 -07:00 committed by Commit bot
parent 2cde7dc82e
commit 06ac599d1e
9 changed files with 0 additions and 47 deletions

View File

@ -243,10 +243,6 @@ void FullCodeGenerator::Generate() {
Variable* this_function_var = scope()->this_function_var();
if (this_function_var != nullptr) {
Comment cmnt(masm_, "[ This function");
if (!function_in_register) {
__ ldr(r1, MemOperand(fp, JavaScriptFrameConstants::kFunctionOffset));
function_in_register = true;
}
SetVar(this_function_var, r1, r0, r2);
}

View File

@ -244,10 +244,6 @@ void FullCodeGenerator::Generate() {
Variable* this_function_var = scope()->this_function_var();
if (this_function_var != nullptr) {
Comment cmnt(masm_, "[ This function");
if (!function_in_register_x1) {
__ Ldr(x1, MemOperand(fp, JavaScriptFrameConstants::kFunctionOffset));
function_in_register_x1 = true;
}
SetVar(this_function_var, x1, x0, x2);
}

View File

@ -239,10 +239,6 @@ void FullCodeGenerator::Generate() {
Variable* this_function_var = scope()->this_function_var();
if (this_function_var != nullptr) {
Comment cmnt(masm_, "[ This function");
if (!function_in_register) {
__ mov(edi, Operand(ebp, JavaScriptFrameConstants::kFunctionOffset));
function_in_register = true;
}
SetVar(this_function_var, edi, ebx, edx);
}

View File

@ -252,10 +252,6 @@ void FullCodeGenerator::Generate() {
Variable* this_function_var = scope()->this_function_var();
if (this_function_var != nullptr) {
Comment cmnt(masm_, "[ This function");
if (!function_in_register) {
__ lw(a1, MemOperand(fp, JavaScriptFrameConstants::kFunctionOffset));
function_in_register = true;
}
SetVar(this_function_var, a1, a2, a3);
}

View File

@ -249,10 +249,6 @@ void FullCodeGenerator::Generate() {
Variable* this_function_var = scope()->this_function_var();
if (this_function_var != nullptr) {
Comment cmnt(masm_, "[ This function");
if (!function_in_register) {
__ ld(a1, MemOperand(fp, JavaScriptFrameConstants::kFunctionOffset));
function_in_register = true;
}
SetVar(this_function_var, a1, a2, a3);
}

View File

@ -248,10 +248,6 @@ void FullCodeGenerator::Generate() {
Variable* this_function_var = scope()->this_function_var();
if (this_function_var != nullptr) {
Comment cmnt(masm_, "[ This function");
if (!function_in_register) {
__ LoadP(r4, MemOperand(fp, JavaScriptFrameConstants::kFunctionOffset));
function_in_register = true;
}
SetVar(this_function_var, r4, r3, r5);
}

View File

@ -235,10 +235,6 @@ void FullCodeGenerator::Generate() {
Variable* this_function_var = scope()->this_function_var();
if (this_function_var != nullptr) {
Comment cmnt(masm_, "[ This function");
if (!function_in_register) {
__ movp(rdi, Operand(rbp, JavaScriptFrameConstants::kFunctionOffset));
function_in_register = true;
}
SetVar(this_function_var, rdi, rbx, rdx);
}

View File

@ -236,10 +236,6 @@ void FullCodeGenerator::Generate() {
Variable* this_function_var = scope()->this_function_var();
if (this_function_var != nullptr) {
Comment cmnt(masm_, "[ This function");
if (!function_in_register) {
__ mov(edi, Operand(ebp, JavaScriptFrameConstants::kFunctionOffset));
function_in_register = true;
}
SetVar(this_function_var, edi, ebx, edx);
}

View File

@ -1,15 +0,0 @@
// Copyright 2015 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Flags: --debug-code --nouse-gvn
"use strict";
class Base {
}
class Derived extends Base {
constructor() {
eval();
}
}
assertThrows("new Derived()", ReferenceError);