-
Notifications
You must be signed in to change notification settings - Fork 729
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
Turn on nestmates spec #2270
Turn on nestmates spec #2270
Conversation
Does something need to be updated for the cmake build process? |
I added a cmake cache variable for opt_valhalla_nestmates |
jenkins test sanity |
Turning this on will affect all versions of Java. It could affect the footprint of Java 8. Has there been any footprint analysis or performance analysis done for Java 8? Since the ROMClass format is changed, the shared classes generation number needs to be modified when opt_valhallaNestmates is enabled. It seems all |
It seems buildenv/jenkins/jobs/pull-requests/PullRequest-Sanity-JDK11-linux_ppc-64_cmprssptrs_le_valhalla_nestmates should be deleted as well. |
It might make sense to simply remove
|
or add something like the following rather than turning on the flag in all the spec files.
|
@pshipton I like that suggestion even better, but I still think the UMA property should be removed. |
191b662
to
3406120
Compare
@pshipton I've updated the PR |
runtime/shared_common/OSCache.hpp
Outdated
@@ -61,7 +61,7 @@ | |||
#define OSCACHE_LOWEST_ACTIVE_GEN 1 | |||
|
|||
/* Always increment this value by 2. For testing we use the (current generation - 1) and expect the cache contents to be compatible. */ | |||
#define OSCACHE_CURRENT_CACHE_GEN 35 | |||
#define OSCACHE_CURRENT_CACHE_GEN 37 |
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.
We need a different generation number when J9VM_OPT_VALHALLA_NESTMATES is defined, since the ROMClass format is different.
These functions also need to be modified to understand the new generation number. Its been suggested to change them to use if statements rather than a switch so they don't need to be changed again in the future.
SH_OSCache::getHeaderFieldOffsetForGen
SH_OSCacheFile::getMmapHeaderFieldOffsetForGen
SH_OSCachesysv::getSysvHeaderFieldOffsetForGen
runtime/jcl/uma/se9_exports.xml
Outdated
<export name="Java_java_lang_Class_getNestMembersImpl"> | ||
<include-if condition="spec.flags.opt_valhallaNestmates" /> | ||
</export> | ||
<export name="Java_java_lang_Class_getNestHostImpl"/> |
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.
This isn't going to compile/link on Windows without a definition of the function.
@AdamBrousseau what else is required to disable the PullRequest-Sanity-JDK11-linux_ppc-64_cmprssptrs_le_valhalla_nestmates build besides removing the files? Do we need to sync any changes? |
runtime/jcl/uma/se9_exports.xml
Outdated
<include-if condition="spec.flags.opt_valhallaNestmates" /> | ||
</export> | ||
<export name="Java_java_lang_Class_getNestHostImpl"/> | ||
<export name="Java_java_lang_Class_getNestMembersImpl"/> |
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.
These should be moved to se11_exports.xml for inclusion only in Java 11 (or newer). You should expect link errors in earlier version because you can't export functions that don't exist.
ab57cdb
to
eabcc87
Compare
We can archive/disable the Jenkins build(s), that should be all. |
runtime/jcl/uma/se11_exports.xml
Outdated
@@ -0,0 +1,25 @@ | |||
<!-- | |||
Copyright (c) 2018, 2018 IBM Corp. and others |
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.
Can you remove the unnecessary indentation of this copyright notice and trim trailing whitespace, please?
runtime/shared_common/OSCache.hpp
Outdated
#define OSCACHE_CURRENT_CACHE_GEN 35 | ||
#endif /* J9VM_OPT_VALHALLA_NESTMATES */ |
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.
@pshipton and I discussed this: the generation number does not need to be updated. We don't need to have a separate non-nestmate generation. The Java version (e.g. 8 or 11) is included in the name of the file used in addition to the generation so there won't be confusion between Java versions.
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.
Not incrementing the generation will cause a problem for any existing Java 11 shared caches, but since we don't have any regular builds of Java 11 yet, it seems the better choice to just go ahead without changing the cache generation.
@@ -563,12 +527,10 @@ SH_OSCacheFile::getMmapHeaderFieldOffsetForGen(UDATA headerGen, UDATA fieldID) | |||
} | |||
} | |||
} | |||
} else { | |||
Trc_SHR_Assert_ShouldNeverHappen(); |
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.
This isn't executed for as many situations as previously: Was that intentional?
c1f4f6a
to
4bd9e0a
Compare
Turn on nestmates flag and remove the optValhallaNestmates build definition. Signed-off-by: tajila <[email protected]>
@keithc-ca I've updated the PR |
Jenkins test extended plinux |
@tajila We should plan to put a mechanism in place so jvmti.h is generated with the appropriate content for the version of Java being built, perhaps along the lines of how |
@keithc-ca I have opened an issue to track this #2368. |
- Change aix,ppcle,390 - Remove ubuntu version - Update to hierarchical labels based on standardized schema defined in adoptium/infrastructure#93 - Also remove nestmates spec which was added by default (eclipse-openj9#2270) Issue eclipse-openj9#1562 [skip ci] Signed-off-by: Adam Brousseau <[email protected]>
Turn on nestmates spec
Signed-off-by: tajila [email protected]