There is a lot of subclassing of CodeBlob types done in SA to mimic hotspot, but most of it is unnecessary. The generic CodeBlob class can handle all support needed by most of the subclasses. I think the only subclasses we need to keep around around NMethod, RuntimeStub, and UpcallStub. They all have special support in SA. We may also want to keep around RuntimeBlob so RuntimeStub can continue to inherit from it and be consistent with hotspot, but it's not actually necessary.
One other thing to cleanup is the PStack support for CodeBlobs. It can just use CodeBlob.getName() rather than trying to figure out the type of the CodeBlob instance to print out type name. This allows us to get rid of most isXXX() APIs.
One other thing to cleanup is the PStack support for CodeBlobs. It can just use CodeBlob.getName() rather than trying to figure out the type of the CodeBlob instance to print out type name. This allows us to get rid of most isXXX() APIs.
- links to
-
Commit(master) openjdk/jdk/b45c32cd
-
Review(master) openjdk/jdk/23684