-
Notifications
You must be signed in to change notification settings - Fork 3
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
Conditionally compile GC source files. Test stock build in CI. #73
Conversation
@@ -270,7 +270,10 @@ JL_DLLEXPORT void jl_genericmemory_copyto(jl_genericmemory_t *dest, char* destda | |||
_Atomic(void*) * dest_p = (_Atomic(void*)*)destdata; | |||
_Atomic(void*) * src_p = (_Atomic(void*)*)srcdata; | |||
jl_value_t *owner = jl_genericmemory_owner(dest); | |||
jl_gc_wb(owner, NULL); // FIXME: needs to be added here since the check below doesn't apply to MMTk | |||
// FIXME: The following should be a write barrier impl provided by the GC. |
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 should report this case to the Julia team. @udesou
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.
Good point. I added that comment there to keep track of it, so it would show up in a PR that includes sticky immix since IIRC we need that barrier for it to work.
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.
Yeah. The comment is helpful.
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.
LGTM. Since you're doing that, could you also remove the #ifdef
s from the .h
files such as gc-tls-mmtk.h
, gc-tls.h
, gc-stock.h
and gc-mmtk.h
. I'm not sure we need to change the Makefile to conditionally consider them as well, but they're imported conditionally already in julia_threads.h.
Update to mmtk/julia#73 -- conditionally include source files based on the GC implementation.
This PR changes the build script to only include source files for the GC implementation that is selected. The PR also removes unnecessary preprocessor `#ifdef` for related files. This PR adds a CI job to build with the stock GC. This helps us to make sure that the stock GC can build.
This PR changes the build script to only include source files for the GC implementation that is selected. The PR also removes unnecessary preprocessor `#ifdef` for related files. This PR adds a CI job to build with the stock GC. This helps us to make sure that the stock GC can build.
This PR changes the build script to only include source files for the GC implementation that is selected. The PR also removes unnecessary preprocessor `#ifdef` for related files. This PR adds a CI job to build with the stock GC. This helps us to make sure that the stock GC can build.
This PR changes the build script to only include source files for the GC implementation that is selected. The PR also removes unnecessary preprocessor `#ifdef` for related files. This PR adds a CI job to build with the stock GC. This helps us to make sure that the stock GC can build.
This PR changes the build script to only include source files for the GC implementation that is selected. The PR also removes unnecessary preprocessor `#ifdef` for related files. This PR adds a CI job to build with the stock GC. This helps us to make sure that the stock GC can build.
This PR changes the build script to only include source files for the GC implementation that is selected. The PR also removes unnecessary preprocessor `#ifdef` for related files. This PR adds a CI job to build with the stock GC. This helps us to make sure that the stock GC can build.
This PR changes the build script to only include source files for the GC implementation that is selected. The PR also removes unnecessary preprocessor
#ifdef
for related files.This PR adds a CI job to build with the stock GC. This helps us to make sure that the stock GC can build.