The intrinsify_fill() code doesn’t mark a replaced control as dead. As suggested in the bug, I added an assert to get_ctrl_no_update() so we don’t use a loop as a control by accident. I also dropped lazy_replace_proj() which is obsolete AFAICT. http://cr.openjdk.java.net/~roland/8147645/webrev.00/ Roland.