Skip to content
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

some small gc optimizations #33828

Merged
merged 2 commits into from
Nov 13, 2019
Merged

some small gc optimizations #33828

merged 2 commits into from
Nov 13, 2019

Conversation

vtjnash
Copy link
Member

@vtjnash vtjnash commented Nov 12, 2019

No description provided.

@vtjnash vtjnash added the GC Garbage collector label Nov 12, 2019
@vtjnash vtjnash requested a review from yuyichao November 12, 2019 19:53
// TODO: verify that nargs <= nf (currently handled by front-end)
for (size_t i = 0; i < nargs; i++) {
const jl_cgval_t &rhs = argv[i];
if (jl_field_isptr(sty, i) && !rhs.isboxed)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What was the condition that required this previously? It was pre linear IR so I won't be surprised if it isn't needed anymore but I do remember it was quite non-obvious so I want to make sure it's not needed anymore...

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I thought it should be OK now because of linear IR, but I could be wrong. CI seems OK with it.

@yuyichao
Copy link
Contributor

After some off line discussion, we agreed that there are probably some easy case where this is needed previously. Right now, this change should be valid if we assume all objects (special types or not, big or small) are promoted under the same rule. I’m 90% sure that is the case now so it should be fine.......

@JeffBezanson JeffBezanson merged commit 08d1fe6 into master Nov 13, 2019
@JeffBezanson JeffBezanson deleted the jn/gc-opt1 branch November 13, 2019 20:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
GC Garbage collector
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants