RFR: 8134797: Remove explicit casts in CollectorPolicy hierarchy
Kim Barrett
kim.barrett at oracle.com
Tue Sep 1 01:04:46 UTC 2015
Please review this change to eliminate explicit casts within the
CollectorPolicy hierarchy. All of the casts being eliminated were
C-style casts; there are no C++ style casts in this hierarchy.
For downcasts to GenCollectorPolicy* the policy was being obtained
from a GenCollectedHeap, so we just use gen_policy instead of an
unchecked downcast of collector_policy.
For the remaining downcast (to ConcurrentMarkSweepPolicy*) we now
assert the corresponding is_xxx_policy and use as_xxx_policy to
perform the conversion.
Changed the explicit upcasts to CollectorPolicy* to implict
conversions. For the problematic one, moved to a scope where
G1CollectorPolicy is complete, so the now implicit conversion works.
I'm kind of surprised that one didn't cause obvious problems.
CR:
https://bugs.openjdk.java.net/browse/JDK-8134797
Webrev:
http://cr.openjdk.java.net/~kbarrett/8134797/webrev.00/
Testing:
jprt
More information about the hotspot-gc-dev
mailing list