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
8276215: Intrinsics matchers should handle native method flags better #6187
8276215: Intrinsics matchers should handle native method flags better #6187
Conversation
|
@shipilev this pull request can not be integrated into git checkout JDK-8276215-intrinsic-matchers-native
git fetch https://git.openjdk.java.net/jdk master
git merge FETCH_HEAD
# resolve conflicts and follow the instructions given by git merge
git commit -m "Merge master"
git push |
e207924
to
878c7e0
Compare
No takers? :) |
I find it very hard to evaluate this without understanding why ?native was used in the first place. It seems to indicate "could be native, don't care either way" and now we want a firm is_native or is_not_native. The implications of this are unclear to me. David |
As far as I can see, this predates OpenJDK history. I suspect But that convenience came with at least two problems: a) you would have to remember this is optional during the reviews, otherwise it leads to questions; b) you would sometimes care whether the method is native or not, for example when cobbling together intrinsics against native and non-native methods, for example in StrictMath. Tracking the native-ness more strictly makes it safer too: if we ever change a intrinsified method native-ness, |
I am for more strict checks proposed here.
Originally runtime code looked for intrinsic per method and it did not check for
@rose00 re-wrote it into current macro form but kept not checking
|
Okay - if @vnkozlov is okay with this then I am okay with it.
Thanks,
David
@shipilev This change now passes all automated pre-integration checks. 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 86 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.
|
I have merged from recent master locally to check that no conflicting intrinsics have appeared meanwhile. Looks clean. I shall be integrating this change then. /integrate |
Going to push as commit a3f710e.
Your commit was automatically rebased without conflicts. |
Found this while working on JDK-8276096. It seems when the actual method is native,
F_R
(regular) intrinsic definition still matches. I believe that happens because flag matchers check for native flags only optionally. It would be better to implement this more consistently. This requires a few simple adjustments to current intrinsics definitions. #6184 handled a largerStrictMath
oddity.Additional testing:
tier1
tier2
applications/ctw/modules
(which has a nice side-effect of touching a lot of JDK methods)Progress
Issue
Reviewers
Reviewing
Using
git
Checkout this PR locally:
$ git fetch https://git.openjdk.java.net/jdk pull/6187/head:pull/6187
$ git checkout pull/6187
Update a local copy of the PR:
$ git checkout pull/6187
$ git pull https://git.openjdk.java.net/jdk pull/6187/head
Using Skara CLI tools
Checkout this PR locally:
$ git pr checkout 6187
View PR using the GUI difftool:
$ git pr show -t 6187
Using diff file
Download this PR as a diff file:
https://git.openjdk.java.net/jdk/pull/6187.diff