-
Notifications
You must be signed in to change notification settings - Fork 5.7k
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
8253899: Make IsClassUnloadingEnabled signature match specification #466
Conversation
👋 Welcome back vkempik! A progress list of the required criteria for merging this PR into |
@VladimirKempik The following labels will be automatically applied to this pull request:
When this pull request is ready to be reviewed, an "RFR" email will be sent to the corresponding mailing lists. If you would like to change these labels, use the /label pull request command. |
Webrevs
|
Mailing list message from David Holmes on hotspot-dev: Hi Vladimir, On 2/10/2020 1:09 am, Vladimir Kempik wrote:
Sorry I'm missing something - where in the specification is this? This Thanks, |
David, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Vladimir, it looks good to me.
@VladimirKempik This change now passes all automated pre-integration checks. ℹ️ This project also has non-automated pre-integration requirements. Please see the file CONTRIBUTING.md for details. After integration, the commit message for the final commit will be:
You can use pull request commands such as /summary, /contributor and /issue to adjust it as needed. At the time when this comment was updated there had been 139 new commits pushed to the
As there are no conflicts, your changes will automatically be rebased on top of these commits when integrating. If you prefer to avoid this automatic rebasing, please check the documentation for the /integrate command for further details. ➡️ To integrate this PR with the above commit message to the |
Hello Serguei, you are right, I was talking about this documents. |
Okay but look at the example that documentation gives:
The myInt is explicit, just as our "jboolean* enabled" is explicit. I think they key point is that the signature must end with "..." which it does. I don't see anything here that needs to be fixed. |
Hello David. On majority of platforms this would be fine. But on some platforms, variadic arguments and non variadic arguments are passed differently ( for example on macos-aarch64, variadic args are passed always on stack, non variadic on registers (and on stack for 9th+ arg) , that causes issues. If you still see no issues here we can delay and make this changeset part of JEP-391. Regards, Vladimir |
Mailing list message from David Holmes on hotspot-dev: Hi Vladimir, On 2/10/2020 5:37 pm, Vladimir Kempik wrote:
Okay - I see the potential for a problme here but ...
... this change actually goes against the example in the spec, so if you Cheers, |
Hello David I really believe the problem is in document here ( in examples) typedef jvmtiError (JNICALL jvmtiExtensionFunction) then in examples it declares the function not matching this spec. Is it a good idea to update the docs in a separate bug ? Thanks, Vladimir |
Mailing list message from David Holmes on hotspot-dev: Hi Vladimir, On 3/10/2020 1:29 am, Vladimir Kempik wrote:
I don't think it really matters one way or the other as long as any new Thanks, |
Hello David Regards, Vladimir |
/csr needed |
@dholmes-ora this pull request will not be integrated until the CSR request JDK-8254014 for issue JDK-8253899 has been approved. |
Mailing list message from David Holmes on hotspot-dev: On 5/10/2020 10:47 pm, Vladimir Kempik wrote:
Thanks. I have updated and reviewed the CSR request. David |
Hello Regards, Vladimir |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good.
Thanks,
David
/integrate |
@VladimirKempik Since your change was applied there have been 139 commits pushed to the
Your commit was automatically rebased without conflicts. Pushed as commit c7f0064. 💡 You may see a message that your pull request was closed with unmerged commits. This can be safely ignored. |
Please review this change for hotspot and one test.
There is few JVMTI callback/event functions in jdk which signature doesn't match specification.
for example:
static jvmtiError JNICALL IsClassUnloadingEnabled(const jvmtiEnv* env, jboolean* enabled, ...)
but according to jvmti specs it should be:
static jvmtiError JNICALL IsClassUnloadingEnabled(const jvmtiEnv* env, ...)
same with ClassUnload(jvmtiEnv* jvmti_env, JNIEnv* jni_env, const char* name, ...) in tests
for many years that didn't matter but with coming JEP-391 it becomes important to make it match the spec
https://developer.apple.com/documentation/apple_silicon/addressing_architectural_differences_in_your_macos_code
This commit makes the above mentioned functions to have signature matching jvmti specification
Progress
Testing
Issue
Reviewers
Download
$ git fetch https://git.openjdk.java.net/jdk pull/466/head:pull/466
$ git checkout pull/466