[Interpreter] Fix incorrect Register OperandSize calculation for ExtraWide.

Fixes a mistake made in r35618 for register OperandSize calculations.

BUG=605470
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#35719}
This commit is contained in:
rmcilroy 2016-04-22 03:31:06 -07:00 committed by Commit bot
parent 6d21841ec3
commit 11e3ba34f5
2 changed files with 18 additions and 1 deletions

View File

@ -724,7 +724,7 @@ OperandSize Register::SizeOfOperand() const {
int32_t operand = ToOperand();
if (operand >= kMinInt8 && operand <= kMaxInt8) {
return OperandSize::kByte;
} else if (index_ >= kMinInt16 && index_ <= kMaxInt16) {
} else if (operand >= kMinInt16 && operand <= kMaxInt16) {
return OperandSize::kShort;
} else {
return OperandSize::kQuad;

View File

@ -0,0 +1,17 @@
// Copyright 2016 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: --ignition
function function_with_m_args(m) {
var source = '(function f() { return; })(';
for (var arg = 0; arg < m ; arg++) {
if (arg != 0) source += ',';
source += arg;
}
source += ')';
return eval(source);
}
function_with_m_args(0x7FFF);