Commit fce47c93 authored by Philipp Stephani's avatar Philipp Stephani

Improve offset calculation in wide int builds

* src/alloc.c (mark_maybe_object): Make sure that OFFSET isn’t widened
during subtraction.
parent 1d70fbe4
Pipeline #6191 failed with stage
in 72 minutes and 57 seconds
......@@ -4641,8 +4641,10 @@ mark_maybe_object (Lisp_Object obj)
break;
}
void *po = (char *) ((intptr_t) (char *) XLP (obj)
+ (offset - LISP_WORD_TAG (type_tag)));
bool overflow
= INT_SUBTRACT_WRAPV (offset, LISP_WORD_TAG (type_tag), &offset);
eassert (!overflow);
void *po = (char *) ((intptr_t) (char *) XLP (obj) + offset);
/* If the pointer is in the dump image and the dump has a record
of the object starting at the place where the pointer points, we
......
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