| Index: runtime/vm/kernel_to_il.cc
|
| diff --git a/runtime/vm/kernel_to_il.cc b/runtime/vm/kernel_to_il.cc
|
| index 82ef7da838e8df10d32074e49db0bca6b33f5d66..990a4b7c411c9b5d458bc664f043408eb087a372 100644
|
| --- a/runtime/vm/kernel_to_il.cc
|
| +++ b/runtime/vm/kernel_to_il.cc
|
| @@ -1041,6 +1041,11 @@ dart::String& TranslationHelper::DartSymbol(String* content) const {
|
| Z, dart::Symbols::FromUTF8(thread_, content->buffer(), content->size()));
|
| }
|
|
|
| +dart::String& TranslationHelper::DartSymbol(const uint8_t* utf8_array,
|
| + intptr_t len) const {
|
| + return dart::String::ZoneHandle(
|
| + Z, dart::Symbols::FromUTF8(thread_, utf8_array, len));
|
| +}
|
|
|
| const dart::String& TranslationHelper::DartClassName(
|
| CanonicalName* kernel_klass) {
|
| @@ -4239,25 +4244,22 @@ ArgumentArray FlowGraphBuilder::GetArguments(int count) {
|
|
|
|
|
| void FlowGraphBuilder::VisitInvalidExpression(InvalidExpression* node) {
|
| - // The frontend will take care of emitting normal errors (like
|
| - // [NoSuchMethodError]s) and only emit [InvalidExpression]s in very special
|
| - // situations (e.g. an invalid annotation).
|
| - fragment_ = ThrowNoSuchMethodError();
|
| + fragment_ = streaming_flow_graph_builder_->BuildAt(node->kernel_offset());
|
| }
|
|
|
|
|
| void FlowGraphBuilder::VisitNullLiteral(NullLiteral* node) {
|
| - fragment_ = Constant(Instance::ZoneHandle(Z, Instance::null()));
|
| + fragment_ = streaming_flow_graph_builder_->BuildAt(node->kernel_offset());
|
| }
|
|
|
|
|
| void FlowGraphBuilder::VisitBoolLiteral(BoolLiteral* node) {
|
| - fragment_ = Constant(Bool::Get(node->value()));
|
| + fragment_ = streaming_flow_graph_builder_->BuildAt(node->kernel_offset());
|
| }
|
|
|
|
|
| void FlowGraphBuilder::VisitIntLiteral(IntLiteral* node) {
|
| - fragment_ = IntConstant(node->value());
|
| + fragment_ = streaming_flow_graph_builder_->BuildAt(node->kernel_offset());
|
| }
|
|
|
|
|
| @@ -4273,7 +4275,7 @@ void FlowGraphBuilder::VisitDoubleLiteral(DoubleLiteral* node) {
|
|
|
|
|
| void FlowGraphBuilder::VisitStringLiteral(StringLiteral* node) {
|
| - fragment_ = Constant(H.DartSymbol(node->value()));
|
| + fragment_ = streaming_flow_graph_builder_->BuildAt(node->kernel_offset());
|
| }
|
|
|
|
|
| @@ -5180,7 +5182,7 @@ void FlowGraphBuilder::VisitNot(Not* node) {
|
|
|
|
|
| void FlowGraphBuilder::VisitThisExpression(ThisExpression* node) {
|
| - fragment_ = LoadLocal(scopes_->this_variable);
|
| + fragment_ = streaming_flow_graph_builder_->BuildAt(node->kernel_offset());
|
| }
|
|
|
|
|
|
|