Open a7ehuo opened 4 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.
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.Currently there is no implementation/infrastructure in OMR code to send messages from the server to the client when VM access is required.
int32_t TR_InvariantArgumentPreexistence::perform()
void TR_InvariantArgumentPreexistence::processIndirectCall()
static bool addKnownObjectConstraints(OMR::ValuePropagation *vp, TR::Node *node)
Not directly related to KOT but the following VM access could be called at the server.
TR::Node * J9::TransformUtil::transformIndirectLoad(TR::Compilation *comp, TR::Node *node)
bool J9::TransformUtil::transformIndirectLoadChain()
[1] eclipse/omr#4829 [2] eclipse/openj9#8527