From: Erez P. <er...@cs...> - 2014-02-17 08:21:06
|
Hari, The use of a return barrier to allow concurrent stack scanning has appeared in our VEE'09 paper. It may be useful to look at it. Gabriel Kliot, Erez Petrank, and Bjarne Steensgaard. A Lock-Free, Concurrent, and Incremental Stack Scanning for Garbage Collectors. Proceedings of the 2009 ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments (VEE'09), March 2009. --Erez On Feb 14, 2014, at 5:48 AM, Hari Krishnan <hk...@ti...> wrote: > Hi all, > I am implementing a Reference Counting based garbage collector. This reference count implementation is concurrent as well as parallel capable of collecting cycles efficiently. Every-time an object is pointed by any stack root, I have to increment a separate counter in the object. This reference count implementation is mainly based on stack roots. So every object has a separate counter that counts the path from stack roots. So when any object get the stack root, I have to increment it and so when ever any object loses the support of stack roots I have to reduce that count. The whole algorithm uses the stack roots as the fundamental idea. I could use scanning of the stack in the collector part to identify the roots and increment it. But that complicates our algorithm and have to change algorithm to use deferred version of the algorithm which may or may not impact the correctness of the algorithm (Although I started working out the deferred version after realizing the features I wanted in Jikes RVM are too hard to implement by myself and consumes lot of time). So I needed return barrier to decrement the count of the object pointed by stack frame that is about to be popped and identify when an objects gains the stack root. I hope this clarifies my necessities. > > > On Thu, Feb 13, 2014 at 8:45 PM, Eliot Moss <mo...@cs...> wrote: > On 2/13/2014 2:57 PM, Hari Krishnan wrote: > > > 1. I want to know how to activate the return barriers and let the mutators know that a activation > > record is about to be popped from the stack. > > Return barriers are a comparatively new addition, so I am afraid I personally > can't help you about them -- but I'm sure someone else can! > > > 2. How can I find if an object is pointed by stack root at the time of assignment? > > You can't. Such assignments can get optimized in various ways that place the > item into registers, etc. You have to get by with occasional scanning of > frames or similar measures. > > Perhaps if you told us more about the particular kind of collector and your > goals we could be of more assistance. There's a lot of knowledge here, but > to tap into it you often have tell us the bigger picture. > > Regards -- Eliot Moss > > ------------------------------------------------------------------------------ > Android apps run on BlackBerry 10 > Introducing the new BlackBerry 10.2.1 Runtime for Android apps. > Now with support for Jelly Bean, Bluetooth, Mapview and more. > Get your Android app in front of a whole new audience. Start now. > http://pubads.g.doubleclick.net/gampad/clk?id=124407151&iu=/4140/ostg.clktrk > _______________________________________________ > Jikesrvm-researchers mailing list > Jik...@li... > https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers > > ------------------------------------------------------------------------------ > Android apps run on BlackBerry 10 > Introducing the new BlackBerry 10.2.1 Runtime for Android apps. > Now with support for Jelly Bean, Bluetooth, Mapview and more. > Get your Android app in front of a whole new audience. Start now. > http://pubads.g.doubleclick.net/gampad/clk?id=124407151&iu=/4140/ostg.clktrk_______________________________________________ > Jikesrvm-researchers mailing list > Jik...@li... > https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers |