-
-
Notifications
You must be signed in to change notification settings - Fork 5.6k
Clean up of gc debugging and page management code #16385
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
Conversation
|
|
||
// A region is contiguous storage for up to REGION_PG_COUNT naturally aligned GC_PAGE_SZ pages | ||
// It uses a very naive allocator (see jl_gc_alloc_page & jl_gc_free_page) | ||
#if defined(_P64) && !defined(_COMPILER_MICROSOFT_) |
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.
I think we should be able to remove the msvc ifdef now if it's dynamically allocated
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.
Ah, yeah, forgot about this one....
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.
Done
Replace `PAGE_INDEX` with inline function.
I left the gcc workaround there. Unless someone can check on GCC 4.7 whether it is a problem. |
Also remove workaround for old GCC bug now that we require GCC 4.7
* Set region sizes based on `ulimit`. * Automatically shrink region size when allocation fails. Fix #10390
Clean up GC threading macros.
Remove the `memset(0xff)` when allocating a region.
lgtm, thanks. happy to see the current_heap macros go away too. |
This is a rewrite of #13968 with a few related clean ups.
jl_thread_heap_t
intojl_tls_states_t
. Remove some infrastructures for accessing TLS variables on a different thread that exists beforejl_tls_states_t
.I believe most of the changes should only affect slow path.