From: Hiroshi Y. <yam...@cs...> - 2003-11-20 21:59:51
|
Hi, I am wondering how the JikesRVM baseline compiler is handling the so-called JSR problem which is about how GC maps inside subroutines are determined. There are several techniques in the literature on how to handle this: 1. Inline/Copy the subroutine code for each JSR site - I believe the JikesRVM optimizing compiler chose this. 2. Split the local variables so that each variable can ever contain either reference-type values or non-reference-type values. 3. At GC time, by looking up the GC map at the return site (where you go after executing RET from the subroutine), determine where the references are. 4. other techniques that I am not aware of... I spent a while looking at the baseline compiler code but couldn't figure out how it is actually handling this. I assume it does not take option 1 above from some of the comments in the code. What does it do? Regards, Hiroshi Yamauchi |