-
Notifications
You must be signed in to change notification settings - Fork 734
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Override TR_ResolvedJ9Method::isCompilable() for JITServer #17931
Comments
Rectification: the code reads
so it's not This field is set in
I don't know if |
I see code that tests whether |
Another field that ResolveJ9Method looks at is
The method id corresponds to |
Interesting point:
There are also these two which are not captured by So, to recap:
|
Even "jdk/internal/loader/NativeLibraries.load()" is handled by Proposed solution is to simplify
|
Attn: @SajinaKandy |
TR_ResolvedJ9Method::isCompilable() accesses some fields from JavaVM and it's not safe to use as is in out-of-process compilations. As described in the issue eclipse-openj9#17931, the deleted "doPrivileged" code is redundant since the base class method TR_ResolvedJ9MethodBase::isCompilable() already filters those methods out. Closes: #eclipse-openj9#17931 Signed-off-by: Sajina Kandy <[email protected]>
TR_ResolvedJ9Method::isCompilable()
accesses some fields from JavaVM and it's not safe to use as is in out-of-process compilations.To fix this we have two alternatives:
isCompilable
information and store it into a boolean field which will be passed to the server. The disadvantage is that we have to precompute this field even though the optimizer may not ask about it.isCompilable
is asking for.Solution 2 should be preferred because it has less overhead. However, solution 2 is contingent on these JavaVM fields being populated exactly once before first compilation takes place:
javaVM->doPrivilegedWithContextMethodID1
javaVM->doPrivilegedWithContextMethodID2
javaVM->doPrivilegedWithContextPermissionMethodID1
javaVM->doPrivilegedWithContextPermissionMethodID2
javaVM->nativeLibrariesLoadMethodID
The text was updated successfully, but these errors were encountered: