Kurt StephensNerd Up! | ||||||||||||||
garbage collectionThe Broken Promises of MRI/REE/YARV
Joe Damato drills deep into the implied contracts of the MRI/C API: http://timetobleed.com/the-broken-promises-of-mrireeyarv/The need for RB_GC_GUARD(v) is probably due to faulty register spilling in the MRI eval/thread/GC machinery; the PRE_GETCONTEXT() and POST_GETCONTEXT() macros in MRI eval.c might be the real problem. In contrast, the Boehm-Demers-Weiser (BDW) GC library manages to scan registers without demanding client code to explicitly flush pointers to the stack. However, in general, it is problematic, in language design practice to make GC contracts completely transparent to API client code. This difficultly is explicitly solved in the design of Lua: Ruby: MRI WeakRefs in C
Simple patch for C WeakRefs in MRI 1.9. http://redmine.ruby-lang.org/issues/show/4168 https://github.com/kstephens/ruby/commit/0942a955c649c39d3be4db13dbfb0ba... Ruby: Excellent MRI GC Slides
Excellent introduction to Ruby MRI’s GC and memory debugging: http://timetobleed.com/garbage-collection-slides-from-la-ruby-conference... New documentation for TM (Tredmill) Allocator
I’m planning a new release of TM v.04, originally outlined here: http://kurtstephens.com/research/tredmill New documentation is located at: http://kurtstephens.com/pub/tredmill/current/doc/html/index.html Code to follow shortly. Weak Data Structure Survey
Interesting paper on weak data structures and implementations: http://www.haible.de/bruno/papers/cs/weak/WeakDatastructures-writeup.htm... See also: TM : The implementation of a real-time, single-threaded, type-segmented, conservative garbage collector
Introduction
Full documentation is located at: http://kurtstephens.com/pub/tredmill/current/doc/html/index.html |
||||||||||||||
Recent comments
25 weeks 7 hours ago
35 weeks 1 day ago
1 year 1 week ago
1 year 17 weeks ago
1 year 51 weeks ago
2 years 11 weeks ago
2 years 14 weeks ago
2 years 14 weeks ago
2 years 14 weeks ago
2 years 14 weeks ago