Conversation

Replying to
I think it's more about language design and OS APIs than hardware support. userfaultfd and MREMAP_DONTUNMAP haven't been around for long and help a lot with compacting GC without requiring new hardware. MADV_FREE is useful too. Hardware has a lot of capabilities not being used.
1
2
Replying to and
There's much less overhead if nearly everything is on fully separate thread-local heaps unable to reference each other. So much of the overhead comes from sharing a huge heap between threads. Short-lived tasks would be able to completely avoid ever actually collecting garbage.