Chromium Code Reviews
DescriptionVM: [DBC] Fix more problems with lazy deopt.
Catch entries must record a lazy deoptimization descriptor because we patch catch entries if exception reaches a frame that has a pending lazy deoptimization.
StringInterpolate instruction was recording an incorrect lazy deoptimization environment - on DBC we drop arguments from it because it is a part of the return sequence and not a part of the calling sequence like on other architectures. This means one needs to pass correct argument count down to RecordAfterCall(Helper). StringInterpolate however has argument count of 0 but internally emits a call with a single argument leading to a mismatch if RecordAfterCall is used. Use
RecordAfterCallHelper instead.
BUG=
R=zra@google.com
Committed: https://github.com/dart-lang/sdk/commit/e763fac3b79275efecc863d93a65c3b3e74e4794
Patch Set 1 #
Total comments: 1
Messages
Total messages: 6 (2 generated)
|
||||||||||||||||||||||||||||