Chromium Code Reviews| Index: runtime/vm/class_finalizer.cc |
| diff --git a/runtime/vm/class_finalizer.cc b/runtime/vm/class_finalizer.cc |
| index 83df7a90bdbff590ac223574eccbae48de1ed4c7..f9abf3a5f8bbd3fe29e9b31bd10dd2ff986d40d1 100644 |
| --- a/runtime/vm/class_finalizer.cc |
| +++ b/runtime/vm/class_finalizer.cc |
| @@ -845,8 +845,10 @@ void ClassFinalizer::CheckTypeArgumentBounds(const Class& cls, |
| TypeParameter::Cast(type_arg).bound()); |
| ResolveType(type_arg_cls, bound); |
| } |
| - if (!type_param.CheckBound(type_arg, instantiated_bound, &error) && |
| - error.IsNull()) { |
| + // This may be called only if type needs to be finalized, therefore |
| + // seems OK to allocate temporary type in old space. |
|
regis
2015/09/25 20:55:23
The comment is hard to read. I am not sure what is
srdjan
2015/09/25 21:15:59
Done.
|
| + if (!type_param.CheckBound(type_arg, instantiated_bound, |
| + &error, Heap::kOld) && error.IsNull()) { |
| // The bound cannot be checked at compile time; postpone to run time. |
| type_arg = BoundedType::New(type_arg, instantiated_bound, type_param); |
| arguments.SetTypeAt(offset + i, type_arg); |