Ilmir Usmanov
481dbee96a
Do not ignore copy operations while finding source instructions
...
in redundant locals elimination.
Since IgnoringCopySourceInterpreter ignores ALOADs and ASTOREs,
the source instruction of ALOAD K in {ALOAD N, ASTORE K, ALOAD K}
sequence is not ASTORE K. In this case we cannot simply replace K
with N, since there can be multiple {ALOAD N, ASTORE K} sequences
in separate branches. After replacement we get different stack
frames.
This change resolves this.
However, in ReturnUnitMethodTransformer we want to ignore copies
of the same GETSTATIC kotlin/Unit.INSTANCE, since we do not mess
with local variables and just replace ASTORE with ARETURN to help
tail-call optimization.
#KT-23373: Fixed
2018-03-23 14:32:48 +03:00
..
2017-08-08 18:52:21 +07:00
2017-11-14 14:49:26 +03:00
2017-05-05 14:01:50 +03:00
2018-03-22 22:12:27 +03:00
2017-11-27 17:01:18 +03:00
2018-03-23 14:32:48 +03:00
2017-05-05 14:01:50 +03:00
2017-11-14 14:49:26 +03:00
2018-02-08 17:47:37 +03:00
2018-03-16 16:26:14 +03:00
2017-05-05 14:01:50 +03:00
2017-11-20 19:19:24 +03:00
2017-08-08 18:52:21 +07:00
2017-05-05 14:01:50 +03:00
2017-05-05 14:01:50 +03:00
2017-05-05 14:01:50 +03:00
2017-07-20 10:53:32 +03:00
2017-05-05 14:01:50 +03:00
2017-05-05 14:01:50 +03:00
2017-05-05 14:01:50 +03:00
2017-05-05 14:01:50 +03:00
2017-05-05 14:01:50 +03:00
2017-05-05 14:01:50 +03:00
2018-02-06 21:14:37 +03:00
2017-07-04 19:41:48 +03:00
2017-05-05 14:01:50 +03:00
2017-05-03 10:42:07 +03:00
2018-03-16 16:26:11 +03:00
2017-05-05 14:01:50 +03:00
2017-05-05 14:01:50 +03:00
2017-05-05 14:01:50 +03:00
2017-05-05 14:01:50 +03:00
2017-05-05 14:01:50 +03:00
2017-05-05 14:01:50 +03:00
2017-05-05 14:01:50 +03:00
2017-05-05 14:01:50 +03:00
2017-05-05 14:01:50 +03:00
2017-05-05 14:01:50 +03:00
2017-11-27 17:01:18 +03:00
2017-05-05 14:01:50 +03:00
2017-08-30 16:19:43 +03:00
2017-08-30 16:19:43 +03:00
2017-05-05 14:01:50 +03:00
2017-05-05 14:01:50 +03:00
2017-05-05 14:01:50 +03:00
2017-05-05 14:01:50 +03:00
2017-05-05 14:01:50 +03:00
2017-05-05 14:01:50 +03:00
2017-05-05 14:01:50 +03:00
2018-02-21 19:32:50 +03:00
2017-05-05 14:01:50 +03:00
2017-05-05 14:01:50 +03:00
2017-05-05 14:01:50 +03:00
2017-05-05 14:01:50 +03:00
2017-05-05 14:01:50 +03:00
2017-05-05 14:01:50 +03:00
2017-05-22 14:51:04 +03:00
2017-05-22 14:51:04 +03:00
2017-05-05 14:01:50 +03:00
2017-05-05 14:01:50 +03:00
2017-05-05 14:01:50 +03:00
2017-05-05 14:01:50 +03:00
2017-05-05 14:01:50 +03:00
2017-05-05 14:01:50 +03:00
2017-05-05 14:01:50 +03:00
2017-05-05 14:01:50 +03:00
2017-05-05 14:01:50 +03:00
2017-05-05 14:01:50 +03:00
2017-05-05 14:01:50 +03:00
2017-05-05 14:01:50 +03:00
2017-05-05 14:01:50 +03:00
2017-05-05 14:01:50 +03:00
2017-05-05 14:01:50 +03:00
2017-05-05 14:01:50 +03:00
2017-05-05 14:01:50 +03:00
2017-05-05 14:01:50 +03:00
2017-05-05 14:01:50 +03:00
2017-05-05 14:01:50 +03:00
2017-05-05 14:01:50 +03:00
2017-05-05 14:01:50 +03:00
2017-05-05 14:01:50 +03:00
2017-10-11 17:35:32 +03:00
2017-10-04 13:39:48 +03:00
2017-05-05 14:01:50 +03:00
2017-05-05 14:01:50 +03:00
2017-05-05 14:01:50 +03:00
2017-05-05 14:01:50 +03:00
2017-05-05 14:01:50 +03:00
2017-05-05 14:01:50 +03:00
2017-05-05 14:01:50 +03:00
2017-05-05 14:01:50 +03:00