You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Instantly share code, notes, and snippets.
🦀
Aleksey Kliger (λgeek)
lambdageek
🦀
I believe that programmers are most efficient in languages with expressive type systems that can directly encode program invariants.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
debugger-libs Mono.Debugger.Soft vs mono Mono.Debugger.Soft
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Description of GC thread state transitions and the mechanics of thread suspension
GC Safe, GC Unsafe, coop vs preemptive suspend and mechanics
I find the names gc safe/unsafe confusing.
"GC Safe": it is safe for the GC to modify this thread's view of the heap.
"GC Unsafe" it is not safe for the GC to modify this thread's view of the heap.
If a thread is in GC Safe mode, it does not have any references to unpinned managed references. So the thread can keep running as long as it doesn't try to interact with Mono.
If a thread is in GC Unsafe mode it is doing something that would interfere with the GC - maybe it's accessing a heap object that the GC needs to move, maybe it wants to take the GC lock because it is trying to allocate. etc.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters