Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(77)

Unified Diff: test/cctest/interpreter/test-interpreter.cc

Issue 1997653002: [interpreter] Bytecode register optimizer. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Decouple a test from implementation. Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: test/cctest/interpreter/test-interpreter.cc
diff --git a/test/cctest/interpreter/test-interpreter.cc b/test/cctest/interpreter/test-interpreter.cc
index e54c65c2af1d7dfce0b22f15f67cef37286e9418..57f9ee5d8ce8972fb66aa59abf01ace1e50e94b1 100644
--- a/test/cctest/interpreter/test-interpreter.cc
+++ b/test/cctest/interpreter/test-interpreter.cc
@@ -138,6 +138,7 @@ TEST(InterpreterLoadLiteral) {
{
BytecodeArrayBuilder builder(handles.main_isolate(), handles.main_zone(), 1,
0, 0);
+
builder.LoadLiteral(Smi::FromInt(0x12345678)).Return();
Handle<BytecodeArray> bytecode_array = builder.ToBytecodeArray();
@@ -151,6 +152,7 @@ TEST(InterpreterLoadLiteral) {
{
BytecodeArrayBuilder builder(handles.main_isolate(), handles.main_zone(), 1,
0, 0);
+
builder.LoadLiteral(factory->NewHeapNumber(-2.1e19)).Return();
Handle<BytecodeArray> bytecode_array = builder.ToBytecodeArray();
@@ -164,6 +166,7 @@ TEST(InterpreterLoadLiteral) {
{
BytecodeArrayBuilder builder(handles.main_isolate(), handles.main_zone(), 1,
0, 0);
+
Handle<i::String> string = factory->NewStringFromAsciiChecked("String");
builder.LoadLiteral(string).Return();
Handle<BytecodeArray> bytecode_array = builder.ToBytecodeArray();
@@ -182,6 +185,7 @@ TEST(InterpreterLoadStoreRegisters) {
for (int i = 0; i <= kMaxInt8; i++) {
BytecodeArrayBuilder builder(handles.main_isolate(), handles.main_zone(), 1,
0, i + 1);
+
Register reg(i);
builder.LoadTrue()
.StoreAccumulatorInRegister(reg)
@@ -297,6 +301,7 @@ TEST(InterpreterBinaryOpsSmi) {
i::Factory* factory = handles.main_isolate()->factory();
BytecodeArrayBuilder builder(handles.main_isolate(),
handles.main_zone(), 1, 0, 1);
+
Register reg(0);
int lhs = lhs_inputs[l];
int rhs = rhs_inputs[r];
@@ -387,6 +392,7 @@ TEST(InterpreterStringAdd) {
for (size_t i = 0; i < arraysize(test_cases); i++) {
BytecodeArrayBuilder builder(handles.main_isolate(), handles.main_zone(), 1,
0, 1);
+
Register reg(0);
builder.LoadLiteral(test_cases[i].lhs)
.StoreAccumulatorInRegister(reg)
@@ -407,6 +413,7 @@ TEST(InterpreterParameter1) {
HandleAndZoneScope handles;
BytecodeArrayBuilder builder(handles.main_isolate(), handles.main_zone(), 1,
0, 0);
+
builder.LoadAccumulatorWithRegister(builder.Parameter(0)).Return();
Handle<BytecodeArray> bytecode_array = builder.ToBytecodeArray();
@@ -429,6 +436,7 @@ TEST(InterpreterParameter8) {
HandleAndZoneScope handles;
BytecodeArrayBuilder builder(handles.main_isolate(), handles.main_zone(), 8,
0, 0);
+
builder.LoadAccumulatorWithRegister(builder.Parameter(0))
.BinaryOperation(Token::Value::ADD, builder.Parameter(1))
.BinaryOperation(Token::Value::ADD, builder.Parameter(2))
@@ -464,6 +472,7 @@ TEST(InterpreterParameter1Assign) {
HandleAndZoneScope handles;
BytecodeArrayBuilder builder(handles.main_isolate(), handles.main_zone(), 1,
0, 0);
+
builder.LoadLiteral(Smi::FromInt(5))
.StoreAccumulatorInRegister(builder.Parameter(0))
.LoadAccumulatorWithRegister(builder.Parameter(0))
@@ -592,6 +601,7 @@ TEST(InterpreterLoadNamedProperty) {
BytecodeArrayBuilder builder(handles.main_isolate(), handles.main_zone(), 1,
0, 0);
+
builder.LoadNamedProperty(builder.Parameter(0), name, vector->GetIndex(slot))
.Return();
Handle<BytecodeArray> bytecode_array = builder.ToBytecodeArray();
@@ -645,6 +655,7 @@ TEST(InterpreterLoadKeyedProperty) {
BytecodeArrayBuilder builder(handles.main_isolate(), handles.main_zone(), 1,
0, 1);
+
builder.LoadLiteral(key)
.LoadKeyedProperty(builder.Parameter(0), vector->GetIndex(slot))
.Return();
@@ -687,6 +698,7 @@ TEST(InterpreterStoreNamedProperty) {
BytecodeArrayBuilder builder(handles.main_isolate(), handles.main_zone(), 1,
0, 0);
+
builder.LoadLiteral(Smi::FromInt(999))
.StoreNamedProperty(builder.Parameter(0), name, vector->GetIndex(slot),
i::STRICT)
@@ -746,6 +758,7 @@ TEST(InterpreterStoreKeyedProperty) {
BytecodeArrayBuilder builder(handles.main_isolate(), handles.main_zone(), 1,
0, 1);
+
builder.LoadLiteral(name)
.StoreAccumulatorInRegister(Register(0))
.LoadLiteral(Smi::FromInt(999))
@@ -796,6 +809,7 @@ static void TestInterpreterCall(TailCallMode tail_call_mode) {
{
BytecodeArrayBuilder builder(handles.main_isolate(), handles.main_zone(), 1,
0, 1);
+
builder.LoadNamedProperty(builder.Parameter(0), name, slot_index)
.StoreAccumulatorInRegister(Register(0))
.Call(Register(0), builder.Parameter(0), 1, 0, tail_call_mode)
@@ -815,6 +829,7 @@ static void TestInterpreterCall(TailCallMode tail_call_mode) {
{
BytecodeArrayBuilder builder(handles.main_isolate(), handles.main_zone(), 1,
0, 1);
+
builder.LoadNamedProperty(builder.Parameter(0), name, slot_index)
.StoreAccumulatorInRegister(Register(0))
.Call(Register(0), builder.Parameter(0), 1, 0, tail_call_mode)
@@ -837,6 +852,7 @@ static void TestInterpreterCall(TailCallMode tail_call_mode) {
{
BytecodeArrayBuilder builder(handles.main_isolate(), handles.main_zone(), 1,
0, 4);
+
builder.LoadNamedProperty(builder.Parameter(0), name, slot_index)
.StoreAccumulatorInRegister(Register(0))
.LoadAccumulatorWithRegister(builder.Parameter(0))
@@ -864,6 +880,7 @@ static void TestInterpreterCall(TailCallMode tail_call_mode) {
{
BytecodeArrayBuilder builder(handles.main_isolate(), handles.main_zone(), 1,
0, 12);
+
builder.LoadNamedProperty(builder.Parameter(0), name, slot_index)
.StoreAccumulatorInRegister(Register(0))
.LoadAccumulatorWithRegister(builder.Parameter(0))
@@ -938,6 +955,7 @@ TEST(InterpreterJumps) {
HandleAndZoneScope handles;
BytecodeArrayBuilder builder(handles.main_isolate(), handles.main_zone(), 0,
0, 2);
+
Register reg(0), scratch(1);
BytecodeLabel label[3];
@@ -965,6 +983,7 @@ TEST(InterpreterConditionalJumps) {
HandleAndZoneScope handles;
BytecodeArrayBuilder builder(handles.main_isolate(), handles.main_zone(), 0,
0, 2);
+
Register reg(0), scratch(1);
BytecodeLabel label[2];
BytecodeLabel done, done1;
@@ -998,6 +1017,7 @@ TEST(InterpreterConditionalJumps2) {
HandleAndZoneScope handles;
BytecodeArrayBuilder builder(handles.main_isolate(), handles.main_zone(), 0,
0, 2);
+
Register reg(0), scratch(1);
BytecodeLabel label[2];
BytecodeLabel done, done1;
@@ -1030,6 +1050,7 @@ TEST(InterpreterJumpConstantWith16BitOperand) {
HandleAndZoneScope handles;
BytecodeArrayBuilder builder(handles.main_isolate(), handles.main_zone(), 1,
0, 257);
+
Register reg(0), scratch(256);
BytecodeLabel done;
@@ -1167,6 +1188,7 @@ TEST(InterpreterSmiComparisons) {
HandleAndZoneScope handles;
BytecodeArrayBuilder builder(handles.main_isolate(),
handles.main_zone(), 0, 0, 1);
+
Register r0(0);
builder.LoadLiteral(Smi::FromInt(inputs[i]))
.StoreAccumulatorInRegister(r0)
@@ -1203,6 +1225,7 @@ TEST(InterpreterHeapNumberComparisons) {
i::Factory* factory = handles.main_isolate()->factory();
BytecodeArrayBuilder builder(handles.main_isolate(),
handles.main_zone(), 0, 0, 1);
+
Register r0(0);
builder.LoadLiteral(factory->NewHeapNumber(inputs[i]))
.StoreAccumulatorInRegister(r0)
@@ -1236,6 +1259,7 @@ TEST(InterpreterStringComparisons) {
i::Factory* factory = handles.main_isolate()->factory();
BytecodeArrayBuilder builder(handles.main_isolate(),
handles.main_zone(), 0, 0, 1);
+
Register r0(0);
builder.LoadLiteral(factory->NewStringFromAsciiChecked(lhs))
.StoreAccumulatorInRegister(r0)
@@ -1280,6 +1304,7 @@ TEST(InterpreterMixedComparisons) {
i::Factory* factory = handles.main_isolate()->factory();
BytecodeArrayBuilder builder(handles.main_isolate(),
handles.main_zone(), 0, 0, 1);
+
Register r0(0);
if (pass == 0) {
// Comparison with HeapNumber on the lhs and String on the rhs
@@ -1393,6 +1418,7 @@ TEST(InterpreterInstanceOf) {
bool expected_value = (i == 0);
BytecodeArrayBuilder builder(handles.main_isolate(), handles.main_zone(), 0,
0, 1);
+
Register r0(0);
builder.LoadLiteral(cases[i]);
builder.StoreAccumulatorInRegister(r0)
@@ -1422,6 +1448,7 @@ TEST(InterpreterTestIn) {
bool expected_value = (i == 0);
BytecodeArrayBuilder builder(handles.main_isolate(), handles.main_zone(), 0,
0, 1);
+
Register r0(0);
builder.LoadLiteral(factory->NewStringFromAsciiChecked(properties[i]))
.StoreAccumulatorInRegister(r0)
@@ -1445,6 +1472,7 @@ TEST(InterpreterUnaryNot) {
bool expected_value = ((i & 1) == 1);
BytecodeArrayBuilder builder(handles.main_isolate(), handles.main_zone(), 0,
0, 0);
+
Register r0(0);
builder.LoadFalse();
for (size_t j = 0; j < i; j++) {
@@ -1506,6 +1534,7 @@ TEST(InterpreterUnaryNotNonBoolean) {
for (size_t i = 0; i < arraysize(object_type_tuples); i++) {
BytecodeArrayBuilder builder(handles.main_isolate(), handles.main_zone(), 0,
0, 0);
+
Register r0(0);
LoadAny(&builder, factory, object_type_tuples[i].first);
builder.LogicalNot();
@@ -1552,6 +1581,7 @@ TEST(InterpreterCallRuntime) {
BytecodeArrayBuilder builder(handles.main_isolate(), handles.main_zone(), 1,
0, 2);
+
builder.LoadLiteral(Smi::FromInt(15))
.StoreAccumulatorInRegister(Register(0))
.LoadLiteral(Smi::FromInt(40))
@@ -1572,6 +1602,7 @@ TEST(InterpreterInvokeIntrinsic) {
BytecodeArrayBuilder builder(handles.main_isolate(), handles.main_zone(), 1,
0, 2);
+
builder.LoadLiteral(Smi::FromInt(15))
.StoreAccumulatorInRegister(Register(0))
.CallRuntime(Runtime::kInlineIsArray, Register(0), 1)

Powered by Google App Engine
This is Rietveld 408576698