BCEscapeAnalyzer can conservatively mark all arguments as being returned by a method. When that happens, it includes arguments that are not the same as the return type. That's an issue for flattened values because they then don't have the same fields. The way I dealt with that corner case in my previous patch was broken because it didn't handle cases where in all the arguments, some have the same type as the return type, some not.
------------- Commit messages: - 8380197: [REDO] [lworld] OptimizePtrCompare is too conservative Changes: https://git.openjdk.org/valhalla/pull/2257/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=2257&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8380197 Stats: 287 lines in 4 files changed: 247 ins; 21 del; 19 mod Patch: https://git.openjdk.org/valhalla/pull/2257.diff Fetch: git fetch https://git.openjdk.org/valhalla.git pull/2257/head:pull/2257 PR: https://git.openjdk.org/valhalla/pull/2257
