bf12e4d4209ac4e8fb98b4fd5193208adc7fe3ff |
|
05-Apr-2016 |
Vladimir Marko <vmarko@google.com> |
Optimizing: LoadString may not have any side effects. LoadString does not have any side effects if the string is known to be in the dex cache or it's a boot image string referenced directly, as specified by the string load kind. We need to clear the side effects for these cases to avoid a DCHECK() failure when such LoadString instruction ends up between a ClinitCheck and an instruction to which we want to merge that ClinitCheck. This may happen as a consequence of inlining, LICM and DCE as shown by a regression test. Bug: 27929914 (cherry picked from commit ace7a000a433ce4ecf94f30adea39c01a76fa936) Change-Id: Iaf9c63b6e58aae1e246b43ca52eea0b47a6ad565
|
ace7a000a433ce4ecf94f30adea39c01a76fa936 |
|
05-Apr-2016 |
Vladimir Marko <vmarko@google.com> |
Optimizing: LoadString may not have any side effects. LoadString does not have any side effects if the string is known to be in the dex cache or it's a boot image string referenced directly, as specified by the string load kind. We need to clear the side effects for these cases to avoid a DCHECK() failure when such LoadString instruction ends up between a ClinitCheck and an instruction to which we want to merge that ClinitCheck. This may happen as a consequence of inlining, LICM and DCE as shown by a regression test. Bug: 27929914 Change-Id: I7b3bddf7d8c79ce1828a4a751f1270cf2e3d61f0
|