-
Notifications
You must be signed in to change notification settings - Fork 396
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
Move setmemoryEvaluator() from OMR to Openj9 #7513
base: master
Are you sure you want to change the base?
Conversation
Jenkins build plinux,aix |
@midronij : please see the CI build failures |
d3e5330
to
60e18e3
Compare
Jenkins build plinux,aix |
I believe the CI failures are happening because my change is dependent on this PR: eclipse-openj9/openj9#20461. I've updated the title/description accordingly |
There should not ever be dependancy from OMR code on J9 (or potentially any other downstream project). OMR should be able to compile standalone. You might be missing some 'empty' methods in OMR that J9 fully implement |
for the failures of missing compressObjectReferences, follow an example of contiguousArrayHeaderSizeInBytes() |
60e18e3
to
0dccd5b
Compare
@0xdaryl I rebased my branch and I'm now able to build sucessfully. When you have a moment can you please run the CI tests again? |
Jenkins build plinux,aix |
There are still failures in the CI builds. When you said that your build was successful, was that an OpenJ9 build? The compilers these CI builds are building and testing are either "compilertest" builds or "jitbuilder" builds. These are not connected to OpenJ9 at all. To reproduce this locally, if you look at your failed AIX job you can see the "cmake" command that was used to prepare the build (near the beginning of the console output). Further CMake info is here -> https://github.com/eclipse-omr/omr/blob/master/doc/BuildingWithCMake.md |
Signed-off-by: midronij <[email protected]>
0dccd5b
to
03529eb
Compare
As it turns out, After discussing the situation with @0xdaryl, we decided that the best solution may be to simply move |
Just FYI that no PR in OMR should ever depend on another in a downstream project such as OpenJ9 (they are independent open source projects). A downstream PR, however, may depend on an OMR PR. In your case, it is correct to say in OpenJ9 PR 20578 that it depends on OMR 7513, and the burden of enforcing that dependency falls on the OpenJ9 project (i.e., via a coordinated merge). I know what you mean though :-). |
UseOMR_GC_SPARSE_HEAP_ALLOCATION
instead ofJ9VM_GC_ENABLE_SPARSE_HEAP_ALLOCATION
insetmemoryEvaluator()
.The current implementation of
OMR::Power::setmemoryEvaluator()
has some OpenJ9 dependencies (namely when getting theclassDepthAndFlags
from the object'sJ9Class
to generate the runtime array check), and is only ever used by OpenJ9 to generate assembly code forUnsafe.setMemory()
. Thus, to avoid having to re-implementsetmemoryEvaluator()
to eliminate these OpenJ9 dependencies, we will move it over to OpenJ9 instead.Depends on eclipse-openj9/openj9#20578