Commit bdeb2c96 by Roman Zippel Committed by Roman Zippel

boehm.c (mark_reference_fields): Move misaligned pointer check

	after JREFERENCE_TYPE_P test

From-SVN: r128208
parent bc211e05
2007-09-07 Roman Zippel <zippel@linux-m68k.org>
boehm.c (mark_reference_fields): Move misaligned pointer check
after JREFERENCE_TYPE_P test
2007-09-06 Roman Zippel <zippel@linux-m68k.org>
* boehm.c (mark_reference_fields): Don't use bitmap as gc_descr
......
......@@ -98,13 +98,6 @@ mark_reference_fields (tree field,
offset = int_byte_position (field);
size_bytes = int_size_in_bytes (TREE_TYPE (field));
if (offset % (POINTER_SIZE / BITS_PER_UNIT))
{
*all_bits_set = -1;
*pointer_after_end = 1;
break;
}
if (JREFERENCE_TYPE_P (TREE_TYPE (field))
/* An `object' of type gnu.gcj.RawData is actually non-Java
data. */
......@@ -118,6 +111,13 @@ mark_reference_fields (tree field,
we already covered, then we are doomed. */
gcc_assert (offset > *last_view_index);
if (offset % (POINTER_SIZE / BITS_PER_UNIT))
{
*all_bits_set = -1;
*pointer_after_end = 1;
break;
}
count = offset * BITS_PER_UNIT / POINTER_SIZE;
size_words = size_bytes * BITS_PER_UNIT / POINTER_SIZE;
......
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