diff options
author | Richard Sandiford <r.sandiford@uk.ibm.com> | 2014-05-06 17:46:05 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2014-05-06 17:46:05 +0000 |
commit | ebe9df675a6f63a6a729da7e20c97d037b3fb8a9 (patch) | |
tree | 22999cc24aa4db16e18630f8acc4e25f4649b867 /gcc/java/boehm.c | |
parent | aa3a12d66e691508961992aaba0d13914c274afe (diff) | |
download | gcc-ebe9df675a6f63a6a729da7e20c97d037b3fb8a9.zip gcc-ebe9df675a6f63a6a729da7e20c97d037b3fb8a9.tar.gz gcc-ebe9df675a6f63a6a729da7e20c97d037b3fb8a9.tar.bz2 |
boehm.c (mark_reference_fields): Don't update the mask when setting pointer_after_end.
gcc/java/
* boehm.c (mark_reference_fields): Don't update the mask when
setting pointer_after_end.
From-SVN: r210119
Diffstat (limited to 'gcc/java/boehm.c')
-rw-r--r-- | gcc/java/boehm.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/gcc/java/boehm.c b/gcc/java/boehm.c index 191ab86..10b6d64 100644 --- a/gcc/java/boehm.c +++ b/gcc/java/boehm.c @@ -101,17 +101,17 @@ mark_reference_fields (tree field, *last_set_index = count; - /* First word in object corresponds to most significant byte of - bitmap. - - In the case of a multiple-word record, we set pointer - bits for all words in the record. This is conservative, but the - size_words != 1 case is impossible in regular java code. */ - for (i = 0; i < size_words; ++i) - *mask = wi::set_bit (*mask, ubit - count - i - 1); - if (count >= ubit - 2) *pointer_after_end = 1; + else + /* First word in object corresponds to most significant byte of + bitmap. + + In the case of a multiple-word record, we set pointer + bits for all words in the record. This is conservative, but the + size_words != 1 case is impossible in regular java code. */ + for (i = 0; i < size_words; ++i) + *mask = wi::set_bit (*mask, ubit - count - i - 1); /* If we saw a non-reference field earlier, then we can't use the count representation. We keep track of that in |