Index: runtime/vm/ast_transformer.cc |
=================================================================== |
--- runtime/vm/ast_transformer.cc (revision 43047) |
+++ runtime/vm/ast_transformer.cc (working copy) |
@@ -6,11 +6,13 @@ |
#include "vm/object_store.h" |
#include "vm/parser.h" |
+#include "vm/thread.h" |
namespace dart { |
-// Quick access to the locally defined isolate() method. |
-#define I (isolate()) |
+// Quick access to the current isolate and zone. |
+#define I (thread()->isolate()) |
+#define Z (thread()->zone()) |
// Nodes that are unreachable from already parsed expressions. |
#define FOR_EACH_UNREACHABLE_NODE(V) \ |
@@ -50,7 +52,7 @@ |
temp_cnt_(0), |
parsed_function_(parsed_function), |
function_top_(function_top), |
- isolate_(Isolate::Current()) { |
+ thread_(Thread::Current()) { |
ASSERT(function_top_ != NULL); |
} |
@@ -71,7 +73,7 @@ |
LocalVariable* await_tmp = preamble_->scope()->LookupVariable(symbol, false); |
if (await_tmp == NULL) { |
// If we need a new temp variable, we add it to the function's top scope. |
- await_tmp = new (I) LocalVariable( |
+ await_tmp = new (Z) LocalVariable( |
Scanner::kNoSourcePos, symbol, Type::ZoneHandle(Type::DynamicType())); |
function_top_->AddVariable(await_tmp); |
// After adding it to the top scope, we can look it up from the preamble. |
@@ -92,7 +94,7 @@ |
LocalVariable* AwaitTransformer::AddToPreambleNewTempVar(AstNode* node) { |
LocalVariable* tmp_var = EnsureCurrentTempVar(); |
- preamble_->Add(new(I) StoreLocalNode(Scanner::kNoSourcePos, tmp_var, node)); |
+ preamble_->Add(new(Z) StoreLocalNode(Scanner::kNoSourcePos, tmp_var, node)); |
NextTempVar(); |
return tmp_var; |
} |
@@ -104,7 +106,7 @@ |
void AwaitTransformer::VisitTypeNode(TypeNode* node) { |
- result_ = new(I) TypeNode(node->token_pos(), node->type()); |
+ result_ = new(Z) TypeNode(node->token_pos(), node->type()); |
} |
@@ -132,10 +134,10 @@ |
preamble_->scope(), Symbols::AsyncOperationErrorParam()); |
AstNode* transformed_expr = Transform(node->expr()); |
- preamble_->Add(new(I) StoreLocalNode( |
+ preamble_->Add(new(Z) StoreLocalNode( |
Scanner::kNoSourcePos, result_param, transformed_expr)); |
- LoadLocalNode* load_result_param = new(I) LoadLocalNode( |
+ LoadLocalNode* load_result_param = new(Z) LoadLocalNode( |
Scanner::kNoSourcePos, result_param); |
const Class& future_cls = |
@@ -147,7 +149,7 @@ |
LocalScope* is_not_future_scope = ChainNewScope(preamble_->scope()); |
SequenceNode* is_not_future_branch = |
- new (I) SequenceNode(Scanner::kNoSourcePos, is_not_future_scope); |
+ new (Z) SequenceNode(Scanner::kNoSourcePos, is_not_future_scope); |
// if (:result_param is !Future) { |
// :result_param = Future.value(:result_param); |
@@ -155,35 +157,35 @@ |
const Function& value_ctor = Function::ZoneHandle( |
I, future_cls.LookupFunction(Symbols::FutureValue())); |
ASSERT(!value_ctor.IsNull()); |
- ArgumentListNode* ctor_args = new (I) ArgumentListNode(Scanner::kNoSourcePos); |
- ctor_args->Add(new (I) LoadLocalNode(Scanner::kNoSourcePos, result_param)); |
+ ArgumentListNode* ctor_args = new (Z) ArgumentListNode(Scanner::kNoSourcePos); |
+ ctor_args->Add(new (Z) LoadLocalNode(Scanner::kNoSourcePos, result_param)); |
ConstructorCallNode* ctor_call = |
- new (I) ConstructorCallNode(Scanner::kNoSourcePos, |
+ new (Z) ConstructorCallNode(Scanner::kNoSourcePos, |
TypeArguments::ZoneHandle(I), |
value_ctor, |
ctor_args); |
- is_not_future_branch->Add(new (I) StoreLocalNode( |
+ is_not_future_branch->Add(new (Z) StoreLocalNode( |
Scanner::kNoSourcePos, result_param, ctor_call)); |
- AstNode* is_not_future_test = new (I) ComparisonNode( |
+ AstNode* is_not_future_test = new (Z) ComparisonNode( |
Scanner::kNoSourcePos, |
Token::kISNOT, |
load_result_param, |
- new (I) TypeNode(Scanner::kNoSourcePos, future_type)); |
- preamble_->Add(new(I) IfNode(Scanner::kNoSourcePos, |
+ new (Z) TypeNode(Scanner::kNoSourcePos, future_type)); |
+ preamble_->Add(new(Z) IfNode(Scanner::kNoSourcePos, |
is_not_future_test, |
is_not_future_branch, |
NULL)); |
- AwaitMarkerNode* await_marker = new (I) AwaitMarkerNode(); |
+ AwaitMarkerNode* await_marker = new (Z) AwaitMarkerNode(); |
await_marker->set_scope(preamble_->scope()); |
preamble_->Add(await_marker); |
- ArgumentListNode* args = new(I) ArgumentListNode(Scanner::kNoSourcePos); |
+ ArgumentListNode* args = new(Z) ArgumentListNode(Scanner::kNoSourcePos); |
- args->Add(new(I) LoadLocalNode(Scanner::kNoSourcePos, async_op)); |
- preamble_->Add(new (I) StoreLocalNode( |
+ args->Add(new(Z) LoadLocalNode(Scanner::kNoSourcePos, async_op)); |
+ preamble_->Add(new (Z) StoreLocalNode( |
Scanner::kNoSourcePos, |
result_param, |
- new(I) InstanceCallNode(Scanner::kNoSourcePos, |
+ new(Z) InstanceCallNode(Scanner::kNoSourcePos, |
load_result_param, |
Symbols::FutureThen(), |
args))); |
@@ -191,20 +193,20 @@ |
const Function& async_catch_helper = Function::ZoneHandle( |
I, core_lib.LookupFunctionAllowPrivate(Symbols::AsyncCatchHelper())); |
ASSERT(!async_catch_helper.IsNull()); |
- ArgumentListNode* catch_helper_args = new (I) ArgumentListNode( |
+ ArgumentListNode* catch_helper_args = new (Z) ArgumentListNode( |
Scanner::kNoSourcePos); |
- InstanceGetterNode* catch_error_getter = new (I) InstanceGetterNode( |
+ InstanceGetterNode* catch_error_getter = new (Z) InstanceGetterNode( |
Scanner::kNoSourcePos, |
load_result_param, |
Symbols::FutureCatchError()); |
catch_helper_args->Add(catch_error_getter); |
- catch_helper_args->Add(new (I) LoadLocalNode( |
+ catch_helper_args->Add(new (Z) LoadLocalNode( |
Scanner::kNoSourcePos, async_op)); |
- preamble_->Add(new (I) StaticCallNode( |
+ preamble_->Add(new (Z) StaticCallNode( |
Scanner::kNoSourcePos, |
async_catch_helper, |
catch_helper_args)); |
- ReturnNode* continuation_return = new(I) ReturnNode(Scanner::kNoSourcePos); |
+ ReturnNode* continuation_return = new(Z) ReturnNode(Scanner::kNoSourcePos); |
continuation_return->set_return_type(ReturnNode::kContinuationTarget); |
preamble_->Add(continuation_return); |
@@ -215,34 +217,34 @@ |
if (!async_saved_try_ctx_name.IsNull()) { |
LocalVariable* async_saved_try_ctx = |
GetVariableInScope(preamble_->scope(), async_saved_try_ctx_name); |
- preamble_->Add(new (I) StoreLocalNode( |
+ preamble_->Add(new (Z) StoreLocalNode( |
Scanner::kNoSourcePos, |
parsed_function_->saved_try_ctx(), |
- new (I) LoadLocalNode(Scanner::kNoSourcePos, async_saved_try_ctx))); |
+ new (Z) LoadLocalNode(Scanner::kNoSourcePos, async_saved_try_ctx))); |
} |
- LoadLocalNode* load_error_param = new (I) LoadLocalNode( |
+ LoadLocalNode* load_error_param = new (Z) LoadLocalNode( |
Scanner::kNoSourcePos, error_param); |
- SequenceNode* error_ne_null_branch = new (I) SequenceNode( |
+ SequenceNode* error_ne_null_branch = new (Z) SequenceNode( |
Scanner::kNoSourcePos, ChainNewScope(preamble_->scope())); |
- error_ne_null_branch->Add(new (I) ThrowNode( |
+ error_ne_null_branch->Add(new (Z) ThrowNode( |
Scanner::kNoSourcePos, |
load_error_param, |
NULL)); |
- preamble_->Add(new (I) IfNode( |
+ preamble_->Add(new (Z) IfNode( |
Scanner::kNoSourcePos, |
- new (I) ComparisonNode( |
+ new (Z) ComparisonNode( |
Scanner::kNoSourcePos, |
Token::kNE, |
load_error_param, |
- new (I) LiteralNode(Scanner::kNoSourcePos, |
+ new (Z) LiteralNode(Scanner::kNoSourcePos, |
Object::null_instance())), |
error_ne_null_branch, |
NULL)); |
- LocalVariable* result = AddToPreambleNewTempVar(new(I) LoadLocalNode( |
+ LocalVariable* result = AddToPreambleNewTempVar(new(Z) LoadLocalNode( |
Scanner::kNoSourcePos, result_param)); |
- result_ = new(I) LoadLocalNode(Scanner::kNoSourcePos, result); |
+ result_ = new(Z) LoadLocalNode(Scanner::kNoSourcePos, result); |
} |
@@ -268,19 +270,19 @@ |
AstNode* result = NULL; |
const Token::Kind compare_logical_op = (logical_op == Token::kAND) ? |
Token::kEQ : Token::kNE; |
- SequenceNode* eval = new (I) SequenceNode( |
+ SequenceNode* eval = new (Z) SequenceNode( |
Scanner::kNoSourcePos, ChainNewScope(preamble_->scope())); |
SequenceNode* saved_preamble = preamble_; |
preamble_ = eval; |
result = Transform(right); |
preamble_ = saved_preamble; |
- IfNode* right_body = new(I) IfNode( |
+ IfNode* right_body = new(Z) IfNode( |
Scanner::kNoSourcePos, |
- new(I) ComparisonNode( |
+ new(Z) ComparisonNode( |
Scanner::kNoSourcePos, |
compare_logical_op, |
new_left, |
- new(I) LiteralNode(Scanner::kNoSourcePos, Bool::True())), |
+ new(Z) LiteralNode(Scanner::kNoSourcePos, Bool::True())), |
eval, |
NULL); |
preamble_->Add(right_body); |
@@ -289,7 +291,7 @@ |
LocalScope* AwaitTransformer::ChainNewScope(LocalScope* parent) { |
- return new (I) LocalScope( |
+ return new (Z) LocalScope( |
parent, parent->function_level(), parent->loop_level()); |
} |
@@ -304,11 +306,11 @@ |
new_right = Transform(node->right()); |
} |
LocalVariable* result = AddToPreambleNewTempVar( |
- new(I) BinaryOpNode(node->token_pos(), |
+ new(Z) BinaryOpNode(node->token_pos(), |
node->kind(), |
new_left, |
new_right)); |
- result_ = new(I) LoadLocalNode(Scanner::kNoSourcePos, result); |
+ result_ = new(Z) LoadLocalNode(Scanner::kNoSourcePos, result); |
} |
@@ -318,12 +320,12 @@ |
AstNode* new_left = Transform(node->left()); |
AstNode* new_right = Transform(node->right()); |
LocalVariable* result = AddToPreambleNewTempVar( |
- new(I) BinaryOpWithMask32Node(node->token_pos(), |
+ new(Z) BinaryOpWithMask32Node(node->token_pos(), |
node->kind(), |
new_left, |
new_right, |
node->mask32())); |
- result_ = new(I) LoadLocalNode(Scanner::kNoSourcePos, result); |
+ result_ = new(Z) LoadLocalNode(Scanner::kNoSourcePos, result); |
} |
@@ -331,11 +333,11 @@ |
AstNode* new_left = Transform(node->left()); |
AstNode* new_right = Transform(node->right()); |
LocalVariable* result = AddToPreambleNewTempVar( |
- new(I) ComparisonNode(node->token_pos(), |
+ new(Z) ComparisonNode(node->token_pos(), |
node->kind(), |
new_left, |
new_right)); |
- result_ = new(I) LoadLocalNode(Scanner::kNoSourcePos, result); |
+ result_ = new(Z) LoadLocalNode(Scanner::kNoSourcePos, result); |
} |
@@ -342,8 +344,8 @@ |
void AwaitTransformer::VisitUnaryOpNode(UnaryOpNode* node) { |
AstNode* new_operand = Transform(node->operand()); |
LocalVariable* result = AddToPreambleNewTempVar( |
- new(I) UnaryOpNode(node->token_pos(), node->kind(), new_operand)); |
- result_ = new(I) LoadLocalNode(Scanner::kNoSourcePos, result); |
+ new(Z) UnaryOpNode(node->token_pos(), node->kind(), new_operand)); |
+ result_ = new(Z) LoadLocalNode(Scanner::kNoSourcePos, result); |
} |
@@ -351,32 +353,32 @@ |
// |
void AwaitTransformer::VisitConditionalExprNode(ConditionalExprNode* node) { |
AstNode* new_condition = Transform(node->condition()); |
- SequenceNode* new_true = new (I) SequenceNode( |
+ SequenceNode* new_true = new (Z) SequenceNode( |
Scanner::kNoSourcePos, ChainNewScope(preamble_->scope())); |
SequenceNode* saved_preamble = preamble_; |
preamble_ = new_true; |
AstNode* new_true_result = Transform(node->true_expr()); |
- SequenceNode* new_false = new (I) SequenceNode( |
+ SequenceNode* new_false = new (Z) SequenceNode( |
Scanner::kNoSourcePos, ChainNewScope(preamble_->scope())); |
preamble_ = new_false; |
AstNode* new_false_result = Transform(node->false_expr()); |
preamble_ = saved_preamble; |
- IfNode* new_if = new(I) IfNode(Scanner::kNoSourcePos, |
+ IfNode* new_if = new(Z) IfNode(Scanner::kNoSourcePos, |
new_condition, |
new_true, |
new_false); |
preamble_->Add(new_if); |
LocalVariable* result = AddToPreambleNewTempVar( |
- new(I) ConditionalExprNode(Scanner::kNoSourcePos, |
+ new(Z) ConditionalExprNode(Scanner::kNoSourcePos, |
new_condition, |
new_true_result, |
new_false_result)); |
- result_ = new(I) LoadLocalNode(Scanner::kNoSourcePos, result); |
+ result_ = new(Z) LoadLocalNode(Scanner::kNoSourcePos, result); |
} |
void AwaitTransformer::VisitArgumentListNode(ArgumentListNode* node) { |
- ArgumentListNode* new_args = new(I) ArgumentListNode(node->token_pos()); |
+ ArgumentListNode* new_args = new(Z) ArgumentListNode(node->token_pos()); |
for (intptr_t i = 0; i < node->length(); i++) { |
new_args->Add(Transform(node->NodeAt(i))); |
} |
@@ -390,7 +392,7 @@ |
for (intptr_t i = 0; i < node->length(); i++) { |
new_elements.Add(Transform(node->ElementAt(i))); |
} |
- result_ = new(I) ArrayNode(node->token_pos(), node->type(), new_elements); |
+ result_ = new(Z) ArrayNode(node->token_pos(), node->type(), new_elements); |
} |
@@ -397,9 +399,9 @@ |
void AwaitTransformer::VisitStringInterpolateNode(StringInterpolateNode* node) { |
ArrayNode* new_value = Transform(node->value())->AsArrayNode(); |
LocalVariable* result = AddToPreambleNewTempVar( |
- new(I) StringInterpolateNode(node->token_pos(), |
+ new(Z) StringInterpolateNode(node->token_pos(), |
new_value)); |
- result_ = new(I) LoadLocalNode(Scanner::kNoSourcePos, result); |
+ result_ = new(Z) LoadLocalNode(Scanner::kNoSourcePos, result); |
} |
@@ -409,11 +411,11 @@ |
new_receiver = Transform(new_receiver); |
} |
LocalVariable* result = AddToPreambleNewTempVar( |
- new(I) ClosureNode(node->token_pos(), |
+ new(Z) ClosureNode(node->token_pos(), |
node->function(), |
new_receiver, |
node->scope())); |
- result_ = new(I) LoadLocalNode(Scanner::kNoSourcePos, result); |
+ result_ = new(Z) LoadLocalNode(Scanner::kNoSourcePos, result); |
} |
@@ -422,11 +424,11 @@ |
ArgumentListNode* new_args = |
Transform(node->arguments())->AsArgumentListNode(); |
LocalVariable* result = AddToPreambleNewTempVar( |
- new(I) InstanceCallNode(node->token_pos(), |
+ new(Z) InstanceCallNode(node->token_pos(), |
new_receiver, |
node->function_name(), |
new_args)); |
- result_ = new(I) LoadLocalNode(Scanner::kNoSourcePos, result); |
+ result_ = new(Z) LoadLocalNode(Scanner::kNoSourcePos, result); |
} |
@@ -434,10 +436,10 @@ |
ArgumentListNode* new_args = |
Transform(node->arguments())->AsArgumentListNode(); |
LocalVariable* result = AddToPreambleNewTempVar( |
- new(I) StaticCallNode(node->token_pos(), |
+ new(Z) StaticCallNode(node->token_pos(), |
node->function(), |
new_args)); |
- result_ = new(I) LoadLocalNode(Scanner::kNoSourcePos, result); |
+ result_ = new(Z) LoadLocalNode(Scanner::kNoSourcePos, result); |
} |
@@ -445,11 +447,11 @@ |
ArgumentListNode* new_args = |
Transform(node->arguments())->AsArgumentListNode(); |
LocalVariable* result = AddToPreambleNewTempVar( |
- new(I) ConstructorCallNode(node->token_pos(), |
+ new(Z) ConstructorCallNode(node->token_pos(), |
node->type_arguments(), |
node->constructor(), |
new_args)); |
- result_ = new(I) LoadLocalNode(Scanner::kNoSourcePos, result); |
+ result_ = new(Z) LoadLocalNode(Scanner::kNoSourcePos, result); |
} |
@@ -456,10 +458,10 @@ |
void AwaitTransformer::VisitInstanceGetterNode(InstanceGetterNode* node) { |
AstNode* new_receiver = Transform(node->receiver()); |
LocalVariable* result = AddToPreambleNewTempVar( |
- new(I) InstanceGetterNode(node->token_pos(), |
+ new(Z) InstanceGetterNode(node->token_pos(), |
new_receiver, |
node->field_name())); |
- result_ = new(I) LoadLocalNode(Scanner::kNoSourcePos, result); |
+ result_ = new(Z) LoadLocalNode(Scanner::kNoSourcePos, result); |
} |
@@ -470,11 +472,11 @@ |
} |
AstNode* new_value = Transform(node->value()); |
LocalVariable* result = AddToPreambleNewTempVar( |
- new(I) InstanceSetterNode(node->token_pos(), |
+ new(Z) InstanceSetterNode(node->token_pos(), |
new_receiver, |
node->field_name(), |
new_value)); |
- result_ = new(I) LoadLocalNode(Scanner::kNoSourcePos, result); |
+ result_ = new(Z) LoadLocalNode(Scanner::kNoSourcePos, result); |
} |
@@ -484,12 +486,12 @@ |
new_receiver = Transform(new_receiver); |
} |
LocalVariable* result = AddToPreambleNewTempVar( |
- new(I) StaticGetterNode(node->token_pos(), |
+ new(Z) StaticGetterNode(node->token_pos(), |
new_receiver, |
node->is_super_getter(), |
node->cls(), |
node->field_name())); |
- result_ = new(I) LoadLocalNode(Scanner::kNoSourcePos, result); |
+ result_ = new(Z) LoadLocalNode(Scanner::kNoSourcePos, result); |
} |
@@ -500,19 +502,19 @@ |
} |
AstNode* new_value = Transform(node->value()); |
LocalVariable* result = AddToPreambleNewTempVar( |
- new(I) StaticSetterNode(node->token_pos(), |
+ new(Z) StaticSetterNode(node->token_pos(), |
new_receiver, |
node->cls(), |
node->field_name(), |
new_value)); |
- result_ = new(I) LoadLocalNode(Scanner::kNoSourcePos, result); |
+ result_ = new(Z) LoadLocalNode(Scanner::kNoSourcePos, result); |
} |
void AwaitTransformer::VisitLoadLocalNode(LoadLocalNode* node) { |
LocalVariable* result = AddToPreambleNewTempVar( |
- new(I) LoadLocalNode(node->token_pos(), &node->local())); |
- result_ = new(I) LoadLocalNode(Scanner::kNoSourcePos, result); |
+ new(Z) LoadLocalNode(node->token_pos(), &node->local())); |
+ result_ = new(Z) LoadLocalNode(Scanner::kNoSourcePos, result); |
} |
@@ -519,18 +521,18 @@ |
void AwaitTransformer::VisitStoreLocalNode(StoreLocalNode* node) { |
AstNode* new_value = Transform(node->value()); |
LocalVariable* result = AddToPreambleNewTempVar( |
- new(I) StoreLocalNode(node->token_pos(), |
+ new(Z) StoreLocalNode(node->token_pos(), |
&node->local(), |
new_value)); |
- result_ = new(I) LoadLocalNode(Scanner::kNoSourcePos, result); |
+ result_ = new(Z) LoadLocalNode(Scanner::kNoSourcePos, result); |
} |
void AwaitTransformer::VisitLoadStaticFieldNode(LoadStaticFieldNode* node) { |
LocalVariable* result = AddToPreambleNewTempVar( |
- new(I) LoadStaticFieldNode(node->token_pos(), |
+ new(Z) LoadStaticFieldNode(node->token_pos(), |
node->field())); |
- result_ = new(I) LoadLocalNode(Scanner::kNoSourcePos, result); |
+ result_ = new(Z) LoadLocalNode(Scanner::kNoSourcePos, result); |
} |
@@ -537,10 +539,10 @@ |
void AwaitTransformer::VisitStoreStaticFieldNode(StoreStaticFieldNode* node) { |
AstNode* new_value = Transform(node->value()); |
LocalVariable* result = AddToPreambleNewTempVar( |
- new(I) StoreStaticFieldNode(node->token_pos(), |
+ new(Z) StoreStaticFieldNode(node->token_pos(), |
node->field(), |
new_value)); |
- result_ = new(I) LoadLocalNode(Scanner::kNoSourcePos, result); |
+ result_ = new(Z) LoadLocalNode(Scanner::kNoSourcePos, result); |
} |
@@ -548,11 +550,11 @@ |
AstNode* new_array = Transform(node->array()); |
AstNode* new_index = Transform(node->index_expr()); |
LocalVariable* result = AddToPreambleNewTempVar( |
- new(I) LoadIndexedNode(node->token_pos(), |
+ new(Z) LoadIndexedNode(node->token_pos(), |
new_array, |
new_index, |
node->super_class())); |
- result_ = new(I) LoadLocalNode(Scanner::kNoSourcePos, result); |
+ result_ = new(Z) LoadLocalNode(Scanner::kNoSourcePos, result); |
} |
@@ -561,12 +563,12 @@ |
AstNode* new_index = Transform(node->index_expr()); |
AstNode* new_value = Transform(node->value()); |
LocalVariable* result = AddToPreambleNewTempVar( |
- new(I) StoreIndexedNode(node->token_pos(), |
+ new(Z) StoreIndexedNode(node->token_pos(), |
new_array, |
new_index, |
new_value, |
node->super_class())); |
- result_ = new(I) LoadLocalNode(Scanner::kNoSourcePos, result); |
+ result_ = new(Z) LoadLocalNode(Scanner::kNoSourcePos, result); |
} |
@@ -573,17 +575,17 @@ |
void AwaitTransformer::VisitAssignableNode(AssignableNode* node) { |
AstNode* new_expr = Transform(node->expr()); |
LocalVariable* result = AddToPreambleNewTempVar( |
- new(I) AssignableNode(node->token_pos(), |
+ new(Z) AssignableNode(node->token_pos(), |
new_expr, |
node->type(), |
node->dst_name())); |
- result_ = new(I) LoadLocalNode(Scanner::kNoSourcePos, result); |
+ result_ = new(Z) LoadLocalNode(Scanner::kNoSourcePos, result); |
} |
void AwaitTransformer::VisitLetNode(LetNode* node) { |
// TODO(mlippautz): Check initializers and their temps. |
- LetNode* result = new(I) LetNode(node->token_pos()); |
+ LetNode* result = new(Z) LetNode(node->token_pos()); |
for (intptr_t i = 0; i < node->nodes().length(); i++) { |
result->AddNode(Transform(node->nodes()[i])); |
} |
@@ -595,7 +597,7 @@ |
// TODO(mlippautz): Check if relevant. |
AstNode* new_exception = Transform(node->exception()); |
AstNode* new_stacktrace = Transform(node->stacktrace()); |
- result_ = new(I) ThrowNode(node->token_pos(), |
+ result_ = new(Z) ThrowNode(node->token_pos(), |
new_exception, |
new_stacktrace); |
} |