Hi Jim, Here is the updated webrev: http://cr.openjdk.java.net/~lbourges/marlin/marlin-8144446.3/
The fix looks correct, but one thing I would tend to do for robustness is > that in an error case, rather than duplicate the logic that was skipped > (which can get out of date if we later change how the bounds*Y variables > are calculated), I would just hardcode the bounds*Y variables to the worst > case min/max so that we do a complete fill on the variables. For error > cases it is less interesting to optimize out every memory store and more > interesting to make sure that we robustly restore the state. Another > option would be to move the bounds logic to a separate function that is > called in both the error and the success cases? > Fixed: I agree it is better to clear completely bucket arrays. > For the test, you can have multiple test tags and include an @ignore so > that the primary tests are run every time and the ones after the ignore are > only run if someone runs with "-ignore:run". That makes them runnable from > the command line without having to edit the test: > > @run main/othervm -mx512m CrashTest > @ignore tests that take a long time > @run main/othervm -mx512m CrashTest -slow > > The first line would be run in all cases, the second line would only be > run if they specify "-ignore:run" on the command line. > Fixed: I adopted your approach and it works well: ----------messages:(3/129)---------- command: main -mx512m CrashTest reason: User specified action: run main/othervm -mx512m CrashTest elapsed time (seconds): 8.318 ----------messages:(3/150)---------- command: main -ms4g -mx4g CrashTest -slow reason: User specified action: run main/othervm -ms4g -mx4g CrashTest -slow elapsed time (seconds): 49.777 > The only down side is that the tests after the @ignore are shown on the > final statistics as "errors" which seems kind of melodramatic, but that's > why the "-ignore:quiet" option exists. There are quite a few tests in the > java hierarchy with an @ignore tag, though, often talking about extreme > memory requirements so this is nothing new. This would be the first in the > sun/java2d hierarchy, though... > I enabled also the huge image test that consumes ~5Gb and it passes on my laptop (16Gb). Cheers, Laurent