eclipse-openj9 / openj9

Eclipse OpenJ9: A Java Virtual Machine for OpenJDK that's optimized for small footprint, fast start-up, and high throughput. Builds on Eclipse OMR (https://github.com/eclipse/omr) and combines with the Extensions for OpenJDK for OpenJ9 repo.
Other
3.27k stars 721 forks source link

Re-evaluate JITServer known object table bypassed operations at the server #8717

Open a7ehuo opened 4 years ago

a7ehuo commented 4 years ago

A few KOT related optimizations/operations will be bypassed at the server [1][2] due to various reasons. They would require an re-evaluation in the near future in case if there is any potential performance impact.

  1. Currently there is no implementation/infrastructure in OMR code to send messages from the server to the client when VM access is required.

  2. Not directly related to KOT but the following VM access could be called at the server.


[1] eclipse/omr#4829 [2] eclipse/openj9#8527

dmitry-ten commented 3 years ago

Some of the bypassed operations can be re-enabled without too many additional changes.

All of these can be rewritten to use a recently added front-end query TR_J9VM::getObjectClassFromKnownObjectIndex. However, since these are defined in OpenJ9 only, we'd need to add a new OMR::ClassEnv query objectClassFromKnownObjectIndex that would be overridden in OpenJ9 and call the corresponding front-end query.