Files
sdk/runtime/vm
Vyacheslav Egorov 1fcc7384aa VM: [DBC] Fix lazy deoptimization after calls that return no values.
On DBC calls return value on the stack instead of a dedicate register but not all calls have a return value (e.g. CheckStack does not) and such calls don't push anything. Implementation of a lazy deopt however assumed that value is always present and tried to manually preserve it by popping and pushing it back after the frame was rewritten. This of course damaged the frame if we performed a lazy deoptimization after the call that did not push anything.

Instead of manually preserving result value value use frame translation to handle it. This allows to handle calls that return value and those that do not uniformly in the Deopt bytecode. Compiler takes care of creating the right deoptimization environment instead.

BUG=
R=zra@google.com

Review-Url: https://codereview.chromium.org/2587133002 .
2016-12-19 23:08:26 +01:00
..
2016-11-08 13:54:47 -08:00
2016-09-23 13:06:14 -07:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-11 12:22:32 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-10-26 00:26:03 -07:00
2016-10-26 00:26:03 -07:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-11 12:22:32 -08:00
2016-11-11 12:22:32 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 14:35:00 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-10-26 00:26:03 -07:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-10-26 00:26:03 -07:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00