<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<id>tag:old.nabble.com,2006:forum-3577</id>
	<title>Nabble - jikesrvm-researchers</title>
	<updated>2009-11-23T13:54:31Z</updated>
	<link rel="self" type="application/atom+xml" href="http://old.nabble.com/jikesrvm-researchers-f3577.xml" />
	<link rel="alternate" type="text/html" href="http://old.nabble.com/jikesrvm-researchers-f3577.html" />
	<subtitle type="html">Mailing list archive for jikesrvm-researchers</subtitle>
	
<entry>
	<id>tag:old.nabble.com,2006:post-26487407</id>
	<title>Re: [rvm-research] Using PIN in Jikes RVM 3.0.0</title>
	<published>2009-11-23T13:54:31Z</published>
	<updated>2009-11-23T13:54:31Z</updated>
	<author>
		<name>Will Benton-3</name>
	</author>
	<content type="html">Hi Raj,
&lt;br&gt;&lt;br&gt;It looks like you're trying to load a 64-bit pintool with a 32-bit version of pin, which won't work.
&lt;br&gt;&lt;br&gt;When I did this (about a year ago now), I had the best luck running under a 32-bit OS -- pin really got confused in the presence of multilib. &amp;nbsp;I also had a much easier time using native threads instead of m:n threads (native threads were only available as a prerelease at the time, but they are the default in 3.1.0.)
&lt;br&gt;&lt;br&gt;Since I was running dacapo under Pin, I also used a simple callback class that made bogus system calls before and after benchmark runs (as an out-of-band way to communicate with my pintool to start and stop collecting data). &amp;nbsp;The other thing you'll have to worry about is that Jikes maps out a large part of the virtual address space, so your pintool won't be able to allocate that much data. &amp;nbsp;If you need to deal with a lot of data, consider having your pintool pipe events to another application that can process them and keep them in memory.
&lt;br&gt;&lt;br&gt;Some details about what I did with Jikes and Pin are in chapter 5 of my dissertation, which is available here: &amp;nbsp;&lt;a href=&quot;http://web.willbenton.com/research/dissertation&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://web.willbenton.com/research/dissertation&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;best,
&lt;br&gt;wb
&lt;br&gt;&lt;br&gt;On Nov 19, 2009, at 11:05 PM, Rajkishore Barik wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi,
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I am trying to use PIN in Jikes RVM 3.0.0 (32bit application) &amp;nbsp;on a 64- 
&lt;br&gt;&amp;gt; bit Redhat-Linux OS.
&lt;br&gt;&amp;gt; I am a newbie for PIN. Can someone tell which version of PIN should I &amp;nbsp;
&lt;br&gt;&amp;gt; download and what
&lt;br&gt;&amp;gt; command should I use to instrument in jikesrvm ? I downloaded the 64- 
&lt;br&gt;&amp;gt; bit and used the following
&lt;br&gt;&amp;gt; command:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; rvm -wrap &amp;quot;$HOME/tools/pin-2.6/ia32/bin/pinbin -t $HOME/tools/pin-2.6/ 
&lt;br&gt;&amp;gt; source/tools/SimpleExamples/obj-intel64/icount.so -- &amp;nbsp;&amp;quot; Filename
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I get the following error:
&lt;br&gt;&amp;gt; E:Unable to load $HOME/tools/pin-2.6/source/tools/SimpleExamples/obj- 
&lt;br&gt;&amp;gt; intel64/icount.so
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Best Regards,
&lt;br&gt;&amp;gt; Raj
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; ------------------------------------------------------------------------------
&lt;br&gt;&amp;gt; Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;&amp;gt; trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;&amp;gt; what you do best, core application coding. Discover what's new with
&lt;br&gt;&amp;gt; Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; Jikesrvm-researchers mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26487407&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jikesrvm-researchers@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers&lt;/a&gt;&lt;/div&gt;&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Jikesrvm-researchers mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26487407&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jikesrvm-researchers@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-rvm-research--Using-PIN-in-Jikes-RVM-3.0.0-tp26477300p26487407.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26483893</id>
	<title>Re: [rvm-research] where object allocation on heap requested by a thread?</title>
	<published>2009-11-23T10:56:17Z</published>
	<updated>2009-11-23T10:56:17Z</updated>
	<author>
		<name>Eddie Aftandilian-2</name>
	</author>
	<content type="html">Hi,
&lt;br&gt;&lt;br&gt;An allocation in Jikes RVM looks like this for a scalar value (not an 
&lt;br&gt;array). &amp;nbsp;First, the compiler inserts a call to resolvedNewScalar in 
&lt;br&gt;org.jikesrvm.runtime.RuntimeEntrypoints in the compiled code. &amp;nbsp;Then, the 
&lt;br&gt;call chain looks like this:
&lt;br&gt;resolvedNewScalar in org.jikesrvm.runtime.RuntimeEntrypoints -&amp;gt;
&lt;br&gt;allocateScalar in org.jikesrvm.mm.mminterface.MemoryManager -&amp;gt;
&lt;br&gt;allocateSpace in org.jikesrvm.mm.mminterface.MemoryManager -&amp;gt;
&lt;br&gt;alloc in org.jikesrvm.mm.mminterface.Selected.Mutator
&lt;br&gt;&lt;br&gt;Selected.Mutator derives from whatever MMTk collector has been selected 
&lt;br&gt;in the compile-time configuration. &amp;nbsp;So for example in the production 
&lt;br&gt;configuration, it will call the alloc method in 
&lt;br&gt;org.mmtk.plan.generational.immix.GenImmixMutator.
&lt;br&gt;&lt;br&gt;-Eddie
&lt;br&gt;&lt;br&gt;pankajsejwal wrote:
&lt;br&gt;&amp;gt; I found out that with the help of eclipse it is not possible to find
&lt;br&gt;&amp;gt; references to allocation method of any mutator in any GC because it seems
&lt;br&gt;&amp;gt; like rvm and mmtk are two seperate folders.
&lt;br&gt;&amp;gt; I am trying to find the method where any thread tries to call mmtk(though it
&lt;br&gt;&amp;gt; has not been imported,only mm interface is there)to allocate an object
&lt;br&gt;&amp;gt; greater than its stack size on heap.
&lt;br&gt;&amp;gt; please guide me..
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Jikesrvm-researchers mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26483893&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jikesrvm-researchers@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/where-object-allocation-on-heap-requested-by-a-thread--tp26466402p26483893.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26479829</id>
	<title>Re: [rvm-research] Detailed warnings</title>
	<published>2009-11-23T07:08:30Z</published>
	<updated>2009-11-23T07:08:30Z</updated>
	<author>
		<name>David P Grove</name>
	</author>
	<content type="html">&lt;html&gt;&lt;body&gt;
&lt;p&gt;&lt;tt&gt;Luke Terry &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26479829&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ljt06@...&lt;/a&gt;&amp;gt; wrote on 11/20/2009 05:15:32 AM:&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; I've been doing modifications to the JikesRVM and after the build it &lt;br&gt;
&amp;gt; reports the number of warnings, but I cannot find the details of the &lt;br&gt;
&amp;gt; warnings anywhere.&lt;br&gt;
&amp;gt; Where/how do I view the warnings themselves?&lt;br&gt;
&amp;gt; &lt;br&gt;
&lt;/tt&gt;&lt;br&gt;
&lt;tt&gt;If the warnings are coming from the bootimage writing process, you'll be able to find them in a file called &lt;/tt&gt;&lt;tt&gt;BootImageWriterOutput.txt that should be sitting the same directory as the rvm image that you built.&lt;/tt&gt;&lt;br&gt;
&lt;br&gt;
&lt;tt&gt;--dave&lt;/tt&gt;&lt;br&gt;
&lt;br&gt;
&lt;/body&gt;&lt;/html&gt;&lt;br /&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br /&gt;_______________________________________________
&lt;br&gt;Jikesrvm-researchers mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26479829&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jikesrvm-researchers@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-rvm-research--Detailed-warnings-tp26440999p26479829.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26474082</id>
	<title>Re: [rvm-research] About the size of region and poll frequency</title>
	<published>2009-11-23T00:14:31Z</published>
	<updated>2009-11-23T00:14:31Z</updated>
	<author>
		<name>lltong</name>
	</author>
	<content type="html">lltong wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Thanks very much.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I remember you mentioned MMTk test harness before. Actually just now I 
&lt;br&gt;&amp;gt; was trying to play with it, unfortunately it fails. In 
&lt;br&gt;&amp;gt; org.mmtk.harness.Main, there import two classes, which cannot be found 
&lt;br&gt;&amp;gt; in the source code of RVM:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; import org.mmtk.harness.lang.parser.Parser;
&lt;br&gt;&amp;gt; import org.mmtk.harness.lang.parser.ParseException;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Am I wrong at any places?
&lt;/div&gt;Figured it out already, thanks.
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Thanks.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Robin Garner wrote:
&lt;br&gt;&amp;gt;&amp;gt; lltong wrote:
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; en, thanks very much.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; One more inquiry about the relation between poll() and acquire(). 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Take MarkCompact as an example, if I remove boolean heapFull in 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; poll(), it just won't collect. Yet it will work happily and 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; correctly if boolean mustCollect are removed. Could you explain why?
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Which benchmark, which heap size ?
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Obviously in the configuration you are testing, collection is 
&lt;br&gt;&amp;gt;&amp;gt; generally triggered by running up against a 'heap full' condition. &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; If you find a benchmark that allocates lots of large objects, and run 
&lt;br&gt;&amp;gt;&amp;gt; it in a very large heap, mustCollect will become important.
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; In my understanding, the headers of regions remain unchanged even 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; after GC. It means that, ever since the first collection, the whole 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; MC space is segregated into various regions allocationed in the 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; first mutation. These regions will not be zeroed and continue to be 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; reused in the following mutations.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Maybe Daniel could answer this - I'm not that familiar with MC.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; In BumpPointer, every slow-path allocation will first check whether 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; the nextRegion is null. If not, Allocation won't call 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Space.acquire() to draw a new region but reuse the old nextRegion. 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Because region headers won't be cleared once created, the nextRegion 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; is always not null. &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Not necessarily true. &amp;nbsp;In the SemiSpace collector, for example, each 
&lt;br&gt;&amp;gt;&amp;gt; of the spaces is discarded after each collection.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; You seem to be reasoning from the specific to the general - keep in 
&lt;br&gt;&amp;gt;&amp;gt; mind there are many collectors in MMTk, and it's designed as a 
&lt;br&gt;&amp;gt;&amp;gt; toolkit, ie with collectors in mind that may not yet exist.
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&amp;gt; you are right.
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Therefore, in the following mutations, Space.acquire() won't be 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; called. But Space.acquire() is the only function that call poll() to 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; evaluate the necessity of a GC. How GC can be triggered in this 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; situation?
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; MC is not the most stable of collectors. &amp;nbsp;I'd ask you to reproduce it 
&lt;br&gt;&amp;gt;&amp;gt; in 3.1.0, but MC doesn't work there. &amp;nbsp;Is MarkCompact important to you 
&lt;br&gt;&amp;gt;&amp;gt; ? Why not use SemiSpace or MarkSweep ?
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&amp;gt; yeah..I am working on improving MC algorithms.
&lt;br&gt;&amp;gt; I think I figured out the reason here. Actually after the whole space 
&lt;br&gt;&amp;gt; is segregated into regions, calling to acquire() comes to be scarce. 
&lt;br&gt;&amp;gt; Actually only two each mutation: the first allocation and the last 
&lt;br&gt;&amp;gt; allocation of this mutation. Like the following:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; [GC 8 Start 12.90 s &amp;nbsp; 25632KB -&amp;gt; 8000 KB &amp;nbsp; 931.59 ms]
&lt;br&gt;&amp;gt; acquire is called
&lt;br&gt;&amp;gt; &amp;nbsp; 1 9 7 4 8 5
&lt;br&gt;&amp;gt; + 5 2 6 4 8 5
&lt;br&gt;&amp;gt; &amp;nbsp; ------
&lt;br&gt;&amp;gt; = 7 2 3 9 7 0
&lt;br&gt;&amp;gt; check #9= 22
&lt;br&gt;&amp;gt; acquire is called
&lt;br&gt;&amp;gt; [GC 9 Start 14.52 s &amp;nbsp; 25632KB -&amp;gt; 7936 KB &amp;nbsp; 926.35 ms]
&lt;br&gt;&amp;gt; acquire is called
&lt;br&gt;&amp;gt; &amp;nbsp; 1 9 7 4 8 5
&lt;br&gt;&amp;gt; + 5 2 6 4 8 5
&lt;br&gt;&amp;gt; &amp;nbsp; ------
&lt;br&gt;&amp;gt; = 7 2 3 9 7 0
&lt;br&gt;&amp;gt; check #10= 23
&lt;br&gt;&amp;gt; acquire is called
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Upon the first allocation, initialRegion is reset to be zero thus 
&lt;br&gt;&amp;gt; require acquire() function to fetch the first region(which is created 
&lt;br&gt;&amp;gt; by previous mutations); While the NEXT_REGION_OFFSET of the last 
&lt;br&gt;&amp;gt; region is zero, therefore calls another acquire(), which results in a 
&lt;br&gt;&amp;gt; space full garbage collection.
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; I tried to add Log.writeln(&amp;quot;acquire is called&amp;quot;) after 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Space.acquire() function call in BumpPointer.allocSlowOnce(), to 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; record the usage of acquire() function. But this message didn't 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; display while running benchmarks. Could you tell me how to achieve 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; my goal?
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Which collector? which benchmark? &amp;nbsp;what heap size ?
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&amp;gt; Got the reason, I am using my revised version of BumpPointer.java but 
&lt;br&gt;&amp;gt; compiling the MC collectors with the original version : (
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Regards,
&lt;br&gt;Liangliang
&lt;br&gt;&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Jikesrvm-researchers mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26474082&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jikesrvm-researchers@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Help-in-implementing-on-the-fly-gc-tp26362082p26474082.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26473888</id>
	<title>Re: [rvm-research] About the size of region and poll frequency</title>
	<published>2009-11-22T23:51:25Z</published>
	<updated>2009-11-22T23:51:25Z</updated>
	<author>
		<name>lltong</name>
	</author>
	<content type="html">Thanks very much.
&lt;br&gt;&lt;br&gt;I remember you mentioned MMTk test harness before. Actually just now I 
&lt;br&gt;was trying to play with it, unfortunately it fails. In 
&lt;br&gt;org.mmtk.harness.Main, there import two classes, which cannot be found 
&lt;br&gt;in the source code of RVM:
&lt;br&gt;&lt;br&gt;import org.mmtk.harness.lang.parser.Parser;
&lt;br&gt;import org.mmtk.harness.lang.parser.ParseException;
&lt;br&gt;&lt;br&gt;Am I wrong at any places?
&lt;br&gt;&lt;br&gt;Thanks.
&lt;br&gt;&lt;br&gt;&lt;br&gt;Robin Garner wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; lltong wrote:
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; en, thanks very much.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; One more inquiry about the relation between poll() and acquire(). Take 
&lt;br&gt;&amp;gt;&amp;gt; MarkCompact as an example, if I remove boolean heapFull in poll(), it 
&lt;br&gt;&amp;gt;&amp;gt; just won't collect. Yet it will work happily and correctly if boolean 
&lt;br&gt;&amp;gt;&amp;gt; mustCollect are removed. Could you explain why?
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Which benchmark, which heap size ?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Obviously in the configuration you are testing, collection is generally 
&lt;br&gt;&amp;gt; triggered by running up against a 'heap full' condition. &amp;nbsp;If you find a 
&lt;br&gt;&amp;gt; benchmark that allocates lots of large objects, and run it in a very 
&lt;br&gt;&amp;gt; large heap, mustCollect will become important.
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; In my understanding, the headers of regions remain unchanged even after 
&lt;br&gt;&amp;gt;&amp;gt; GC. It means that, ever since the first collection, the whole MC space 
&lt;br&gt;&amp;gt;&amp;gt; is segregated into various regions allocationed in the first mutation. 
&lt;br&gt;&amp;gt;&amp;gt; These regions will not be zeroed and continue to be reused in the 
&lt;br&gt;&amp;gt;&amp;gt; following mutations.
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Maybe Daniel could answer this - I'm not that familiar with MC.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; In BumpPointer, every slow-path allocation will first check whether the 
&lt;br&gt;&amp;gt;&amp;gt; nextRegion is null. If not, Allocation won't call Space.acquire() to 
&lt;br&gt;&amp;gt;&amp;gt; draw a new region but reuse the old nextRegion. Because region headers 
&lt;br&gt;&amp;gt;&amp;gt; won't be cleared once created, the nextRegion is always not null. 
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Not necessarily true. &amp;nbsp;In the SemiSpace collector, for example, each of 
&lt;br&gt;&amp;gt; the spaces is discarded after each collection.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; You seem to be reasoning from the specific to the general - keep in mind 
&lt;br&gt;&amp;gt; there are many collectors in MMTk, and it's designed as a toolkit, ie 
&lt;br&gt;&amp;gt; with collectors in mind that may not yet exist.
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;/div&gt;you are right.
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; Therefore, in the following mutations, Space.acquire() won't be called. 
&lt;br&gt;&amp;gt;&amp;gt; But Space.acquire() is the only function that call poll() to evaluate 
&lt;br&gt;&amp;gt;&amp;gt; the necessity of a GC. How GC can be triggered in this situation?
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; MC is not the most stable of collectors. &amp;nbsp;I'd ask you to reproduce it in 
&lt;br&gt;&amp;gt; 3.1.0, but MC doesn't work there. &amp;nbsp;Is MarkCompact important to you ? 
&lt;br&gt;&amp;gt; Why not use SemiSpace or MarkSweep ?
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;/div&gt;yeah..I am working on improving MC algorithms.
&lt;br&gt;I think I figured out the reason here. Actually after the whole space is 
&lt;br&gt;segregated into regions, calling to acquire() comes to be scarce. 
&lt;br&gt;Actually only two each mutation: the first allocation and the last 
&lt;br&gt;allocation of this mutation. Like the following:
&lt;br&gt;&lt;br&gt;[GC 8 Start 12.90 s &amp;nbsp; 25632KB -&amp;gt; 8000 KB &amp;nbsp; 931.59 ms]
&lt;br&gt;acquire is called
&lt;br&gt;&amp;nbsp; &amp;nbsp;1 9 7 4 8 5
&lt;br&gt;&amp;nbsp;+ 5 2 6 4 8 5
&lt;br&gt;&amp;nbsp; &amp;nbsp;------
&lt;br&gt;&amp;nbsp;= 7 2 3 9 7 0
&lt;br&gt;check #9= 22
&lt;br&gt;acquire is called
&lt;br&gt;[GC 9 Start 14.52 s &amp;nbsp; 25632KB -&amp;gt; 7936 KB &amp;nbsp; 926.35 ms]
&lt;br&gt;acquire is called
&lt;br&gt;&amp;nbsp; &amp;nbsp;1 9 7 4 8 5
&lt;br&gt;&amp;nbsp;+ 5 2 6 4 8 5
&lt;br&gt;&amp;nbsp; &amp;nbsp;------
&lt;br&gt;&amp;nbsp;= 7 2 3 9 7 0
&lt;br&gt;check #10= 23
&lt;br&gt;acquire is called
&lt;br&gt;&lt;br&gt;Upon the first allocation, initialRegion is reset to be zero thus 
&lt;br&gt;require acquire() function to fetch the first region(which is created by 
&lt;br&gt;previous mutations); While the NEXT_REGION_OFFSET of the last region is 
&lt;br&gt;zero, therefore calls another acquire(), which results in a space full 
&lt;br&gt;garbage collection.
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; I tried to add Log.writeln(&amp;quot;acquire is called&amp;quot;) after Space.acquire() 
&lt;br&gt;&amp;gt;&amp;gt; function call in BumpPointer.allocSlowOnce(), to record the usage of 
&lt;br&gt;&amp;gt;&amp;gt; acquire() function. But this message didn't display while running 
&lt;br&gt;&amp;gt;&amp;gt; benchmarks. Could you tell me how to achieve my goal?
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Which collector? which benchmark? &amp;nbsp;what heap size ?
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;Got the reason, I am using my revised version of BumpPointer.java but 
&lt;br&gt;compiling the MC collectors with the original version : (
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Regards,
&lt;br&gt;Liangliang
&lt;br&gt;&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Jikesrvm-researchers mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26473888&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jikesrvm-researchers@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Help-in-implementing-on-the-fly-gc-tp26362082p26473888.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26473506</id>
	<title>Re: [rvm-research] About the size of region and poll frequency</title>
	<published>2009-11-22T22:59:32Z</published>
	<updated>2009-11-22T22:59:32Z</updated>
	<author>
		<name>Robin Garner</name>
	</author>
	<content type="html">lltong wrote:
&lt;br&gt;&amp;gt; en, thanks very much.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; One more inquiry about the relation between poll() and acquire(). Take 
&lt;br&gt;&amp;gt; MarkCompact as an example, if I remove boolean heapFull in poll(), it 
&lt;br&gt;&amp;gt; just won't collect. Yet it will work happily and correctly if boolean 
&lt;br&gt;&amp;gt; mustCollect are removed. Could you explain why?
&lt;br&gt;&lt;br&gt;Which benchmark, which heap size ?
&lt;br&gt;&lt;br&gt;Obviously in the configuration you are testing, collection is generally 
&lt;br&gt;triggered by running up against a 'heap full' condition. &amp;nbsp;If you find a 
&lt;br&gt;benchmark that allocates lots of large objects, and run it in a very 
&lt;br&gt;large heap, mustCollect will become important.
&lt;br&gt;&lt;br&gt;&amp;gt; In my understanding, the headers of regions remain unchanged even after 
&lt;br&gt;&amp;gt; GC. It means that, ever since the first collection, the whole MC space 
&lt;br&gt;&amp;gt; is segregated into various regions allocationed in the first mutation. 
&lt;br&gt;&amp;gt; These regions will not be zeroed and continue to be reused in the 
&lt;br&gt;&amp;gt; following mutations.
&lt;br&gt;&lt;br&gt;Maybe Daniel could answer this - I'm not that familiar with MC.
&lt;br&gt;&lt;br&gt;&amp;gt; In BumpPointer, every slow-path allocation will first check whether the 
&lt;br&gt;&amp;gt; nextRegion is null. If not, Allocation won't call Space.acquire() to 
&lt;br&gt;&amp;gt; draw a new region but reuse the old nextRegion. Because region headers 
&lt;br&gt;&amp;gt; won't be cleared once created, the nextRegion is always not null. 
&lt;br&gt;&lt;br&gt;Not necessarily true. &amp;nbsp;In the SemiSpace collector, for example, each of 
&lt;br&gt;the spaces is discarded after each collection.
&lt;br&gt;&lt;br&gt;You seem to be reasoning from the specific to the general - keep in mind 
&lt;br&gt;there are many collectors in MMTk, and it's designed as a toolkit, ie 
&lt;br&gt;with collectors in mind that may not yet exist.
&lt;br&gt;&lt;br&gt;&amp;gt; Therefore, in the following mutations, Space.acquire() won't be called. 
&lt;br&gt;&amp;gt; But Space.acquire() is the only function that call poll() to evaluate 
&lt;br&gt;&amp;gt; the necessity of a GC. How GC can be triggered in this situation?
&lt;br&gt;&lt;br&gt;MC is not the most stable of collectors. &amp;nbsp;I'd ask you to reproduce it in 
&lt;br&gt;3.1.0, but MC doesn't work there. &amp;nbsp;Is MarkCompact important to you ? 
&lt;br&gt;Why not use SemiSpace or MarkSweep ?
&lt;br&gt;&lt;br&gt;&amp;gt; I tried to add Log.writeln(&amp;quot;acquire is called&amp;quot;) after Space.acquire() 
&lt;br&gt;&amp;gt; function call in BumpPointer.allocSlowOnce(), to record the usage of 
&lt;br&gt;&amp;gt; acquire() function. But this message didn't display while running 
&lt;br&gt;&amp;gt; benchmarks. Could you tell me how to achieve my goal?
&lt;br&gt;&lt;br&gt;Which collector? which benchmark? &amp;nbsp;what heap size ?
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Thanks.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Best Regards,
&lt;br&gt;&amp;gt; Liangliang
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Robin Garner wrote:
&lt;br&gt;&amp;gt;&amp;gt; lltong wrote:
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Dear all,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 1) As I can understand, region is allocated by /chunkSize/ in 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; /BumpPointer.java/, detailed in the following:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; /Extent chunkSize = Word.fromIntZeroExtend(bytes).plus(CHUNK_MASK)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;.and(CHUNK_MASK.not()).toExtent();/
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; This expression rounds a request up to the next highest multiple of the 
&lt;br&gt;&amp;gt;&amp;gt; chunk size.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; if the current requested bytes are less than /CHUNK_MASK/ (32K - 1), the 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; bytes will be masked away. &amp;nbsp;Yet objects larger than 8KB is allocated 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; into LOS space, does that mean /MonotonePageResource/ &amp;nbsp;is cut equally 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; into 32K-size regions while satisfying allocations?
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; The code in BumpPointer makes no assumptions about how the Plan as a 
&lt;br&gt;&amp;gt;&amp;gt; whole is structured. &amp;nbsp;If you wanted to, you could construct a collector 
&lt;br&gt;&amp;gt;&amp;gt; using a single semispace, with no LOS.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; The code in BumpPointer is concerned with implementing an allocator that 
&lt;br&gt;&amp;gt;&amp;gt; can satisfy any allocation request (it's a *mechanism*). &amp;nbsp;The decision 
&lt;br&gt;&amp;gt;&amp;gt; to allocate large objects into the LOS is a *policy* decision, 
&lt;br&gt;&amp;gt;&amp;gt; independent of how BumpPointer is implemented.
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I see, a good design framework it is.
&lt;br&gt;&amp;gt;&amp;gt; A MonotonePageResource allocates pages monotonically, in the manner they 
&lt;br&gt;&amp;gt;&amp;gt; are requested. &amp;nbsp;There are several spaces that use MonotonePageResource, 
&lt;br&gt;&amp;gt;&amp;gt; and each of them consumes pages differently. &amp;nbsp;In the case of a 
&lt;br&gt;&amp;gt;&amp;gt; BumpPointer, pages are consumed in multiples of the BLOCK_MASK.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 2) in /PageResource.java/ there is an /reservePages(int pages)/ function 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; like this:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; /public final boolean reservePages(int pages) throws InlinePragma {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; lock();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; reserved = committed + pages;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; boolean satisfied = reserved &amp;lt;= pageBudget;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; unlock();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; return satisfied;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; }/
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; But the value of /pageBudget/ is passed from /DEFAULT_POLL_FREQUENCY/, 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; which equals to 32 pages. As I can see, it means that ever since 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; /reserved/ exceeds 32 pages, this function will always return /false /to 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; function /acquire(int pages)/ in /Space.java/. It means upon every 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; allocation the /poll/ function will be called. Why should we poll so 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; frequently?
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; At first glance, there looks to be a bug in this code - even if pages 
&lt;br&gt;&amp;gt;&amp;gt; are allocated in smaller chunks, we will poll for every allocation 
&lt;br&gt;&amp;gt;&amp;gt; beyond the first 'pageBudget' pages.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Allocating every 32 pages of allocation isn't particularly frequent, 
&lt;br&gt;&amp;gt;&amp;gt; given the cost of the poll function. &amp;nbsp;Remember this is called from the 
&lt;br&gt;&amp;gt;&amp;gt; slowpath, which is not particularly performance critical.
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&amp;gt; en..that makes sense.
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 3) Still in /poll/ function, it says collection will be triggered if 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; mustCollect or heapFull. /mustCollect /is true when /Space.acquire()/ 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; returns false, which means the allocation cursor reaches the sentinel of 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; the /PageResource/ associated with this /Space/. In my understanding, if 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; /mustCollect/ then heap must be full. I tried &amp;nbsp;to remove heapFull, then 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; GC starts works awkwardly. Can you tell me why heapFull is a must?
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; The poll() function has been refactored somewhat over time, and I think 
&lt;br&gt;&amp;gt;&amp;gt; it's easier to understand in the svn HEAD.
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&amp;gt; I see, unfortunately I need some codes which are written for Jikesrvm 
&lt;br&gt;&amp;gt; long long ago, so I have to resort to old versions.
&lt;br&gt;&amp;gt;&amp;gt; There are several conditions under which a GC can be required. &amp;nbsp;One is 
&lt;br&gt;&amp;gt;&amp;gt; that a given Space is full (which happened a lot before the introduction 
&lt;br&gt;&amp;gt;&amp;gt; of discontiguous spaces). &amp;nbsp;If 100MB (for example) is allocated to the 
&lt;br&gt;&amp;gt;&amp;gt; LOS, then despite the heap size settings, when 100MB of large objects 
&lt;br&gt;&amp;gt;&amp;gt; have been allocated, a collection must occur, no matter how much heap is 
&lt;br&gt;&amp;gt;&amp;gt; available in the other Spaces. &amp;nbsp;When a space is full, poll() is invoked 
&lt;br&gt;&amp;gt;&amp;gt; with mustCollect=true.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; On the other hand, if the heap size is set to a given size, then we must 
&lt;br&gt;&amp;gt;&amp;gt; collect when the cumulative size of all spaces reaches that total (or 
&lt;br&gt;&amp;gt;&amp;gt; before, to allow for copy reserve and other factors).
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&amp;gt; Thanks so much.
&lt;br&gt;&amp;gt;&amp;gt; hope this helps,
&lt;br&gt;&amp;gt;&amp;gt; Robin
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Thanks so much.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; ------------------------------------------------------------------------------
&lt;br&gt;&amp;gt;&amp;gt; Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;&amp;gt;&amp;gt; trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;&amp;gt;&amp;gt; what you do best, core application coding. Discover what's new with
&lt;br&gt;&amp;gt;&amp;gt; Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt;&amp;gt; Jikesrvm-researchers mailing list
&lt;br&gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26473506&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jikesrvm-researchers@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;/div&gt;&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Jikesrvm-researchers mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26473506&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jikesrvm-researchers@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Help-in-implementing-on-the-fly-gc-tp26362082p26473506.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26472523</id>
	<title>Re: [rvm-research] About the size of region and poll frequency</title>
	<published>2009-11-22T20:03:24Z</published>
	<updated>2009-11-22T20:03:24Z</updated>
	<author>
		<name>lltong</name>
	</author>
	<content type="html">en, thanks very much.
&lt;br&gt;&lt;br&gt;One more inquiry about the relation between poll() and acquire(). Take 
&lt;br&gt;MarkCompact as an example, if I remove boolean heapFull in poll(), it 
&lt;br&gt;just won't collect. Yet it will work happily and correctly if boolean 
&lt;br&gt;mustCollect are removed. Could you explain why?
&lt;br&gt;&lt;br&gt;In my understanding, the headers of regions remain unchanged even after 
&lt;br&gt;GC. It means that, ever since the first collection, the whole MC space 
&lt;br&gt;is segregated into various regions allocationed in the first mutation. 
&lt;br&gt;These regions will not be zeroed and continue to be reused in the 
&lt;br&gt;following mutations.
&lt;br&gt;&lt;br&gt;In BumpPointer, every slow-path allocation will first check whether the 
&lt;br&gt;nextRegion is null. If not, Allocation won't call Space.acquire() to 
&lt;br&gt;draw a new region but reuse the old nextRegion. Because region headers 
&lt;br&gt;won't be cleared once created, the nextRegion is always not null. 
&lt;br&gt;Therefore, in the following mutations, Space.acquire() won't be called. 
&lt;br&gt;But Space.acquire() is the only function that call poll() to evaluate 
&lt;br&gt;the necessity of a GC. How GC can be triggered in this situation?
&lt;br&gt;&lt;br&gt;I tried to add Log.writeln(&amp;quot;acquire is called&amp;quot;) after Space.acquire() 
&lt;br&gt;function call in BumpPointer.allocSlowOnce(), to record the usage of 
&lt;br&gt;acquire() function. But this message didn't display while running 
&lt;br&gt;benchmarks. Could you tell me how to achieve my goal?
&lt;br&gt;&lt;br&gt;Thanks.
&lt;br&gt;&lt;br&gt;Best Regards,
&lt;br&gt;Liangliang
&lt;br&gt;&lt;br&gt;Robin Garner wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; lltong wrote:
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; Dear all,
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; 1) As I can understand, region is allocated by /chunkSize/ in 
&lt;br&gt;&amp;gt;&amp;gt; /BumpPointer.java/, detailed in the following:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; /Extent chunkSize = Word.fromIntZeroExtend(bytes).plus(CHUNK_MASK)
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;.and(CHUNK_MASK.not()).toExtent();/
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; This expression rounds a request up to the next highest multiple of the 
&lt;br&gt;&amp;gt; chunk size.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; if the current requested bytes are less than /CHUNK_MASK/ (32K - 1), the 
&lt;br&gt;&amp;gt;&amp;gt; bytes will be masked away. &amp;nbsp;Yet objects larger than 8KB is allocated 
&lt;br&gt;&amp;gt;&amp;gt; into LOS space, does that mean /MonotonePageResource/ &amp;nbsp;is cut equally 
&lt;br&gt;&amp;gt;&amp;gt; into 32K-size regions while satisfying allocations?
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; The code in BumpPointer makes no assumptions about how the Plan as a 
&lt;br&gt;&amp;gt; whole is structured. &amp;nbsp;If you wanted to, you could construct a collector 
&lt;br&gt;&amp;gt; using a single semispace, with no LOS.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; The code in BumpPointer is concerned with implementing an allocator that 
&lt;br&gt;&amp;gt; can satisfy any allocation request (it's a *mechanism*). &amp;nbsp;The decision 
&lt;br&gt;&amp;gt; to allocate large objects into the LOS is a *policy* decision, 
&lt;br&gt;&amp;gt; independent of how BumpPointer is implemented.
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;/div&gt;&lt;br&gt;I see, a good design framework it is.
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; A MonotonePageResource allocates pages monotonically, in the manner they 
&lt;br&gt;&amp;gt; are requested. &amp;nbsp;There are several spaces that use MonotonePageResource, 
&lt;br&gt;&amp;gt; and each of them consumes pages differently. &amp;nbsp;In the case of a 
&lt;br&gt;&amp;gt; BumpPointer, pages are consumed in multiples of the BLOCK_MASK.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; 2) in /PageResource.java/ there is an /reservePages(int pages)/ function 
&lt;br&gt;&amp;gt;&amp;gt; like this:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; /public final boolean reservePages(int pages) throws InlinePragma {
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; lock();
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; reserved = committed + pages;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; boolean satisfied = reserved &amp;lt;= pageBudget;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; unlock();
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; return satisfied;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; }/
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; But the value of /pageBudget/ is passed from /DEFAULT_POLL_FREQUENCY/, 
&lt;br&gt;&amp;gt;&amp;gt; which equals to 32 pages. As I can see, it means that ever since 
&lt;br&gt;&amp;gt;&amp;gt; /reserved/ exceeds 32 pages, this function will always return /false /to 
&lt;br&gt;&amp;gt;&amp;gt; function /acquire(int pages)/ in /Space.java/. It means upon every 
&lt;br&gt;&amp;gt;&amp;gt; allocation the /poll/ function will be called. Why should we poll so 
&lt;br&gt;&amp;gt;&amp;gt; frequently?
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; At first glance, there looks to be a bug in this code - even if pages 
&lt;br&gt;&amp;gt; are allocated in smaller chunks, we will poll for every allocation 
&lt;br&gt;&amp;gt; beyond the first 'pageBudget' pages.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Allocating every 32 pages of allocation isn't particularly frequent, 
&lt;br&gt;&amp;gt; given the cost of the poll function. &amp;nbsp;Remember this is called from the 
&lt;br&gt;&amp;gt; slowpath, which is not particularly performance critical.
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;/div&gt;en..that makes sense.
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; 3) Still in /poll/ function, it says collection will be triggered if 
&lt;br&gt;&amp;gt;&amp;gt; mustCollect or heapFull. /mustCollect /is true when /Space.acquire()/ 
&lt;br&gt;&amp;gt;&amp;gt; returns false, which means the allocation cursor reaches the sentinel of 
&lt;br&gt;&amp;gt;&amp;gt; the /PageResource/ associated with this /Space/. In my understanding, if 
&lt;br&gt;&amp;gt;&amp;gt; /mustCollect/ then heap must be full. I tried &amp;nbsp;to remove heapFull, then 
&lt;br&gt;&amp;gt;&amp;gt; GC starts works awkwardly. Can you tell me why heapFull is a must?
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; The poll() function has been refactored somewhat over time, and I think 
&lt;br&gt;&amp;gt; it's easier to understand in the svn HEAD.
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;/div&gt;I see, unfortunately I need some codes which are written for Jikesrvm 
&lt;br&gt;long long ago, so I have to resort to old versions.
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; There are several conditions under which a GC can be required. &amp;nbsp;One is 
&lt;br&gt;&amp;gt; that a given Space is full (which happened a lot before the introduction 
&lt;br&gt;&amp;gt; of discontiguous spaces). &amp;nbsp;If 100MB (for example) is allocated to the 
&lt;br&gt;&amp;gt; LOS, then despite the heap size settings, when 100MB of large objects 
&lt;br&gt;&amp;gt; have been allocated, a collection must occur, no matter how much heap is 
&lt;br&gt;&amp;gt; available in the other Spaces. &amp;nbsp;When a space is full, poll() is invoked 
&lt;br&gt;&amp;gt; with mustCollect=true.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; On the other hand, if the heap size is set to a given size, then we must 
&lt;br&gt;&amp;gt; collect when the cumulative size of all spaces reaches that total (or 
&lt;br&gt;&amp;gt; before, to allow for copy reserve and other factors).
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;/div&gt;Thanks so much.
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; hope this helps,
&lt;br&gt;&amp;gt; Robin
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; Thanks so much.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ------------------------------------------------------------------------------
&lt;br&gt;&amp;gt; Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;&amp;gt; trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;&amp;gt; what you do best, core application coding. Discover what's new with
&lt;br&gt;&amp;gt; Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; Jikesrvm-researchers mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26472523&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jikesrvm-researchers@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;/div&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Regards,
&lt;br&gt;Liangliang
&lt;br&gt;&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Jikesrvm-researchers mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26472523&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jikesrvm-researchers@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Help-in-implementing-on-the-fly-gc-tp26362082p26472523.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26472078</id>
	<title>Re: [rvm-research] About the size of region and poll frequency</title>
	<published>2009-11-22T18:52:16Z</published>
	<updated>2009-11-22T18:52:16Z</updated>
	<author>
		<name>Robin Garner</name>
	</author>
	<content type="html">lltong wrote:
&lt;br&gt;&amp;gt; Dear all,
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 1) As I can understand, region is allocated by /chunkSize/ in 
&lt;br&gt;&amp;gt; /BumpPointer.java/, detailed in the following:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; /Extent chunkSize = Word.fromIntZeroExtend(bytes).plus(CHUNK_MASK)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;.and(CHUNK_MASK.not()).toExtent();/
&lt;br&gt;&lt;br&gt;This expression rounds a request up to the next highest multiple of the 
&lt;br&gt;chunk size.
&lt;br&gt;&lt;br&gt;&amp;gt; if the current requested bytes are less than /CHUNK_MASK/ (32K - 1), the 
&lt;br&gt;&amp;gt; bytes will be masked away. &amp;nbsp;Yet objects larger than 8KB is allocated 
&lt;br&gt;&amp;gt; into LOS space, does that mean /MonotonePageResource/ &amp;nbsp;is cut equally 
&lt;br&gt;&amp;gt; into 32K-size regions while satisfying allocations?
&lt;br&gt;&lt;br&gt;The code in BumpPointer makes no assumptions about how the Plan as a 
&lt;br&gt;whole is structured. &amp;nbsp;If you wanted to, you could construct a collector 
&lt;br&gt;using a single semispace, with no LOS.
&lt;br&gt;&lt;br&gt;The code in BumpPointer is concerned with implementing an allocator that 
&lt;br&gt;can satisfy any allocation request (it's a *mechanism*). &amp;nbsp;The decision 
&lt;br&gt;to allocate large objects into the LOS is a *policy* decision, 
&lt;br&gt;independent of how BumpPointer is implemented.
&lt;br&gt;&lt;br&gt;A MonotonePageResource allocates pages monotonically, in the manner they 
&lt;br&gt;are requested. &amp;nbsp;There are several spaces that use MonotonePageResource, 
&lt;br&gt;and each of them consumes pages differently. &amp;nbsp;In the case of a 
&lt;br&gt;BumpPointer, pages are consumed in multiples of the BLOCK_MASK.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; 2) in /PageResource.java/ there is an /reservePages(int pages)/ function 
&lt;br&gt;&amp;gt; like this:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; /public final boolean reservePages(int pages) throws InlinePragma {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; lock();
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; reserved = committed + pages;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; boolean satisfied = reserved &amp;lt;= pageBudget;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; unlock();
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; return satisfied;
&lt;br&gt;&amp;gt; &amp;nbsp; }/
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; But the value of /pageBudget/ is passed from /DEFAULT_POLL_FREQUENCY/, 
&lt;br&gt;&amp;gt; which equals to 32 pages. As I can see, it means that ever since 
&lt;br&gt;&amp;gt; /reserved/ exceeds 32 pages, this function will always return /false /to 
&lt;br&gt;&amp;gt; function /acquire(int pages)/ in /Space.java/. It means upon every 
&lt;br&gt;&amp;gt; allocation the /poll/ function will be called. Why should we poll so 
&lt;br&gt;&amp;gt; frequently?
&lt;/div&gt;&lt;br&gt;At first glance, there looks to be a bug in this code - even if pages 
&lt;br&gt;are allocated in smaller chunks, we will poll for every allocation 
&lt;br&gt;beyond the first 'pageBudget' pages.
&lt;br&gt;&lt;br&gt;Allocating every 32 pages of allocation isn't particularly frequent, 
&lt;br&gt;given the cost of the poll function. &amp;nbsp;Remember this is called from the 
&lt;br&gt;slowpath, which is not particularly performance critical.
&lt;br&gt;&lt;br&gt;&amp;gt; 3) Still in /poll/ function, it says collection will be triggered if 
&lt;br&gt;&amp;gt; mustCollect or heapFull. /mustCollect /is true when /Space.acquire()/ 
&lt;br&gt;&amp;gt; returns false, which means the allocation cursor reaches the sentinel of 
&lt;br&gt;&amp;gt; the /PageResource/ associated with this /Space/. In my understanding, if 
&lt;br&gt;&amp;gt; /mustCollect/ then heap must be full. I tried &amp;nbsp;to remove heapFull, then 
&lt;br&gt;&amp;gt; GC starts works awkwardly. Can you tell me why heapFull is a must?
&lt;br&gt;&lt;br&gt;The poll() function has been refactored somewhat over time, and I think 
&lt;br&gt;it's easier to understand in the svn HEAD.
&lt;br&gt;&lt;br&gt;There are several conditions under which a GC can be required. &amp;nbsp;One is 
&lt;br&gt;that a given Space is full (which happened a lot before the introduction 
&lt;br&gt;of discontiguous spaces). &amp;nbsp;If 100MB (for example) is allocated to the 
&lt;br&gt;LOS, then despite the heap size settings, when 100MB of large objects 
&lt;br&gt;have been allocated, a collection must occur, no matter how much heap is 
&lt;br&gt;available in the other Spaces. &amp;nbsp;When a space is full, poll() is invoked 
&lt;br&gt;with mustCollect=true.
&lt;br&gt;&lt;br&gt;On the other hand, if the heap size is set to a given size, then we must 
&lt;br&gt;collect when the cumulative size of all spaces reaches that total (or 
&lt;br&gt;before, to allow for copy reserve and other factors).
&lt;br&gt;&lt;br&gt;hope this helps,
&lt;br&gt;Robin
&lt;br&gt;&lt;br&gt;&amp;gt; Thanks so much.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Jikesrvm-researchers mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26472078&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jikesrvm-researchers@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Help-in-implementing-on-the-fly-gc-tp26362082p26472078.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26466402</id>
	<title>where object allocation on heap requested by a thread?</title>
	<published>2009-11-22T10:21:58Z</published>
	<updated>2009-11-22T10:21:58Z</updated>
	<author>
		<name>pankajsejwal</name>
	</author>
	<content type="html">I found out that with the help of eclipse it is not possible to find references to allocation method of any mutator in any GC because it seems like rvm and mmtk are two seperate folders.
&lt;br&gt;I am trying to find the method where any thread tries to call mmtk(though it has not been imported,only mm interface is there)to allocate an object greater than its stack size on heap.I am trying to seek information in RVMThread.java. Is it the right place.
&lt;br&gt;please guide me..</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/where-object-allocation-on-heap-requested-by-a-thread--tp26466402p26466402.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26465600</id>
	<title>[rvm-research] About the size of region and poll frequency</title>
	<published>2009-11-22T06:12:55Z</published>
	<updated>2009-11-22T06:12:55Z</updated>
	<author>
		<name>lltong</name>
	</author>
	<content type="html">Dear all,
&lt;br&gt;&lt;br&gt;1) As I can understand, region is allocated by /chunkSize/ in 
&lt;br&gt;/BumpPointer.java/, detailed in the following:
&lt;br&gt;&lt;br&gt;/Extent chunkSize = Word.fromIntZeroExtend(bytes).plus(CHUNK_MASK)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;.and(CHUNK_MASK.not()).toExtent();/
&lt;br&gt;&lt;br&gt;if the current requested bytes are less than /CHUNK_MASK/ (32K - 1), the 
&lt;br&gt;bytes will be masked away. &amp;nbsp;Yet objects larger than 8KB is allocated 
&lt;br&gt;into LOS space, does that mean /MonotonePageResource/ &amp;nbsp;is cut equally 
&lt;br&gt;into 32K-size regions while satisfying allocations?
&lt;br&gt;&lt;br&gt;2) in /PageResource.java/ there is an /reservePages(int pages)/ function 
&lt;br&gt;like this:
&lt;br&gt;&lt;br&gt;/public final boolean reservePages(int pages) throws InlinePragma {
&lt;br&gt;&amp;nbsp; &amp;nbsp; lock();
&lt;br&gt;&amp;nbsp; &amp;nbsp; reserved = committed + pages;
&lt;br&gt;&amp;nbsp; &amp;nbsp; boolean satisfied = reserved &amp;lt;= pageBudget;
&lt;br&gt;&amp;nbsp; &amp;nbsp; unlock();
&lt;br&gt;&amp;nbsp; &amp;nbsp; return satisfied;
&lt;br&gt;&amp;nbsp; }/
&lt;br&gt;&lt;br&gt;But the value of /pageBudget/ is passed from /DEFAULT_POLL_FREQUENCY/, 
&lt;br&gt;which equals to 32 pages. As I can see, it means that ever since 
&lt;br&gt;/reserved/ exceeds 32 pages, this function will always return /false /to 
&lt;br&gt;function /acquire(int pages)/ in /Space.java/. It means upon every 
&lt;br&gt;allocation the /poll/ function will be called. Why should we poll so 
&lt;br&gt;frequently?
&lt;br&gt;&lt;br&gt;3) Still in /poll/ function, it says collection will be triggered if 
&lt;br&gt;mustCollect or heapFull. /mustCollect /is true when /Space.acquire()/ 
&lt;br&gt;returns false, which means the allocation cursor reaches the sentinel of 
&lt;br&gt;the /PageResource/ associated with this /Space/. In my understanding, if 
&lt;br&gt;/mustCollect/ then heap must be full. I tried &amp;nbsp;to remove heapFull, then 
&lt;br&gt;GC starts works awkwardly. Can you tell me why heapFull is a must?
&lt;br&gt;&lt;br&gt;Thanks so much.
&lt;br&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Regards,
&lt;br&gt;Liangliang
&lt;br&gt;&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Jikesrvm-researchers mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26465600&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jikesrvm-researchers@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Help-in-implementing-on-the-fly-gc-tp26362082p26465600.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26445454</id>
	<title>Re: [rvm-research] Opt compiler options not working</title>
	<published>2009-11-20T07:43:15Z</published>
	<updated>2009-11-20T07:43:15Z</updated>
	<author>
		<name>srinivas13.2</name>
	</author>
	<content type="html">Thanks a lot,&lt;br&gt;By using TestHarness im now able to print hir and do other opt-related stuff. Like you had guessed, the test case was not big enough.&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Fri, Nov 20, 2009 at 10:45 AM, David P Grove &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26445454&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;groved@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;
&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;&lt;div&gt;
&lt;p&gt;If you are trying to write small test cases to see what the opt compiler is doing, you might want to learn about OptTestHarness (see the userguide, online at &lt;a href=&quot;http://jikesrvm.org/OptTestHarness&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://jikesrvm.org/OptTestHarness&lt;/a&gt;).   Its a small Java program we wrote to use as a testing harness during opt compiler development.  It allows you to force compilation of individual methods/classes in a fixed order and with different combintions of options.&lt;br&gt;

&lt;br&gt;
--dave&lt;br&gt;
&lt;/p&gt;&lt;/div&gt;&lt;br&gt;------------------------------------------------------------------------------&lt;br&gt;
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day&lt;br&gt;
trial. Simplify your report design, integration and deployment - and focus on&lt;br&gt;
what you do best, core application coding. Discover what&amp;#39;s new with&lt;br&gt;
Crystal Reports now.  &lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________&lt;br&gt;
Jikesrvm-researchers mailing list&lt;br&gt;
&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26445454&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jikesrvm-researchers@...&lt;/a&gt;&lt;br&gt;
&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers&lt;/a&gt;&lt;br&gt;
&lt;br&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;
&lt;br /&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br /&gt;_______________________________________________
&lt;br&gt;Jikesrvm-researchers mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26445454&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jikesrvm-researchers@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Opt-compiler-options-not-working-tp26422304p26445454.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26440999</id>
	<title>[rvm-research] Detailed warnings</title>
	<published>2009-11-20T02:15:32Z</published>
	<updated>2009-11-20T02:15:32Z</updated>
	<author>
		<name>Luke Terry</name>
	</author>
	<content type="html">Hi all,
&lt;br&gt;&lt;br&gt;I've been doing modifications to the JikesRVM and after the build it 
&lt;br&gt;reports the number of warnings, but I cannot find the details of the 
&lt;br&gt;warnings anywhere.
&lt;br&gt;Where/how do I view the warnings themselves?
&lt;br&gt;&lt;br&gt;Thanks,
&lt;br&gt;&lt;br&gt;Luke Terry
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Jikesrvm-researchers mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26440999&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jikesrvm-researchers@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-rvm-research--Detailed-warnings-tp26440999p26440999.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26428372</id>
	<title>Re: Help in implementing on-the-fly gc</title>
	<published>2009-11-19T23:34:43Z</published>
	<updated>2009-11-19T23:34:43Z</updated>
	<author>
		<name>lalli_maven</name>
	</author>
	<content type="html">The buffers i'm talking about are simple lists of ObjectReference s. There are many of them, Updates, youngObjects, roots, etc. By handshake, I trying to pause one mutator thread at a time and collect it's buffer values to the collector thread's buffers or change it's flags etc.
&lt;br&gt;&lt;br&gt;Thankyou for your reply, I now understand how the phases work. I am also kind of stuck on simple write barriers. I want to implement the copy-on-write mechanism. I tried to use the one in concMS but then figured it's already in this version. how should I use that one?</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Help-in-implementing-on-the-fly-gc-tp26362082p26428372.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26438519</id>
	<title>Re: [rvm-research] Opt compiler options not working</title>
	<published>2009-11-19T21:15:28Z</published>
	<updated>2009-11-19T21:15:28Z</updated>
	<author>
		<name>David P Grove</name>
	</author>
	<content type="html">&lt;html&gt;&lt;body&gt;
&lt;p&gt;If you are trying to write small test cases to see what the opt compiler is doing, you might want to learn about OptTestHarness (see the userguide, online at &lt;a href=&quot;http://jikesrvm.org/OptTestHarness&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://jikesrvm.org/OptTestHarness&lt;/a&gt;).   Its a small Java program we wrote to use as a testing harness during opt compiler development.  It allows you to force compilation of individual methods/classes in a fixed order and with different combintions of options.&lt;br&gt;
&lt;br&gt;
--dave&lt;br&gt;
&lt;/body&gt;&lt;/html&gt;&lt;br /&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br /&gt;_______________________________________________
&lt;br&gt;Jikesrvm-researchers mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26438519&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jikesrvm-researchers@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Opt-compiler-options-not-working-tp26422304p26438519.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26438462</id>
	<title>Re: [rvm-research] Opt compiler options not working</title>
	<published>2009-11-19T21:07:46Z</published>
	<updated>2009-11-19T21:07:46Z</updated>
	<author>
		<name>David P Grove</name>
	</author>
	<content type="html">&lt;html&gt;&lt;body&gt;
&lt;p&gt;Try -X:opt:verbose=true to see if the opt compiler is actually compiling anything.  My guess would be that your program is short running enough that the adaptive system never actually even invoked the opt compiler.&lt;br&gt;
&lt;br&gt;
--dave&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;tt&gt;&amp;quot;srinivas(shankar)&amp;quot; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26438462&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;srinivas13.2@...&lt;/a&gt;&amp;gt; wrote on 11/19/2009 09:04:38 PM:&lt;br&gt;
&lt;br&gt;
&amp;gt; From:&lt;/tt&gt;&lt;br&gt;
&lt;tt&gt;&amp;gt; &lt;br&gt;
&amp;gt; &amp;quot;srinivas(shankar)&amp;quot; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26438462&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;srinivas13.2@...&lt;/a&gt;&amp;gt;&lt;/tt&gt;&lt;br&gt;
&lt;tt&gt;&amp;gt; &lt;br&gt;
&amp;gt; To:&lt;/tt&gt;&lt;br&gt;
&lt;tt&gt;&amp;gt; &lt;br&gt;
&amp;gt; &amp;quot;General discussion of Jikes RVM design, implementation, issues, and&lt;br&gt;
&amp;gt; plans&amp;quot; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26438462&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jikesrvm-researchers@...&lt;/a&gt;&amp;gt;&lt;/tt&gt;&lt;br&gt;
&lt;tt&gt;&amp;gt; &lt;br&gt;
&amp;gt; Date:&lt;/tt&gt;&lt;br&gt;
&lt;tt&gt;&amp;gt; &lt;br&gt;
&amp;gt; 11/19/2009 09:05 PM&lt;/tt&gt;&lt;br&gt;
&lt;tt&gt;&amp;gt; &lt;br&gt;
&amp;gt; Subject:&lt;/tt&gt;&lt;br&gt;
&lt;tt&gt;&amp;gt; &lt;br&gt;
&amp;gt; Re: [rvm-research] Opt compiler options not working&lt;/tt&gt;&lt;br&gt;
&lt;tt&gt;&amp;gt; &lt;br&gt;
&amp;gt; The command i used was:&lt;br&gt;
&amp;gt; $rvm -X:opt:print_final_hir=true MyClass&lt;br&gt;
&amp;gt; here MyClass is a simple multi-threaded program intended to be a test case.&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; The other one was:&lt;br&gt;
&amp;gt; $rvm -X:opt:escape_simple_ipa=true MyClass&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; It just displays the ouput and quits - like the output obtained by &lt;br&gt;
&amp;gt; using plain $rvm MyClass without options.&lt;br&gt;
&lt;/tt&gt;&lt;br&gt;
&lt;tt&gt;&amp;gt; On Fri, Nov 20, 2009 at 10:22 AM, Robin Garner &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26438462&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;robin.garner@...&lt;/a&gt;&lt;br&gt;
&amp;gt; &amp;gt; wrote:&lt;/tt&gt;&lt;br&gt;
&lt;tt&gt;&amp;gt; Srinivas,&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; Could you send the full command line you're using to the list ?&lt;/tt&gt;&lt;br&gt;
&lt;tt&gt;&amp;gt; &lt;br&gt;
&amp;gt; srinivas13.2 wrote:&lt;br&gt;
&amp;gt; &amp;gt; hi all,&lt;br&gt;
&amp;gt; &amp;gt; None of the opt compiler options (like print_final_hir, print_final_lir etc)&lt;br&gt;
&amp;gt; &amp;gt; are giving me any output. Im unable to print the ir using these options.&lt;br&gt;
&amp;gt; &amp;gt; Also i included a VM.sysWriteln(&amp;quot;Entering SimpleEscape.java...&amp;quot;); at the&lt;br&gt;
&amp;gt; &amp;gt; beginning of simpleEscapeAnalysis() in  SimpleEscape.java and even&lt;br&gt;
&amp;gt; &amp;gt; explicitly set escape_simple_ipa=true but the line is not being printed on&lt;br&gt;
&amp;gt; &amp;gt; the screen, so i assume &amp;quot;escape_simple_ipa&amp;quot; isn't working as well. Is there&lt;br&gt;
&amp;gt; &amp;gt; any other flag that i dont know of which is to be set in order to perform&lt;br&gt;
&amp;gt; &amp;gt; escape analysis and escape transformations?&lt;br&gt;
&amp;gt; &amp;gt; Kindly help.&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; Regards,&lt;br&gt;
&amp;gt; &amp;gt; Srinivas Gopal&lt;br&gt;
&amp;gt; &lt;br&gt;
&lt;/tt&gt;&lt;br&gt;
&lt;tt&gt;&amp;gt; ------------------------------------------------------------------------------&lt;br&gt;
&amp;gt; Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day&lt;br&gt;
&amp;gt; trial. Simplify your report design, integration and deployment - and focus on&lt;br&gt;
&amp;gt; what you do best, core application coding. Discover what's new with&lt;br&gt;
&amp;gt; Crystal Reports now.  &lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;
&amp;gt; _______________________________________________&lt;br&gt;
&amp;gt; Jikesrvm-researchers mailing list&lt;br&gt;
&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26438462&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jikesrvm-researchers@...&lt;/a&gt;&lt;br&gt;
&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers&lt;/a&gt;&lt;/tt&gt;&lt;br&gt;
&lt;tt&gt;&amp;gt; ------------------------------------------------------------------------------&lt;br&gt;
&amp;gt; Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day &lt;br&gt;
&amp;gt; trial. Simplify your report design, integration and deployment - andfocus on &lt;br&gt;
&amp;gt; what you do best, core application coding. Discover what's new with&lt;br&gt;
&amp;gt; Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;
&amp;gt; _______________________________________________&lt;br&gt;
&amp;gt; Jikesrvm-researchers mailing list&lt;br&gt;
&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26438462&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jikesrvm-researchers@...&lt;/a&gt;&lt;br&gt;
&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers&lt;/a&gt;&lt;br&gt;
&lt;/tt&gt;&lt;/body&gt;&lt;/html&gt;&lt;br /&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br /&gt;_______________________________________________
&lt;br&gt;Jikesrvm-researchers mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26438462&amp;i=6&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jikesrvm-researchers@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Opt-compiler-options-not-working-tp26422304p26438462.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26477300</id>
	<title>[rvm-research] Using PIN in Jikes RVM 3.0.0</title>
	<published>2009-11-19T21:05:14Z</published>
	<updated>2009-11-19T21:05:14Z</updated>
	<author>
		<name>Rajkishore Barik-4</name>
	</author>
	<content type="html">Hi,
&lt;br&gt;&lt;br&gt;I am trying to use PIN in Jikes RVM 3.0.0 (32bit application) &amp;nbsp;on a 64- 
&lt;br&gt;bit Redhat-Linux OS.
&lt;br&gt;I am a newbie for PIN. Can someone tell which version of PIN should I &amp;nbsp;
&lt;br&gt;download and what
&lt;br&gt;command should I use to instrument in jikesrvm ? I downloaded the 64- 
&lt;br&gt;bit and used the following
&lt;br&gt;command:
&lt;br&gt;&lt;br&gt;rvm -wrap &amp;quot;$HOME/tools/pin-2.6/ia32/bin/pinbin -t $HOME/tools/pin-2.6/ 
&lt;br&gt;source/tools/SimpleExamples/obj-intel64/icount.so -- &amp;nbsp;&amp;quot; Filename
&lt;br&gt;&lt;br&gt;I get the following error:
&lt;br&gt;E:Unable to load $HOME/tools/pin-2.6/source/tools/SimpleExamples/obj- 
&lt;br&gt;intel64/icount.so
&lt;br&gt;&lt;br&gt;Best Regards,
&lt;br&gt;Raj
&lt;br&gt;&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Jikesrvm-researchers mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26477300&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jikesrvm-researchers@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-rvm-research--Using-PIN-in-Jikes-RVM-3.0.0-tp26477300p26477300.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26438440</id>
	<title>Re: [rvm-research] Opt compiler options not working</title>
	<published>2009-11-19T21:04:38Z</published>
	<updated>2009-11-19T21:04:38Z</updated>
	<author>
		<name>srinivas13.2</name>
	</author>
	<content type="html">The command i used was:&lt;br&gt;$rvm -X:opt:print_final_hir=true MyClass&lt;br&gt;here MyClass is a simple multi-threaded program intended to be a test case.&lt;br&gt;&lt;br&gt;The other one was:&lt;br&gt;$rvm -X:opt:escape_simple_ipa=true MyClass&lt;br&gt;
&lt;br&gt;It just displays the ouput and quits - like the output obtained by using plain $rvm MyClass without options.&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Fri, Nov 20, 2009 at 10:22 AM, Robin Garner &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26438440&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;robin.garner@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;
&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;Srinivas,&lt;br&gt;
&lt;br&gt;
Could you send the full command line you&amp;#39;re using to the list ?&lt;br&gt;
&lt;div class=&quot;im&quot;&gt;&lt;br&gt;
srinivas13.2 wrote:&lt;br&gt;
&amp;gt; hi all,&lt;br&gt;
&amp;gt; None of the opt compiler options (like print_final_hir, print_final_lir etc)&lt;br&gt;
&amp;gt; are giving me any output. Im unable to print the ir using these options.&lt;br&gt;
&amp;gt; Also i included a VM.sysWriteln(&amp;quot;Entering SimpleEscape.java...&amp;quot;); at the&lt;br&gt;
&amp;gt; beginning of simpleEscapeAnalysis() in  SimpleEscape.java and even&lt;br&gt;
&amp;gt; explicitly set escape_simple_ipa=true but the line is not being printed on&lt;br&gt;
&amp;gt; the screen, so i assume &amp;quot;escape_simple_ipa&amp;quot; isn&amp;#39;t working as well. Is there&lt;br&gt;
&amp;gt; any other flag that i dont know of which is to be set in order to perform&lt;br&gt;
&amp;gt; escape analysis and escape transformations?&lt;br&gt;
&amp;gt; Kindly help.&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; Regards,&lt;br&gt;
&amp;gt; Srinivas Gopal&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div class=&quot;h5&quot;&gt;------------------------------------------------------------------------------&lt;br&gt;
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day&lt;br&gt;
trial. Simplify your report design, integration and deployment - and focus on&lt;br&gt;
what you do best, core application coding. Discover what&amp;#39;s new with&lt;br&gt;
Crystal Reports now.  &lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;
_______________________________________________&lt;br&gt;
Jikesrvm-researchers mailing list&lt;br&gt;
&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26438440&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jikesrvm-researchers@...&lt;/a&gt;&lt;br&gt;
&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers&lt;/a&gt;&lt;br&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;
&lt;br /&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br /&gt;_______________________________________________
&lt;br&gt;Jikesrvm-researchers mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26438440&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jikesrvm-researchers@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Opt-compiler-options-not-working-tp26422304p26438440.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26438368</id>
	<title>Re: [rvm-research] Opt compiler options not working</title>
	<published>2009-11-19T20:52:05Z</published>
	<updated>2009-11-19T20:52:05Z</updated>
	<author>
		<name>Robin Garner</name>
	</author>
	<content type="html">Srinivas,
&lt;br&gt;&lt;br&gt;Could you send the full command line you're using to the list ?
&lt;br&gt;&lt;br&gt;srinivas13.2 wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; hi all,
&lt;br&gt;&amp;gt; None of the opt compiler options (like print_final_hir, print_final_lir etc)
&lt;br&gt;&amp;gt; are giving me any output. Im unable to print the ir using these options.
&lt;br&gt;&amp;gt; Also i included a VM.sysWriteln(&amp;quot;Entering SimpleEscape.java...&amp;quot;); at the
&lt;br&gt;&amp;gt; beginning of simpleEscapeAnalysis() in &amp;nbsp;SimpleEscape.java and even
&lt;br&gt;&amp;gt; explicitly set escape_simple_ipa=true but the line is not being printed on
&lt;br&gt;&amp;gt; the screen, so i assume &amp;quot;escape_simple_ipa&amp;quot; isn't working as well. Is there
&lt;br&gt;&amp;gt; any other flag that i dont know of which is to be set in order to perform
&lt;br&gt;&amp;gt; escape analysis and escape transformations? 
&lt;br&gt;&amp;gt; Kindly help.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Regards,
&lt;br&gt;&amp;gt; Srinivas Gopal
&lt;/div&gt;&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Jikesrvm-researchers mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26438368&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jikesrvm-researchers@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Opt-compiler-options-not-working-tp26422304p26438368.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26438401</id>
	<title>[rvm-research] questions for using PIN software</title>
	<published>2009-11-19T20:48:56Z</published>
	<updated>2009-11-19T20:48:56Z</updated>
	<author>
		<name>jz10</name>
	</author>
	<content type="html">Hi,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; We are trying to use PIN (an emulator) to get some statistics from &amp;nbsp;
&lt;br&gt;running JikeRVM upon it. Does anyone use PIN to profiling JikesRVM on &amp;nbsp;
&lt;br&gt;64-linux system? Since the JikesRVM we are using is 3.0.0, so we don't &amp;nbsp;
&lt;br&gt;have 64-bits version.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Thanks,
&lt;br&gt;&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Jikesrvm-researchers mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26438401&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jikesrvm-researchers@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-rvm-research--questions-for-using-PIN-software-tp26438401p26438401.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26422304</id>
	<title>Opt compiler options not working</title>
	<published>2009-11-19T20:41:41Z</published>
	<updated>2009-11-19T20:41:41Z</updated>
	<author>
		<name>srinivas13.2</name>
	</author>
	<content type="html">hi all,
&lt;br&gt;None of the opt compiler options (like print_final_hir, print_final_lir etc) are giving me any output. Im unable to print the ir using these options. Also i included a VM.sysWriteln(&amp;quot;Entering SimpleEscape.java...&amp;quot;); at the beginning of simpleEscapeAnalysis() in &amp;nbsp;SimpleEscape.java and even explicitly set escape_simple_ipa=true but the line is not being printed on the screen, so i assume &amp;quot;escape_simple_ipa&amp;quot; isn't working as well. Is there any other flag that i dont know of which is to be set in order to perform escape analysis and escape transformations? 
&lt;br&gt;Kindly help.
&lt;br&gt;&lt;br&gt;Regards,
&lt;br&gt;Srinivas Gopal</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Opt-compiler-options-not-working-tp26422304p26422304.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26436929</id>
	<title>Re: [rvm-research] What are the typical reasons if assertImmovable() fails</title>
	<published>2009-11-19T16:56:37Z</published>
	<updated>2009-11-19T16:56:37Z</updated>
	<author>
		<name>Robin Garner</name>
	</author>
	<content type="html">lltong wrote:
&lt;br&gt;&amp;gt; Dear All,
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; What happens if the following stack trace is dumped?
&lt;br&gt;&amp;gt; Thanks. By the way, I am using Jikes RVM 2.45, since I don't need the 
&lt;br&gt;&amp;gt; discontiguous mechanism.
&lt;br&gt;&lt;br&gt;Ouch. &amp;nbsp;I hope you have a better reason than that for using 2.4.5 - it's 
&lt;br&gt;pretty old and a lot has changed since then. &amp;nbsp;And you don't get the MMTk 
&lt;br&gt;test harness.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Lcom/ibm/JikesRVM/VM; sysFail(Ljava/lang/String;)V at line 1079
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;Lcom/ibm/JikesRVM/VM; 
&lt;br&gt;&amp;gt; _assertionFailure(Ljava/lang/String;Ljava/lang/String;)V at line 577
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;Lcom/ibm/JikesRVM/VM; _assert(ZLjava/lang/String;Ljava/lang/String;)V 
&lt;br&gt;&amp;gt; at line 558
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;Lcom/ibm/JikesRVM/VM; _assert(Z)V at line 538
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;Lorg/mmtk/vm/ScanThread; assertImmovable()V at line 553
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;Lorg/mmtk/vm/ScanThread; 
&lt;br&gt;&amp;gt; scanThreadInternal(Lorg/vmmagic/unboxed/Address;I)V at line 223
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;Lorg/mmtk/vm/ScanThread; 
&lt;br&gt;&amp;gt; startScan(Lorg/mmtk/plan/TraceLocal;ZLcom/ibm/JikesRVM/VM_Thread;Lorg/vmmagic/unboxed/Address;Lorg/vmmagic/unboxed/Address;Lorg/vmmagic/unboxed/Address;Lorg/vmmagic/unboxed/Address;Lorg/vmmagic/unboxed/Address;)V 
&lt;br&gt;&amp;gt; at line 200
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;Lorg/mmtk/vm/ScanThread; 
&lt;br&gt;&amp;gt; scanThread(Lcom/ibm/JikesRVM/VM_Thread;Lorg/mmtk/plan/TraceLocal;ZLorg/vmmagic/unboxed/Address;Lorg/vmmagic/unboxed/Address;)V 
&lt;br&gt;&amp;gt; at line 166
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;Lorg/mmtk/vm/ScanThread; 
&lt;br&gt;&amp;gt; scanThread(Lcom/ibm/JikesRVM/VM_Thread;Lorg/mmtk/plan/TraceLocal;Z)V at 
&lt;br&gt;&amp;gt; line 131
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;Lorg/mmtk/vm/Scanning; computeAllRoots(Lorg/mmtk/plan/TraceLocal;)V 
&lt;br&gt;&amp;gt; at line 236
&lt;br&gt;&amp;gt; 
&lt;/div&gt;&lt;br&gt;This stack trace says that while MMTk was scanning the stacks, it came 
&lt;br&gt;across an object that it thought should have been immovable, but which 
&lt;br&gt;wasn't. &amp;nbsp;Either this object should have been copied by precopy, but 
&lt;br&gt;wasn't, or it should have been allocated immortal and wasn't. &amp;nbsp;Read the 
&lt;br&gt;code for the method that threw the assertion, and then back down the 
&lt;br&gt;call stack to find out what's going on.
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Jikesrvm-researchers mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26436929&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jikesrvm-researchers@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Help-in-implementing-on-the-fly-gc-tp26362082p26436929.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26426716</id>
	<title>[rvm-research] What are the typical reasons if assertImmovable() fails</title>
	<published>2009-11-19T05:58:29Z</published>
	<updated>2009-11-19T05:58:29Z</updated>
	<author>
		<name>lltong</name>
	</author>
	<content type="html">Dear All,
&lt;br&gt;&lt;br&gt;What happens if the following stack trace is dumped?
&lt;br&gt;Thanks. By the way, I am using Jikes RVM 2.45, since I don't need the 
&lt;br&gt;discontiguous mechanism.
&lt;br&gt;&lt;br&gt;Lcom/ibm/JikesRVM/VM; sysFail(Ljava/lang/String;)V at line 1079
&lt;br&gt;&amp;nbsp; &amp;nbsp;Lcom/ibm/JikesRVM/VM; 
&lt;br&gt;_assertionFailure(Ljava/lang/String;Ljava/lang/String;)V at line 577
&lt;br&gt;&amp;nbsp; &amp;nbsp;Lcom/ibm/JikesRVM/VM; _assert(ZLjava/lang/String;Ljava/lang/String;)V 
&lt;br&gt;at line 558
&lt;br&gt;&amp;nbsp; &amp;nbsp;Lcom/ibm/JikesRVM/VM; _assert(Z)V at line 538
&lt;br&gt;&amp;nbsp; &amp;nbsp;Lorg/mmtk/vm/ScanThread; assertImmovable()V at line 553
&lt;br&gt;&amp;nbsp; &amp;nbsp;Lorg/mmtk/vm/ScanThread; 
&lt;br&gt;scanThreadInternal(Lorg/vmmagic/unboxed/Address;I)V at line 223
&lt;br&gt;&amp;nbsp; &amp;nbsp;Lorg/mmtk/vm/ScanThread; 
&lt;br&gt;startScan(Lorg/mmtk/plan/TraceLocal;ZLcom/ibm/JikesRVM/VM_Thread;Lorg/vmmagic/unboxed/Address;Lorg/vmmagic/unboxed/Address;Lorg/vmmagic/unboxed/Address;Lorg/vmmagic/unboxed/Address;Lorg/vmmagic/unboxed/Address;)V 
&lt;br&gt;at line 200
&lt;br&gt;&amp;nbsp; &amp;nbsp;Lorg/mmtk/vm/ScanThread; 
&lt;br&gt;scanThread(Lcom/ibm/JikesRVM/VM_Thread;Lorg/mmtk/plan/TraceLocal;ZLorg/vmmagic/unboxed/Address;Lorg/vmmagic/unboxed/Address;)V 
&lt;br&gt;at line 166
&lt;br&gt;&amp;nbsp; &amp;nbsp;Lorg/mmtk/vm/ScanThread; 
&lt;br&gt;scanThread(Lcom/ibm/JikesRVM/VM_Thread;Lorg/mmtk/plan/TraceLocal;Z)V at 
&lt;br&gt;line 131
&lt;br&gt;&amp;nbsp; &amp;nbsp;Lorg/mmtk/vm/Scanning; computeAllRoots(Lorg/mmtk/plan/TraceLocal;)V 
&lt;br&gt;at line 236
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Regards,
&lt;br&gt;Liangliang
&lt;br&gt;&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Jikesrvm-researchers mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26426716&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jikesrvm-researchers@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Help-in-implementing-on-the-fly-gc-tp26362082p26426716.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26421086</id>
	<title>Re: [rvm-research] Help in implementing on-the-fly gc</title>
	<published>2009-11-18T22:38:45Z</published>
	<updated>2009-11-18T22:38:45Z</updated>
	<author>
		<name>Robin Garner</name>
	</author>
	<content type="html">lalli_maven wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; I've solved the first problem by modifying the abstract classes. But still
&lt;br&gt;&amp;gt; stuck on the other three. Please help.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; lalli_maven wrote:
&lt;br&gt;&amp;gt;&amp;gt; I'm trying to implement an on-the-fly gc, which is mostly on the lines of
&lt;br&gt;&amp;gt;&amp;gt; the age oriented gc. I'm stuck on a lot of issues:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; 1. The phases of the gc have to be implemented in the MMTk/src group, but
&lt;br&gt;&amp;gt;&amp;gt; the handshakes have to be implemented in the RVMThread.java which is in
&lt;br&gt;&amp;gt;&amp;gt; rvm/src (not visible in MMTk/src), how will that work out?
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; 2. The buffer variables are &amp;quot;declared&amp;quot; in the collector code in the MMTk
&lt;br&gt;&amp;gt;&amp;gt; package, for which I also modified Selected.java file, but I kind of
&lt;br&gt;&amp;gt;&amp;gt; messed up everything. Where am I supposed to declare these variables?
&lt;/div&gt;&lt;br&gt;Which buffer variables ? &amp;nbsp;What are you trying to achieve by modifying them ?
&lt;br&gt;&lt;br&gt;&amp;gt;&amp;gt; 3. The way any gc works is such a way that it pushes a collection phase
&lt;br&gt;&amp;gt;&amp;gt; into a stack then pops it and executes it. Why? The docs of Phase.java (in
&lt;br&gt;&amp;gt;&amp;gt; MMTk/src) indicate that any handshaking we have to do is to be done here
&lt;br&gt;&amp;gt;&amp;gt; itself. How?
&lt;br&gt;&lt;br&gt;This was/is part of recasting the MMTk phase scheduler as a state 
&lt;br&gt;machine so that a concurrent GC phase can perform an increment of GC 
&lt;br&gt;then save and resume where it left off. &amp;nbsp;The scheduling algorithm for 
&lt;br&gt;ConcMS was:
&lt;br&gt;&lt;br&gt;1. Identify that a GC should be triggered.
&lt;br&gt;&lt;br&gt;2. Stop the world, enumerate roots and start the concurrent mark thread.
&lt;br&gt;&lt;br&gt;3. When either a) the concurrent mark thread has finished, or b) an 
&lt;br&gt;out-of-memory condition occurs
&lt;br&gt;&lt;br&gt;4. Stop the world, complete the mark phase (in parallel) and finish the GC.
&lt;br&gt;&lt;br&gt;So from state (3), there is a transition to either state (3) or (4), 
&lt;br&gt;requiring some mechanism for different threads to pick up the GC state 
&lt;br&gt;and continue processing. &amp;nbsp;Hence the phase stack.
&lt;br&gt;&lt;br&gt;Feel free to replace the phase stack with something more elegant :)
&lt;br&gt;&lt;br&gt;&lt;br&gt;The term 'handshake' is used in different ways in different places in 
&lt;br&gt;the code. &amp;nbsp;What do you mean by 'handshake' ?
&lt;br&gt;&lt;br&gt;&amp;gt;&amp;gt; 4. The run function in CollectorThread.java is very complicated. It's
&lt;br&gt;&amp;gt;&amp;gt; supposed to only do a hardhandshake-suspend all other threads, collect and
&lt;br&gt;&amp;gt;&amp;gt; then hardhandshake-resume all other threads. But what it is actually doing
&lt;br&gt;&amp;gt;&amp;gt; is calling many rendezvous functions with pointless integer parameters.
&lt;br&gt;&amp;gt;&amp;gt; What is that about? What I want to do is simply keep the parking function
&lt;br&gt;&amp;gt;&amp;gt; and keep the loop inside which only collect is called. How can I do that?
&lt;br&gt;&lt;br&gt;The integer parameters are not pointless. &amp;nbsp;They are used by error 
&lt;br&gt;reporting code, so that when JikesRVM hangs at a rendezvous point, the 
&lt;br&gt;error message tells you where the problem was. &amp;nbsp;They are also used to 
&lt;br&gt;ensure that two threads don't attempt to rendezvous at different points.
&lt;br&gt;&lt;br&gt;The ConcMS collector had a concurrent mark phase with two brief 
&lt;br&gt;stop-the-world phases at the beginning and end of every GC cycle. &amp;nbsp;Doing 
&lt;br&gt;true on-the-fly GC in JikesRVM will involve reimplementing much of the 
&lt;br&gt;code you are referring to. &amp;nbsp;It's not a small job, and a difficult one 
&lt;br&gt;even for people who have been working with JikesRVM for many years.
&lt;br&gt;&lt;br&gt;Regards,
&lt;br&gt;Robin
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Jikesrvm-researchers mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26421086&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jikesrvm-researchers@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Help-in-implementing-on-the-fly-gc-tp26362082p26421086.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26420020</id>
	<title>Re: Help in implementing on-the-fly gc</title>
	<published>2009-11-18T19:54:28Z</published>
	<updated>2009-11-18T19:54:28Z</updated>
	<author>
		<name>lalli_maven</name>
	</author>
	<content type="html">I've solved the first problem by modifying the abstract classes. But still stuck on the other three. Please help.
&lt;br&gt;&lt;blockquote class=&quot;quote light-black dark-border-color&quot;&gt;&lt;div class=&quot;quote light-border-color&quot;&gt;
&lt;div class=&quot;quote-author&quot; style=&quot;font-weight: bold;&quot;&gt;lalli_maven wrote:&lt;/div&gt;
&lt;div class=&quot;quote-message shrinkable-quote&quot;&gt;I'm trying to implement an on-the-fly gc, which is mostly on the lines of the age oriented gc. I'm stuck on a lot of issues:
&lt;br&gt;&lt;br&gt;1. The phases of the gc have to be implemented in the MMTk/src group, but the handshakes have to be implemented in the RVMThread.java which is in rvm/src (not visible in MMTk/src), how will that work out?
&lt;br&gt;&lt;br&gt;2. The buffer variables are &amp;quot;declared&amp;quot; in the collector code in the MMTk package, for which I also modified Selected.java file, but I kind of messed up everything. Where am I supposed to declare these variables?
&lt;br&gt;&lt;br&gt;3. The way any gc works is such a way that it pushes a collection phase into a stack then pops it and executes it. Why? The docs of Phase.java (in MMTk/src) indicate that any handshaking we have to do is to be done here itself. How?
&lt;br&gt;&lt;br&gt;4. The run function in CollectorThread.java is very complicated. It's supposed to only do a hardhandshake-suspend all other threads, collect and then hardhandshake-resume all other threads. But what it is actually doing is calling many rendezvous functions with pointless integer parameters. What is that about? What I want to do is simply keep the parking function and keep the loop inside which only collect is called. How can I do that?
&lt;br&gt;&lt;br&gt;Please help me!
&lt;/div&gt;
&lt;/div&gt;&lt;/blockquote&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Help-in-implementing-on-the-fly-gc-tp26362082p26420020.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26418429</id>
	<title>Re: [rvm-research] Problems in Partitioning for implementing Connectivity Based Garbage Collector!!</title>
	<published>2009-11-18T16:37:21Z</published>
	<updated>2009-11-18T16:37:21Z</updated>
	<author>
		<name>Robin Garner</name>
	</author>
	<content type="html">maverick.vickey wrote:
&lt;br&gt;&amp;gt; Hi Robin!!!
&lt;br&gt;&amp;gt; Actually I need to implement partitions that include classes &amp; objects in
&lt;br&gt;&amp;gt; bootimage, I don need to find out if my classes are there in bootimage or
&lt;br&gt;&amp;gt; not!! I need a way to retrieve classes &amp; objects in bootimage at some other
&lt;br&gt;&amp;gt; place, say package &amp;quot;org.jikesrvm&amp;quot;!!
&lt;br&gt;&amp;gt; Rahul Bhardwaj
&lt;br&gt;&amp;gt; Postgraduation Student
&lt;br&gt;&amp;gt; Computer Science
&lt;br&gt;&amp;gt; BITS-Pilani, India
&lt;br&gt;&lt;br&gt;Currently the boot image is mapped as a single immortal space, and is 
&lt;br&gt;treated by GC as a sparse array of roots. &amp;nbsp;If you want to change the way 
&lt;br&gt;the boot image is laid out, you will need to look at the class 
&lt;br&gt;BootImageWriter (in tools/bootImageWriter/src).
&lt;br&gt;&lt;br&gt;If you want to scan the boot image during GC rather than treating it as 
&lt;br&gt;roots, you should be able to change the constant Plan.SCAN_BOOT_IMAGE to 
&lt;br&gt;false, but you may well need to do some debugging as this is an untested 
&lt;br&gt;configuration, and has been for a few years.
&lt;br&gt;&lt;br&gt;If you want to change the layout of the boot image but still treat it as 
&lt;br&gt;a source of roots you'll need to consider the class 
&lt;br&gt;org.jikesrvm.mm.mmtk.ScanBootImage.
&lt;br&gt;&lt;br&gt;hth,
&lt;br&gt;Robin
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Robin Garner wrote:
&lt;br&gt;&amp;gt;&amp;gt; maverick.vickey wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; I am trying to implement Connectivity Based Garbage Collector. I am able
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; to
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; implement Partitioning for dynamically loaded classes but I am unable to
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; include classes &amp; objects in bootimage into the partitions!!
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Please help!!!
&lt;br&gt;&amp;gt;&amp;gt; Please describe the problem in more detail. &amp;nbsp;What classes have you 
&lt;br&gt;&amp;gt;&amp;gt; created ? &amp;nbsp;How do you know they don't show up in the boot image ?
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; And could you please include your affiliation when posting to this list. 
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; Thanks,
&lt;br&gt;&amp;gt;&amp;gt; Robin
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; --
&lt;br&gt;&amp;gt;&amp;gt; Robin Garner
&lt;br&gt;&amp;gt;&amp;gt; PhD Student
&lt;br&gt;&amp;gt;&amp;gt; Australian National University
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; ------------------------------------------------------------------------------
&lt;br&gt;&amp;gt;&amp;gt; Let Crystal Reports handle the reporting - Free Crystal Reports 2008
&lt;br&gt;&amp;gt;&amp;gt; 30-Day 
&lt;br&gt;&amp;gt;&amp;gt; trial. Simplify your report design, integration and deployment - and focus
&lt;br&gt;&amp;gt;&amp;gt; on 
&lt;br&gt;&amp;gt;&amp;gt; what you do best, core application coding. Discover what's new with
&lt;br&gt;&amp;gt;&amp;gt; Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt;&amp;gt; Jikesrvm-researchers mailing list
&lt;br&gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26418429&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jikesrvm-researchers@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; 
&lt;/div&gt;&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Jikesrvm-researchers mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26418429&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jikesrvm-researchers@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Problems-in-Partitioning-for-implementing-Connectivity-Based-Garbage-Collector%21%21-tp26377262p26418429.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26412381</id>
	<title>not able to import jikes files in test cases properly</title>
	<published>2009-11-18T09:44:45Z</published>
	<updated>2009-11-18T09:44:45Z</updated>
	<author>
		<name>pankajsejwal</name>
	</author>
	<content type="html">hi,
&lt;br&gt;i m tryin to call some jikes files for example Memorymanager.java imto my test cases using proper import statements and rules and since i am using eclipse when i place a dot with file name it shows all options(methods)usable but after tryin to run i get error like nullpointer exception and i have no idea to get over this problem??</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/not-able-to-import-jikes-files-in-test-cases-properly-tp26412381p26412381.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26387019</id>
	<title>Re: [rvm-research] Problems in Partitioning for implementing Connectivity Based Garbage Collector!!</title>
	<published>2009-11-17T01:48:20Z</published>
	<updated>2009-11-17T01:48:20Z</updated>
	<author>
		<name>maverick.vickey</name>
	</author>
	<content type="html">Hi Robin!!!
&lt;br&gt;Actually I need to implement partitions that include classes &amp; objects in bootimage, I don need to find out if my classes are there in bootimage or not!! I need a way to retrieve classes &amp; objects in bootimage at some other place, say package &amp;quot;org.jikesrvm&amp;quot;!!
&lt;br&gt;Rahul Bhardwaj
&lt;br&gt;Postgraduation Student
&lt;br&gt;Computer Science
&lt;br&gt;BITS-Pilani, India
&lt;br&gt;&lt;br&gt;&lt;blockquote class=&quot;quote light-black dark-border-color&quot;&gt;&lt;div class=&quot;quote light-border-color&quot;&gt;
&lt;div class=&quot;quote-author&quot; style=&quot;font-weight: bold;&quot;&gt;Robin Garner wrote:&lt;/div&gt;
&lt;div class=&quot;quote-message shrinkable-quote&quot;&gt;maverick.vickey wrote:
&lt;br&gt;&amp;gt; I am trying to implement Connectivity Based Garbage Collector. I am able to
&lt;br&gt;&amp;gt; implement Partitioning for dynamically loaded classes but I am unable to
&lt;br&gt;&amp;gt; include classes &amp; objects in bootimage into the partitions!!
&lt;br&gt;&amp;gt; Please help!!!
&lt;br&gt;&lt;br&gt;Please describe the problem in more detail. &amp;nbsp;What classes have you 
&lt;br&gt;created ? &amp;nbsp;How do you know they don't show up in the boot image ?
&lt;br&gt;&lt;br&gt;And could you please include your affiliation when posting to this list. 
&lt;br&gt;&amp;nbsp; Thanks,
&lt;br&gt;Robin
&lt;br&gt;&lt;br&gt;--
&lt;br&gt;Robin Garner
&lt;br&gt;PhD Student
&lt;br&gt;Australian National University
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Jikesrvm-researchers mailing list
&lt;br&gt;Jikesrvm-researchers@lists.sourceforge.net
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/blockquote&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Problems-in-Partitioning-for-implementing-Connectivity-Based-Garbage-Collector%21%21-tp26377262p26387019.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26385026</id>
	<title>Re: [rvm-research] Problems in Partitioning for implementing Connectivity Based Garbage Collector!!</title>
	<published>2009-11-16T22:26:12Z</published>
	<updated>2009-11-16T22:26:12Z</updated>
	<author>
		<name>Robin Garner</name>
	</author>
	<content type="html">maverick.vickey wrote:
&lt;br&gt;&amp;gt; I am trying to implement Connectivity Based Garbage Collector. I am able to
&lt;br&gt;&amp;gt; implement Partitioning for dynamically loaded classes but I am unable to
&lt;br&gt;&amp;gt; include classes &amp; objects in bootimage into the partitions!!
&lt;br&gt;&amp;gt; Please help!!!
&lt;br&gt;&lt;br&gt;Please describe the problem in more detail. &amp;nbsp;What classes have you 
&lt;br&gt;created ? &amp;nbsp;How do you know they don't show up in the boot image ?
&lt;br&gt;&lt;br&gt;And could you please include your affiliation when posting to this list. 
&lt;br&gt;&amp;nbsp; Thanks,
&lt;br&gt;Robin
&lt;br&gt;&lt;br&gt;--
&lt;br&gt;Robin Garner
&lt;br&gt;PhD Student
&lt;br&gt;Australian National University
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Jikesrvm-researchers mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26385026&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jikesrvm-researchers@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Problems-in-Partitioning-for-implementing-Connectivity-Based-Garbage-Collector%21%21-tp26377262p26385026.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26379424</id>
	<title>Re: [rvm-research] Unable to modify the code base (OutOfMemory error)</title>
	<published>2009-11-16T13:03:23Z</published>
	<updated>2009-11-16T13:03:23Z</updated>
	<author>
		<name>srinivas13.2</name>
	</author>
	<content type="html">Ok here it is, when i add a VM.sysWriteln in VM.java i do not get any error, but if i try to change the value of DEBUG to true in the method simpleEscapeAnalysis() in SimpleEscape.java or for that matter, add the same VM.sysWrite() there, the build process fails giving the following message:
&lt;br&gt;&lt;br&gt;&lt;i&gt;BUILD FAILED
&lt;br&gt;/home/shankar/jikesrvm-3.1.0/build.xml:1434: The following error occurred while executing this line:
&lt;br&gt;/home/shankar/jikesrvm-3.1.0/build.xml:1441: java.lang.OutOfMemoryError: Java heap space
&lt;br&gt;&lt;/i&gt;&lt;br&gt;Im not using svn.
&lt;br&gt;&lt;br&gt;Also the even after using the &amp;quot;print_final_hir&amp;quot; option, rvm does not print the HIR to the screen.Is there another way to do the same?
&lt;br&gt;&lt;br&gt;Thanks,
&lt;br&gt;Srinivas Gopal
&lt;br&gt;&lt;blockquote class=&quot;quote light-black dark-border-color&quot;&gt;&lt;div class=&quot;quote light-border-color&quot;&gt;
&lt;div class=&quot;quote-author&quot; style=&quot;font-weight: bold;&quot;&gt;Robin Garner wrote:&lt;/div&gt;
&lt;div class=&quot;quote-message shrinkable-quote&quot;&gt;srinivas13.2 wrote: 
&lt;br&gt;&amp;gt; hi all,
&lt;br&gt;&amp;gt; Whenever i try to make any modifications in the code base, i get OutOfMemory
&lt;br&gt;&amp;gt; error while building the rvm (even if the modification is something as small
&lt;br&gt;&amp;gt; as adding a VM.sysWrite()). The problem is similar to the one described in 
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/outofmemory--error-on-building-to25643001.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://old.nabble.com/outofmemory--error-on-building-to25643001.html&lt;/a&gt;&lt;br&gt;&amp;gt; outofmemory error on building 
&lt;br&gt;&amp;gt; So, as per the given instructions i have increased the value of maxmemory in
&lt;br&gt;&amp;gt; build.xml from 500M (default) to 2000M. Even then it doesn't seem to help.
&lt;br&gt;&amp;gt; Kindly let me know what is to be done.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Regards,
&lt;br&gt;&amp;gt; Srinivas Gopal
&lt;br&gt;&lt;br&gt;I expect the problem is specific to the change you are making.
&lt;br&gt;&lt;br&gt;First, try to reduce the problem to the smallest change, eg the simple 
&lt;br&gt;VM.syswrite you refer to above, then do an svn diff, and post the output 
&lt;br&gt;here.
&lt;br&gt;&lt;br&gt;cheers,
&lt;br&gt;Robin
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Jikesrvm-researchers mailing list
&lt;br&gt;Jikesrvm-researchers@lists.sourceforge.net
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/blockquote&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Unable-to-modify-the-code-base-%28OutOfMemory-error%29-tp26360276p26379424.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26377262</id>
	<title>Problems in Partitioning for implementing Connectivity Based Garbage Collector!!</title>
	<published>2009-11-16T10:44:12Z</published>
	<updated>2009-11-16T10:44:12Z</updated>
	<author>
		<name>maverick.vickey</name>
	</author>
	<content type="html">I am trying to implement Connectivity Based Garbage Collector. I am able to implement Partitioning for dynamically loaded classes but I am unable to include classes &amp; objects in bootimage into the partitions!!
&lt;br&gt;Please help!!!</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Problems-in-Partitioning-for-implementing-Connectivity-Based-Garbage-Collector%21%21-tp26377262p26377262.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26376093</id>
	<title>Re: [rvm-research] how to make a class visible in different package</title>
	<published>2009-11-16T09:34:06Z</published>
	<updated>2009-11-16T09:34:06Z</updated>
	<author>
		<name>Eddie Aftandilian-2</name>
	</author>
	<content type="html">Suriya Subramanian wrote:
&lt;br&gt;&amp;gt; On Mon, Nov 16, 2009 at 01:21:47AM -0800, dsharma wrote:
&lt;br&gt;&amp;gt;&amp;gt; How can i make class files in &amp;nbsp;rvm/src visible in MMTk/src.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; You cannot do so in full generality. The interface between the RVM and MMTk
&lt;br&gt;&amp;gt; is very narrow with the VM exposing only what MMTk needs. Take a look at
&lt;br&gt;&amp;gt; the MMTk user guide (Appendix A, VM Interface Specification) and at the
&lt;br&gt;&amp;gt; source code MMTk/ext/vm/jikesrvm to see how is interface looks.
&lt;br&gt;&lt;br&gt;Fil Pizlo had a nice post a little while back on the specifics of the 
&lt;br&gt;RVM-MMTk interface:
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/Re%3A--rvm-research--Making-Stop-the-world-on-the-fly-p25898295.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://old.nabble.com/Re%3A--rvm-research--Making-Stop-the-world-on-the-fly-p25898295.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Jikesrvm-researchers mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26376093&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jikesrvm-researchers@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A--rvm-research--how-to-make-a-class-visible-in-different-package-tp26375704p26376093.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26375704</id>
	<title>Re: [rvm-research] how to make a class visible in different package</title>
	<published>2009-11-16T09:11:45Z</published>
	<updated>2009-11-16T09:11:45Z</updated>
	<author>
		<name>Suriya Subramanian</name>
	</author>
	<content type="html">On Mon, Nov 16, 2009 at 01:21:47AM -0800, dsharma wrote:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; How can i make class files in &amp;nbsp;rvm/src visible in MMTk/src.
&lt;br&gt;&lt;br&gt;You cannot do so in full generality. The interface between the RVM and MMTk
&lt;br&gt;is very narrow with the VM exposing only what MMTk needs. Take a look at
&lt;br&gt;the MMTk user guide (Appendix A, VM Interface Specification) and at the
&lt;br&gt;source code MMTk/ext/vm/jikesrvm to see how is interface looks.
&lt;br&gt;&lt;br&gt;Suriya
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Jikesrvm-researchers mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26375704&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jikesrvm-researchers@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A--rvm-research--how-to-make-a-class-visible-in-different-package-tp26375704p26375704.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26375417</id>
	<title>[rvm-research] how to make a class visible in different package</title>
	<published>2009-11-16T01:21:47Z</published>
	<updated>2009-11-16T01:21:47Z</updated>
	<author>
		<name>dsharma</name>
	</author>
	<content type="html">&lt;br&gt;How can i make class files in &amp;nbsp;rvm/src visible in MMTk/src.
&lt;br&gt;-- 
&lt;br&gt;View this message in context: &lt;a href=&quot;http://old.nabble.com/how-to-make-a-class-visible-in-different-package-tp26368936p26368936.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://old.nabble.com/how-to-make-a-class-visible-in-different-package-tp26368936p26368936.html&lt;/a&gt;&lt;br&gt;Sent from the jikesrvm-researchers mailing list archive at Nabble.com.
&lt;br&gt;&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Jikesrvm-researchers mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26375417&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jikesrvm-researchers@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-rvm-research--how-to-make-a-class-visible-in-different-package-tp26375417p26375417.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26364985</id>
	<title>Re: [rvm-research] Unable to modify the code base (OutOfMemory error)</title>
	<published>2009-11-15T15:49:05Z</published>
	<updated>2009-11-15T15:49:05Z</updated>
	<author>
		<name>Robin Garner</name>
	</author>
	<content type="html">srinivas13.2 wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; hi all,
&lt;br&gt;&amp;gt; Whenever i try to make any modifications in the code base, i get OutOfMemory
&lt;br&gt;&amp;gt; error while building the rvm (even if the modification is something as small
&lt;br&gt;&amp;gt; as adding a VM.sysWrite()). The problem is similar to the one described in 
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/outofmemory--error-on-building-to25643001.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://old.nabble.com/outofmemory--error-on-building-to25643001.html&lt;/a&gt;&lt;br&gt;&amp;gt; outofmemory error on building 
&lt;br&gt;&amp;gt; So, as per the given instructions i have increased the value of maxmemory in
&lt;br&gt;&amp;gt; build.xml from 500M (default) to 2000M. Even then it doesn't seem to help.
&lt;br&gt;&amp;gt; Kindly let me know what is to be done.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Regards,
&lt;br&gt;&amp;gt; Srinivas Gopal
&lt;/div&gt;&lt;br&gt;I expect the problem is specific to the change you are making.
&lt;br&gt;&lt;br&gt;First, try to reduce the problem to the smallest change, eg the simple 
&lt;br&gt;VM.syswrite you refer to above, then do an svn diff, and post the output 
&lt;br&gt;here.
&lt;br&gt;&lt;br&gt;cheers,
&lt;br&gt;Robin
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Jikesrvm-researchers mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26364985&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jikesrvm-researchers@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Unable-to-modify-the-code-base-%28OutOfMemory-error%29-tp26360276p26364985.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26362082</id>
	<title>Help in implementing on-the-fly gc</title>
	<published>2009-11-15T10:59:08Z</published>
	<updated>2009-11-15T10:59:08Z</updated>
	<author>
		<name>lalli_maven</name>
	</author>
	<content type="html">I'm trying to implement an on-the-fly gc, which is mostly on the lines of the age oriented gc. I'm stuck on a lot of issues:
&lt;br&gt;&lt;br&gt;1. The phases of the gc have to be implemented in the MMTk/src group, but the handshakes have to be implemented in the RVMThread.java which is in rvm/src (not visible in MMTk/src), how will that work out?
&lt;br&gt;&lt;br&gt;2. The buffer variables are &amp;quot;declared&amp;quot; in the collector code in the MMTk package, for which I also modified Selected.java file, but I kind of messed up everything. Where am I supposed to declare these variables?
&lt;br&gt;&lt;br&gt;3. The way any gc works is such a way that it pushes a collection phase into a stack then pops it and executes it. Why? The docs of Phase.java (in MMTk/src) indicate that any handshaking we have to do is to be done here itself. How?
&lt;br&gt;&lt;br&gt;4. The run function in CollectorThread.java is very complicated. It's supposed to only do a hardhandshake-suspend all other threads, collect and then hardhandshake-resume all other threads. But what it is actually doing is calling many rendezvous functions with pointless integer parameters. What is that about? What I want to do is simply keep the parking function and keep the loop inside which only collect is called. How can I do that?
&lt;br&gt;&lt;br&gt;Please help me!</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Help-in-implementing-on-the-fly-gc-tp26362082p26362082.html" />
</entry>

</feed>
