aboutsummaryrefslogtreecommitdiff
path: root/boehm-gc/mark.c
diff options
context:
space:
mode:
Diffstat (limited to 'boehm-gc/mark.c')
-rw-r--r--boehm-gc/mark.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/boehm-gc/mark.c b/boehm-gc/mark.c
index fffd62a..c645bc0 100644
--- a/boehm-gc/mark.c
+++ b/boehm-gc/mark.c
@@ -558,8 +558,8 @@ register hdr *hhdr, **new_hdr_p;
current = current - HBLKSIZE*(word)hhdr;
hhdr = HDR(current);
} while(IS_FORWARDING_ADDR_OR_NIL(hhdr));
- /* current points to the start of the large object */
- if (hhdr -> hb_flags & IGNORE_OFF_PAGE) return(0);
+ /* current points to near the start of the large object */
+ if (hhdr -> hb_flags & IGNORE_OFF_PAGE) return(orig);
if ((word *)orig - (word *)current
>= (ptrdiff_t)(hhdr->hb_sz)) {
/* Pointer past the end of the block */
@@ -1739,7 +1739,7 @@ register hdr * hhdr;
{
register int sz = hhdr -> hb_sz;
- if (sz < MAXOBJSZ) {
+ if (sz <= MAXOBJSZ) {
return(GC_page_was_dirty(h));
} else {
register ptr_t p = (ptr_t)h;