Commit bb869374 authored by jarin's avatar jarin Committed by Commit bot

Fix variable decl register collision on ARM.

BUG=chromium:455207
LOG=n
R=ulan@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#30249}
parent d0225c83
......@@ -842,8 +842,8 @@ void FullCodeGenerator::VisitVariableDeclaration(
case VariableLocation::LOCAL:
if (hole_init) {
Comment cmnt(masm_, "[ VariableDeclaration");
__ LoadRoot(ip, Heap::kTheHoleValueRootIndex);
__ str(ip, StackOperand(variable));
__ LoadRoot(r0, Heap::kTheHoleValueRootIndex);
__ str(r0, StackOperand(variable));
}
break;
......@@ -851,8 +851,8 @@ void FullCodeGenerator::VisitVariableDeclaration(
if (hole_init) {
Comment cmnt(masm_, "[ VariableDeclaration");
EmitDebugCheckDeclarationContext(variable);
__ LoadRoot(ip, Heap::kTheHoleValueRootIndex);
__ str(ip, ContextOperand(cp, variable->index()));
__ LoadRoot(r0, Heap::kTheHoleValueRootIndex);
__ str(r0, ContextOperand(cp, variable->index()));
// No write barrier since the_hole_value is in old space.
PrepareForBailoutForId(proxy->id(), NO_REGISTERS);
}
......
// 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.
"use strict";
var s = "";
for (var i = 16; i < 1085; i++) {
s += ("var a" + i + " = " + i + ";");
}
s += "const x = 10;" +
"assertEquals(10, x); x = 11; assertEquals(11, x)";
assertThrows(function() { eval(s); });
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