4 ms·
You're definitely right and it's not an easy task. However, I think there's a sweet spot where you could implement a fairly nice boilerplate/framework that wou
by exDM69 10y ago
You're definitely right and it's not an easy task.
However, I think there's a sweet spot where you could implement a fairly nice boilerplate/framework that would be an 80% solution to the problem which would be a vast improvement over the current state.
The missing 20% would be language specifics and that would be either solved by forking the boilerplate code or writing some kind of callbacks for discovering references given a root object.
edit: Additionally, there's no simple example of using a GC with LLVM. It would be very helpful if there was, for example, a GC'd version of the Kaleidoscope language used in the LLVM tutorials. Even a trivial Lisp-style cons/car/cdr object system coupled with the simplest possible mark'n'sweep GC would be good.
- pjmlp 10y agoYou should check projects like the The Mu Micro Virtual Machine and Eclipse OMR http://microvm.github.io/ http://microvm.github.io/ http://projects.eclipse.org/projects/technology.omr http://projects.eclipse.org/projects/technology.omr The guys behind The Mu Micro Virtual Machine were the ones that did the L4 OS formal verification. Eclipse OMR is based on IBM's J9, they are making it language agnostic to support PHP, Python, Ruby and whatever else one can think of. However they aren't LLVM based and the caveats of a generic GC do still apply. I also agree with you, the problem is how much those 20% actually are in terms of effort. EDIT: typo where => were, on => one