Conservatively invalidating global properties from constant replacement if they are set with defineProperty, deleted or set with an accessor that varies at runtime, e.g. indexed setters. There is no performance regression on the octane benchmarks. For 8u40 I chose to use this conservative strategy, as it was simplest and it didn’t reduce performance for now. We’ll work on optimising indexed setters as part of the avatar performance project shortly anyway.
Webrev at: http://cr.openjdk.java.net/~lagergren/8062937/webrev/ <http://cr.openjdk.java.net/~lagergren/8062937/webrev/> (please ignore runopt.sh, where I happened to flip the x bit - I’ve reverted that) /M '
