b7a7096668
The BytecodePipeline is no longer used by any optimizers, so remove it and connect the BytecodeArrayBuilder directly to the BytecodeWriter. Also remove some functions from BytecodeNode which are no longer used. BUG=v8:6194 Change-Id: Id2ec94ff1d4db41b108a778100459283fbb2256c Reviewed-on: https://chromium-review.googlesource.com/471528 Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#44619}
53 lines
1.2 KiB
C++
53 lines
1.2 KiB
C++
// 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.
|
|
|
|
#include "src/v8.h"
|
|
|
|
#include "src/interpreter/bytecode-source-info.h"
|
|
#include "test/unittests/test-utils.h"
|
|
|
|
namespace v8 {
|
|
namespace internal {
|
|
namespace interpreter {
|
|
|
|
TEST(BytecodeSourceInfo, Operations) {
|
|
BytecodeSourceInfo x(0, true);
|
|
CHECK_EQ(x.source_position(), 0);
|
|
CHECK_EQ(x.is_statement(), true);
|
|
CHECK_EQ(x.is_valid(), true);
|
|
x.set_invalid();
|
|
CHECK_EQ(x.is_statement(), false);
|
|
CHECK_EQ(x.is_valid(), false);
|
|
|
|
x.MakeStatementPosition(1);
|
|
BytecodeSourceInfo y(1, true);
|
|
CHECK(x == y);
|
|
CHECK(!(x != y));
|
|
|
|
x.set_invalid();
|
|
CHECK(!(x == y));
|
|
CHECK(x != y);
|
|
|
|
y.MakeStatementPosition(1);
|
|
CHECK_EQ(y.source_position(), 1);
|
|
CHECK_EQ(y.is_statement(), true);
|
|
|
|
y.MakeStatementPosition(2);
|
|
CHECK_EQ(y.source_position(), 2);
|
|
CHECK_EQ(y.is_statement(), true);
|
|
|
|
y.set_invalid();
|
|
y.MakeExpressionPosition(3);
|
|
CHECK_EQ(y.source_position(), 3);
|
|
CHECK_EQ(y.is_statement(), false);
|
|
|
|
y.MakeStatementPosition(3);
|
|
CHECK_EQ(y.source_position(), 3);
|
|
CHECK_EQ(y.is_statement(), true);
|
|
}
|
|
|
|
} // namespace interpreter
|
|
} // namespace internal
|
|
} // namespace v8
|