By computing the RegMasks used to exclude caller saved registers only once, we can save some computation per C2 compilation. This saves about 27k instructions per compilation on x64, about 3% of the total compilation time for the stub code compiles that happen during startup. With 14 such compilations this saves around 380k instructions during bootstrap alone.
Proof-of-concept patch: http://cr.openjdk.java.net/~redestad/scratch/static_debug_masks.00/
Proof-of-concept patch: http://cr.openjdk.java.net/~redestad/scratch/static_debug_masks.00/