Commit 551ca039 by Per Bothner Committed by Per Bothner

boehm.cc (_Jv_MarkObj): Don't follow null pointer to static field...


	* 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
parent 8abb6b22
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
......
......@@ -189,9 +189,11 @@ _Jv_MarkObj (void *addr, void *msp, void *msl, void *env)
// 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);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment