Commit 56f20066 authored by jarin@chromium.org's avatar jarin@chromium.org

Fix to get around an assertion that triggers when generating code that happens...

Fix to get around an assertion that triggers when generating code that happens to be dead because the assertion is checked a bit earlier at runtime.

R=ishell@chromium.org
BUG=355486
LOG=N

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20218 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent 56649364
......@@ -2910,9 +2910,14 @@ void LCodeGen::DoAccessArgumentsAt(LAccessArgumentsAt* instr) {
instr->index()->IsConstantOperand()) {
int32_t const_index = ToInteger32(LConstantOperand::cast(instr->index()));
int32_t const_length = ToInteger32(LConstantOperand::cast(instr->length()));
if (const_index < const_length) {
StackArgumentsAccessor args(arguments, const_length,
ARGUMENTS_DONT_CONTAIN_RECEIVER);
__ movp(result, args.GetArgumentOperand(const_index));
} else {
// This code should never be executed; just stop here.
__ int3();
}
} else {
Register length = ToRegister(instr->length());
// There are two words between the frame pointer and the last argument.
......
// Copyright 2014 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: --allow-natives-syntax
function f() { var v = arguments[0]; }
function g() { f(); }
g();
g();
%OptimizeFunctionOnNextCall(g);
g();
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