the rootset as well.
--HG--
branch : exact-gc
/* now inspect the source state to compile the root set */
for (sf = ss->frames; sf != NULL; sf = sf->down) {
- GC_ASSERT(sf->javastackdepth == 0);
+ GC_LOG( printf("Source Frame: localcount=%d, stackdepth=%d\n", sf->javalocalcount, sf->javastackdepth); );
+ GC_ASSERT(sf->syncslotcount == 0);
for (i = 0; i < sf->javalocalcount; i++) {
if (sf->javalocaltype[i] != TYPE_ADR)
continue;
- /* check for null pointer */
- if (sf->javalocals[i].a == NULL)
+ GC_LOG2( printf("Found Reference (Java Local): %p\n", (void *) sf->javalocals[i].a); );
+
+ /* add this reference to the root set */
+ ROOTSET_ADD((java_objectheader **) &( sf->javalocals[i] ), true, REFTYPE_STACK);
+
+ }
+
+ for (i = 0; i < sf->javastackdepth; i++) {
+
+ /* we only need to consider references */
+ if (sf->javastacktype[i] != TYPE_ADR)
continue;
- GC_LOG2( printf("Found Reference: %p\n", (void *) sf->javalocals[i].a); );
+ GC_LOG2( printf("Found Reference (Java Stack): %p\n", (void *) sf->javastack[i].a); );
/* add this reference to the root set */
- ROOTSET_ADD((java_objectheader **) &( sf->javalocals[i] ), true, REFTYPE_STACK);
+ ROOTSET_ADD((java_objectheader **) &( sf->javastack[i] ), true, REFTYPE_STACK);
}
}
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
02111-1307, USA.
- $Id: simplereg.c 7713 2007-04-15 21:49:48Z twisti $
+ $Id: simplereg.c 7723 2007-04-16 18:03:08Z michi $
*/
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301, USA.
- $Id: codegen.c 7713 2007-04-15 21:49:48Z twisti $
+ $Id: codegen.c 7723 2007-04-16 18:03:08Z michi $
*/
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301, USA.
- $Id: emit.c 7596 2007-03-28 21:05:53Z twisti $
+ $Id: emit.c 7601 2007-03-28 23:02:50Z michi $
*/
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301, USA.
- $Id: inline.c 7731 2007-04-16 22:24:30Z twisti $
+ $Id: inline.c 7732 2007-04-16 22:32:50Z michi $
*/
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301, USA.
- $Id: jit.h 7663 2007-04-04 22:14:42Z twisti $
+ $Id: jit.h 7667 2007-04-05 00:16:05Z michi $
*/
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301, USA.
- $Id: codegen.c 7713 2007-04-15 21:49:48Z twisti $
+ $Id: codegen.c 7723 2007-04-16 18:03:08Z michi $
*/
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301, USA.
- $Id: parse.c 7663 2007-04-04 22:14:42Z twisti $
+ $Id: parse.c 7667 2007-04-05 00:16:05Z michi $
*/
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301, USA.
- $Id: codegen.c 7692 2007-04-12 14:47:24Z twisti $
+ $Id: codegen.c 7693 2007-04-12 14:56:49Z michi $
*/
Authors: Christian Thalinger
- $Id: emit.c 7680 2007-04-10 05:02:20Z pm $
+ $Id: emit.c 7688 2007-04-12 09:05:12Z michi $
*/
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301, USA.
- $Id: stack.c 7713 2007-04-15 21:49:48Z twisti $
+ $Id: stack.c 7723 2007-04-16 18:03:08Z michi $
*/
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301, USA.
- $Id: typecheck.c 7486 2007-03-08 13:50:07Z twisti $
+ $Id: typecheck.c 7483 2007-03-08 13:17:40Z michi $
*/
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301, USA.
- $Id: typeinfo.c 7486 2007-03-08 13:50:07Z twisti $
+ $Id: typeinfo.c 7483 2007-03-08 13:17:40Z michi $
*/
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301, USA.
- $Id: emit.c 7713 2007-04-15 21:49:48Z twisti $
+ $Id: emit.c 7723 2007-04-16 18:03:08Z michi $
*/