* boehm.cc (_Jv_MarkObj): Don't follow null pointer to static field,
which can happen if class is JV_STATE_LOADED but not JV_STATE_PREPARED.
From-SVN: r97128
+2005-03-28 Per Bothner <per@bothner.com>
+
+ * boehm.cc (_Jv_MarkObj): Don't follow null pointer to static field,
+ which can happen if class is JV_STATE_LOADED but not JV_STATE_PREPARED.
+
2005-03-27 Andreas Tobler <a.tobler@schweiz.ch>
* Makefile.am (classes.stamp): Add gnu/gcj/tools/gcj_dbtool/Main.java
// mark also the value pointed to. We check for isResolved
// since marking can happen before memory is allocated for
// static members.
- if (JvFieldIsRef (field) && field->isResolved())
+ // Note that field->u.addr may be null if the class c is
+ // JV_STATE_LOADED but not JV_STATE_PREPARED (initialized).
+ if (JvFieldIsRef (field) && p && field->isResolved())
{
- jobject val = *(jobject*) field->u.addr;
+ jobject val = *(jobject*) p;
p = (GC_PTR) val;
MAYBE_MARK (p, mark_stack_ptr, mark_stack_limit, c);
}