Skip to content

Conditionally compile GC source files. Test stock build in CI.#73

Merged
qinsoon merged 2 commits into
mmtk:devfrom
qinsoon:gc-srcs
Nov 27, 2024
Merged

Conditionally compile GC source files. Test stock build in CI.#73
qinsoon merged 2 commits into
mmtk:devfrom
qinsoon:gc-srcs

Conversation

@qinsoon
Copy link
Copy Markdown
Member

@qinsoon qinsoon commented Nov 26, 2024

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.

Comment thread src/genericmemory.c
_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.
Copy link
Copy Markdown
Member Author

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

Copy link
Copy Markdown

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.

Copy link
Copy Markdown
Member Author

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.

@qinsoon qinsoon marked this pull request as ready for review November 26, 2024 22:02
Copy link
Copy Markdown

@udesou udesou left a 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 #ifdefs 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.

@qinsoon qinsoon merged commit 97828e0 into mmtk:dev Nov 27, 2024
qinsoon added a commit to mmtk/mmtk-julia that referenced this pull request Nov 27, 2024
Update to mmtk/julia#73 -- conditionally include
source files based on the GC implementation.
udesou pushed a commit that referenced this pull request Nov 29, 2024
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.
udesou pushed a commit that referenced this pull request Dec 2, 2024
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.
udesou pushed a commit that referenced this pull request Dec 3, 2024
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.
udesou pushed a commit that referenced this pull request Dec 9, 2024
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.
udesou pushed a commit that referenced this pull request Dec 9, 2024
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.
udesou pushed a commit that referenced this pull request Dec 12, 2024
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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants