Re: [rvm-research] Barriers interacting with ForwardingWord in MMTk

Robin Garner <[email protected]>
Newsgroups gmane.comp.java.jikes.rvm.devel
Message-ID <[email protected]>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi Claire,

If the SS collector collected the heap (use -X:gc:verbose=1 to verify)
then it would have called several methods of ForwardingWord.  Assuming
that you instrumented one of the methods that it calls (such as
attemptToForward), then if it doesn't fail during the first GC you
probably had issues while recompiling or for some other reason you
aren't running the modified code.

The easiest way to find out what calls what is to use an IDE like
eclipse.  For example if you put your cursor on a method declaration,
control-shift-G will tell you what code calls that method.

If you want to look at the dynamic behaviour of MMTk, the MMTk
Debugging Harness [1] is the easiest tool.  Running the Harness in
Eclipse you can use the debugger to step through the code as it executes.

Another way to examine the call tree using the Harness is to use one
of the Java profiling tools - I can't remember which one I used last
time but it gave me a full call tree with method invocation counts.

Of course this doesn't tell you anything about the JikesRVM part of
the call tree but once you understand MMTk that will become easier.

cheers

[1] http://jikesrvm.org/The+MMTk+Test+Harness


On 18/02/14 09:45, Claire Murphy wrote:
> Hi again,
> 
> Thanks for your response, Robin, that's very useful since we do
> want to make a concurrent copying collector. However, my team and I
> have one more question which I believe is due to our
> misunderstanding of parts of Jikes.
> 
> Since I was putting VM.assertions.fail() calls and the like in the 
> ForwardingWord class, which the semispace collector does use, why
> did the benchmarks still run without incident? Is this due to the
> Dacapo benchmarks I was choosing to run?(sunflow and avrora) Or are
> Jikes' internally implemented assertions somehow different than we
> are assuming? We have gotten the same behavior from using
> VM.sysFail() in the body of the VM, as well. (no change in vm
> behavior)
> 
> Is there a better way to test if a piece of code executes in
> JikesRVM?
> 
> Thanks again, Claire. 
> ------------------------------------------------------------------------
>
> 
From: Claire Murphy <mailto:[email protected]>
> Sent: 2/10/2014 4:51 PM To: General discussion of Jikes RVM design,
> implementation, issues, and plans
> <mailto:[email protected]> Subject:
> Barriers interacting with ForwardingWord in MMTk
> 
> Hello,
> 
> My name is Claire, and I'm part of a team of students from Harvey
> Mudd College.
> 
> We have been working with Jikes RVM, specifically MMTk, and
> recently I have been trying to understand how Barriers work in
> relation to the ForwardingWord class, and what we need to do to
> implement forwarding headers, triggered by barriers, in a custom
> garbage collector. The ObjectReference functions that are called in
> the Barriers seem to be implemented at runtime by vmmagic, and I do
> not know where that behavior is defined.
> 
> I have been running Dacapo benchmarks and using the semispace
> collector, which I believe should call the ForwardingWord functions
> if that is what the Barrier implementations do, though my
> "VM.assertions._assert"s in the ForwardingWord functions have had
> no effect on the benchmarks that I noticed. I am clearly barking up
> the wrong tree, so any pointers would be appreciated.
> 
> Thanks!
> 
> -Claire
> 
> 
> ------------------------------------------------------------------------------
>
> 
Managing the Performance of Cloud-Based Applications
> Take advantage of what the Cloud has to offer - Avoid Common
> Pitfalls. Read the Whitepaper. 
> http://pubads.g.doubleclick.net/gampad/clk?id=121054471&iu=/4140/ostg.clktrk
>
> 
> 
> 
> _______________________________________________ 
> Jikesrvm-researchers mailing list 
> [email protected] 
> https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers
> 

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQEcBAEBAgAGBQJTAvbaAAoJEHm9xBvoMhvacLYIAJS/VFA5aYaYL2Fgw7YqegtY
5tSnq2ovsgKoTr0dKD+lyEEM1fKS1YKOuqwZBeOUoUkuPTu/tlNKdkEvrerl3CnO
GOMUdO4dPAbF2DbxInBKnPUdiDLBU8A7MBTPqzlGIJPGzSfsox9M71AnkLj9ufXG
EJqhpj7tWfxVxlJKw5GXT40WLbsdRvQEMGsc90i+uMITUOBV1InN5ognAvRf00by
rwjuiEpkfC91FmUMZH4ClGCYxosnIhCq+Ac4g9LK27DwtzUzih2AStta5RqCn2f6
eZ9oSVJSbfjaH6RmMjuy8s426DMmZFDWbWyaCNDSl0JR03F3BdCMaFWrV6FEpJo=
=WnlY
-----END PGP SIGNATURE-----

------------------------------------------------------------------------------
Managing the Performance of Cloud-Based Applications
Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
Read the Whitepaper.
http://pubads.g.doubleclick.net/gampad/clk?id=121054471&iu=/4140/ostg.clktrk
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.