| Index: runtime/vm/flow_graph_compiler_dbc.cc
|
| diff --git a/runtime/vm/flow_graph_compiler_dbc.cc b/runtime/vm/flow_graph_compiler_dbc.cc
|
| index aa6efacef9624211156fd6862f2bbabd20512915..fad3bd807b5d51a30c724215ff89f10fefd468d8 100644
|
| --- a/runtime/vm/flow_graph_compiler_dbc.cc
|
| +++ b/runtime/vm/flow_graph_compiler_dbc.cc
|
| @@ -230,7 +230,13 @@ void FlowGraphCompiler::GenerateAssertAssignable(TokenPosition token_pos,
|
| }
|
| __ PushConstant(dst_type);
|
| __ PushConstant(dst_name);
|
| - __ AssertAssignable(__ AddConstant(test_cache));
|
| +
|
| + if (dst_type.IsMalformedOrMalbounded()) {
|
| + __ BadTypeError();
|
| + } else {
|
| + __ AssertAssignable(__ AddConstant(test_cache));
|
| + }
|
| +
|
| if (is_optimizing()) {
|
| // Register allocator does not think that our first input (also used as
|
| // output) needs to be kept alive across the call because that is how code
|
|
|