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

Unified Diff: runtime/vm/code_generator_test.cc

Issue 460763002: Fix returning from async functions. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 4 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: runtime/vm/code_generator_test.cc
diff --git a/runtime/vm/code_generator_test.cc b/runtime/vm/code_generator_test.cc
index 89fcc20f8f7d823e9659340cc5f85b950e2fc2f5..0d2e97670a20ea146d71073bea0378b4b32b2bf7 100644
--- a/runtime/vm/code_generator_test.cc
+++ b/runtime/vm/code_generator_test.cc
@@ -24,14 +24,14 @@ static const intptr_t kPos = Scanner::kNoSourcePos;
CODEGEN_TEST_GENERATE(SimpleReturnCodegen, test) {
- test->node_sequence()->Add(new ReturnNode(kPos));
+ test->node_sequence()->Add(new ReturnNode(kPos, NULL));
}
CODEGEN_TEST_RUN(SimpleReturnCodegen, Instance::null())
CODEGEN_TEST_GENERATE(SmiReturnCodegen, test) {
LiteralNode* l = new LiteralNode(kPos, Smi::ZoneHandle(Smi::New(3)));
- test->node_sequence()->Add(new ReturnNode(kPos, l));
+ test->node_sequence()->Add(new ReturnNode(kPos, l, NULL));
}
CODEGEN_TEST_RUN(SmiReturnCodegen, Smi::New(3))
@@ -40,7 +40,9 @@ CODEGEN_TEST2_GENERATE(SimpleStaticCallCodegen, function, test) {
// Wrap the SmiReturnCodegen test above as a static function and call it.
ArgumentListNode* no_arguments = new ArgumentListNode(kPos);
test->node_sequence()->Add(
- new ReturnNode(kPos, new StaticCallNode(kPos, function, no_arguments)));
+ new ReturnNode(kPos,
+ new StaticCallNode(kPos, function, no_arguments),
+ NULL));
}
CODEGEN_TEST2_RUN(SimpleStaticCallCodegen, SmiReturnCodegen, Smi::New(3))
@@ -63,7 +65,7 @@ CODEGEN_TEST_GENERATE(ReturnParameterCodegen, test) {
const Function& function = test->function();
function.set_num_fixed_parameters(num_params);
ASSERT(!function.HasOptionalParameters());
- node_seq->Add(new ReturnNode(kPos, new LoadLocalNode(kPos, parameter)));
+ node_seq->Add(new ReturnNode(kPos, new LoadLocalNode(kPos, parameter), NULL));
}
@@ -73,7 +75,8 @@ CODEGEN_TEST2_GENERATE(StaticCallReturnParameterCodegen, function, test) {
ArgumentListNode* arguments = new ArgumentListNode(kPos);
arguments->Add(new LiteralNode(kPos, Smi::ZoneHandle(Smi::New(3))));
node_seq->Add(new ReturnNode(kPos,
- new StaticCallNode(kPos, function, arguments)));
+ new StaticCallNode(kPos, function, arguments),
+ NULL));
}
CODEGEN_TEST2_RUN(StaticCallReturnParameterCodegen,
ReturnParameterCodegen,
@@ -100,7 +103,7 @@ CODEGEN_TEST_GENERATE(SmiParamSumCodegen, test) {
new LoadLocalNode(kPos, param1),
new LoadLocalNode(kPos, param2));
node_seq->Add(new StoreLocalNode(kPos, sum, add));
- node_seq->Add(new ReturnNode(kPos, new LoadLocalNode(kPos, sum)));
+ node_seq->Add(new ReturnNode(kPos, new LoadLocalNode(kPos, sum), NULL));
}
@@ -111,7 +114,8 @@ CODEGEN_TEST2_GENERATE(StaticCallSmiParamSumCodegen, function, test) {
arguments->Add(new LiteralNode(kPos, Smi::ZoneHandle(Smi::New(3))));
arguments->Add(new LiteralNode(kPos, Smi::ZoneHandle(Smi::New(2))));
node_seq->Add(new ReturnNode(kPos,
- new StaticCallNode(kPos, function, arguments)));
+ new StaticCallNode(kPos, function, arguments),
+ NULL));
}
CODEGEN_TEST2_RUN(StaticCallSmiParamSumCodegen,
SmiParamSumCodegen,
@@ -123,7 +127,7 @@ CODEGEN_TEST_GENERATE(SmiAddCodegen, test) {
LiteralNode* a = new LiteralNode(kPos, Smi::ZoneHandle(Smi::New(3)));
LiteralNode* b = new LiteralNode(kPos, Smi::ZoneHandle(Smi::New(2)));
BinaryOpNode* add_node = new BinaryOpNode(kPos, Token::kADD, a, b);
- node_seq->Add(new ReturnNode(kPos, add_node));
+ node_seq->Add(new ReturnNode(kPos, add_node, NULL));
}
CODEGEN_TEST_RUN(SmiAddCodegen, Smi::New(5))
@@ -137,7 +141,7 @@ CODEGEN_TEST_GENERATE(GenericAddCodegen, test) {
LiteralNode* c =
new LiteralNode(kPos, Double::ZoneHandle(Double::New(0.8, Heap::kOld)));
BinaryOpNode* add_node_2 = new BinaryOpNode(kPos, Token::kADD, add_node_1, c);
- node_seq->Add(new ReturnNode(kPos, add_node_2));
+ node_seq->Add(new ReturnNode(kPos, add_node_2, NULL));
}
CODEGEN_TEST_RUN(GenericAddCodegen, Double::New(15.0))
@@ -153,7 +157,7 @@ CODEGEN_TEST_GENERATE(SmiBinaryOpCodegen, test) {
new BinaryOpNode(kPos, Token::kMUL, sub_node, c); // 2 * 3 -> 6.
BinaryOpNode* div_node =
new BinaryOpNode(kPos, Token::kTRUNCDIV, mul_node, b); // 6 ~/ 2 -> 3.
- node_seq->Add(new ReturnNode(kPos, div_node));
+ node_seq->Add(new ReturnNode(kPos, div_node, NULL));
}
CODEGEN_TEST_RUN(SmiBinaryOpCodegen, Smi::New(3))
@@ -162,7 +166,7 @@ CODEGEN_TEST_GENERATE(BoolNotCodegen, test) {
SequenceNode* node_seq = test->node_sequence();
LiteralNode* b = new LiteralNode(kPos, Bool::False());
UnaryOpNode* not_node = new UnaryOpNode(kPos, Token::kNOT, b);
- node_seq->Add(new ReturnNode(kPos, not_node));
+ node_seq->Add(new ReturnNode(kPos, not_node, NULL));
}
CODEGEN_TEST_RUN(BoolNotCodegen, Bool::True().raw())
@@ -172,7 +176,7 @@ CODEGEN_TEST_GENERATE(BoolAndCodegen, test) {
LiteralNode* a = new LiteralNode(kPos, Bool::True());
LiteralNode* b = new LiteralNode(kPos, Bool::False());
BinaryOpNode* and_node = new BinaryOpNode(kPos, Token::kAND, a, b);
- node_seq->Add(new ReturnNode(kPos, and_node));
+ node_seq->Add(new ReturnNode(kPos, and_node, NULL));
}
CODEGEN_TEST_RUN(BoolAndCodegen, Bool::False().raw())
@@ -187,7 +191,7 @@ CODEGEN_TEST_GENERATE(BinaryOpCodegen, test) {
BinaryOpNode* sub_node = new BinaryOpNode(kPos, Token::kSUB, a, b);
BinaryOpNode* mul_node = new BinaryOpNode(kPos, Token::kMUL, sub_node, c);
BinaryOpNode* div_node = new BinaryOpNode(kPos, Token::kDIV, mul_node, b);
- node_seq->Add(new ReturnNode(kPos, div_node));
+ node_seq->Add(new ReturnNode(kPos, div_node, NULL));
}
CODEGEN_TEST_RUN(BinaryOpCodegen, Double::New(2.5));
@@ -227,7 +231,8 @@ CODEGEN_TEST_GENERATE(NativeDecCodegen, test) {
native_name,
native_function,
local_scope,
- false /* not bootstrap native */)));
+ false /* not bootstrap native */),
+ NULL));
}
@@ -238,7 +243,8 @@ CODEGEN_TEST2_GENERATE(StaticDecCallCodegen, function, test) {
ArgumentListNode* arguments = new ArgumentListNode(kPos);
arguments->Add(new LiteralNode(kPos, Smi::ZoneHandle(Smi::New(5))));
node_seq->Add(new ReturnNode(kPos,
- new StaticCallNode(kPos, function, arguments)));
+ new StaticCallNode(kPos, function, arguments),
+ NULL));
}
CODEGEN_TEST2_RUN(StaticDecCallCodegen, NativeDecCodegen, Smi::New(4))
@@ -247,7 +253,7 @@ CODEGEN_TEST_GENERATE(SmiUnaryOpCodegen, test) {
SequenceNode* node_seq = test->node_sequence();
LiteralNode* a = new LiteralNode(kPos, Smi::ZoneHandle(Smi::New(12)));
UnaryOpNode* neg_node = new UnaryOpNode(kPos, Token::kNEGATE, a);
- node_seq->Add(new ReturnNode(kPos, neg_node));
+ node_seq->Add(new ReturnNode(kPos, neg_node, NULL));
}
CODEGEN_TEST_RUN(SmiUnaryOpCodegen, Smi::New(-12))
@@ -257,7 +263,7 @@ CODEGEN_TEST_GENERATE(DoubleUnaryOpCodegen, test) {
LiteralNode* a =
new LiteralNode(kPos, Double::ZoneHandle(Double::New(12.0, Heap::kOld)));
UnaryOpNode* neg_node = new UnaryOpNode(kPos, Token::kNEGATE, a);
- node_seq->Add(new ReturnNode(kPos, neg_node));
+ node_seq->Add(new ReturnNode(kPos, neg_node, NULL));
}
CODEGEN_TEST_RUN(DoubleUnaryOpCodegen, Double::New(-12.0))
@@ -323,7 +329,7 @@ CODEGEN_TEST_GENERATE(StaticCallCodegen, test) {
BinaryOpNode* add_node =
new BinaryOpNode(kPos, Token::kADD, call_bar, call_fly);
- test->node_sequence()->Add(new ReturnNode(kPos, add_node));
+ test->node_sequence()->Add(new ReturnNode(kPos, add_node, NULL));
}
CODEGEN_TEST_RUN(StaticCallCodegen, Smi::New(42 + 5))
@@ -362,7 +368,7 @@ CODEGEN_TEST_GENERATE(InstanceCallCodegen, test) {
function_bar_name,
no_arguments);
- test->node_sequence()->Add(new ReturnNode(kPos, call_bar));
+ test->node_sequence()->Add(new ReturnNode(kPos, call_bar, NULL));
}
CODEGEN_TEST_RUN(InstanceCallCodegen, Smi::New(42))
@@ -409,7 +415,8 @@ CODEGEN_TEST_GENERATE(NativeSumCodegen, test) {
native_name,
native_function,
local_scope,
- false /* Not bootstrap native */)));
+ false /* Not bootstrap native */),
+ NULL));
}
@@ -422,7 +429,8 @@ CODEGEN_TEST2_GENERATE(StaticSumCallNoOptCodegen, function, test) {
arguments->Add(new LiteralNode(kPos, Smi::ZoneHandle(Smi::New(1))));
arguments->Add(new LiteralNode(kPos, Smi::ZoneHandle(Smi::New(3))));
node_seq->Add(new ReturnNode(kPos,
- new StaticCallNode(kPos, function, arguments)));
+ new StaticCallNode(kPos, function, arguments),
+ NULL));
}
CODEGEN_TEST2_RUN(StaticSumCallNoOptCodegen,
NativeSumCodegen,
@@ -440,7 +448,8 @@ CODEGEN_TEST2_GENERATE(StaticSumCallOneOptCodegen, function, test) {
arguments->Add(new LiteralNode(kPos, Smi::ZoneHandle(Smi::New(3))));
arguments->Add(new LiteralNode(kPos, Smi::ZoneHandle(Smi::New(5))));
node_seq->Add(new ReturnNode(kPos,
- new StaticCallNode(kPos, function, arguments)));
+ new StaticCallNode(kPos, function, arguments),
+ NULL));
}
CODEGEN_TEST2_RUN(StaticSumCallOneOptCodegen,
NativeSumCodegen,
@@ -459,7 +468,8 @@ CODEGEN_TEST2_GENERATE(StaticSumCallTenFiboCodegen, function, test) {
arguments->Add(new LiteralNode(kPos, Smi::ZoneHandle(Smi::New(2))));
arguments->Add(new LiteralNode(kPos, Smi::ZoneHandle(Smi::New(3))));
node_seq->Add(new ReturnNode(kPos,
- new StaticCallNode(kPos, function, arguments)));
+ new StaticCallNode(kPos, function, arguments),
+ NULL));
}
CODEGEN_TEST2_RUN(
StaticSumCallTenFiboCodegen,
@@ -499,7 +509,8 @@ CODEGEN_TEST_GENERATE(NativeNonNullSumCodegen, test) {
native_name,
native_function,
local_scope,
- false /* Not bootstrap native */)));
+ false /* Not bootstrap native */),
+ NULL));
}
@@ -512,7 +523,8 @@ CODEGEN_TEST2_GENERATE(StaticNonNullSumCallCodegen, function, test) {
arguments->Add(new LiteralNode(kPos, Smi::ZoneHandle()));
arguments->Add(new LiteralNode(kPos, Smi::ZoneHandle(Smi::New(3))));
node_seq->Add(new ReturnNode(kPos,
- new StaticCallNode(kPos, function, arguments)));
+ new StaticCallNode(kPos, function, arguments),
+ NULL));
}
CODEGEN_TEST2_RUN(StaticNonNullSumCallCodegen,
NativeNonNullSumCodegen,
@@ -545,8 +557,12 @@ CODEGEN_TEST_GENERATE(AllocateNewObjectCodegen, test) {
const TypeArguments& no_type_arguments = TypeArguments::ZoneHandle();
ArgumentListNode* no_arguments = new ArgumentListNode(kPos);
- test->node_sequence()->Add(new ReturnNode(kPos, new ConstructorCallNode(
- kPos, no_type_arguments, constructor, no_arguments)));
+ test->node_sequence()->Add(
+ new ReturnNode(
+ kPos,
+ new ConstructorCallNode(
+ kPos, no_type_arguments, constructor, no_arguments),
+ NULL));
}

Powered by Google App Engine
This is Rietveld 408576698