Files
sdk/pkg/vm/lib
Alexander Markov bd2a4760f2 [vm/aot/tfa] Avoid conflicting names of temporary variables in signature tree shaker
When building scopes, VM looks for variables using their names in the
current scope. If signature tree shaking is applied multiple times,
then we can end up with multiple #argN variables with the same names
in the same scope (in constructor initializer list). After that,
VM crashes when using the incorrect variable.

This change removes names from temporary variables introduced by
signature tree shaking in order to avoid these conflicts.

Currently, TFA (and signature tree shaking) is applied multiple times
only when protobuf-aware tree shaking is enabled, and this bug doesn't
appear without protobuf-aware tree shaking.

Bug: b/156025352
Change-Id: Icc4e39a22711cecc0b4399acdd266e2ca2276a3d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/147620
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2020-05-11 20:08:27 +00:00
..