unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Crash on Windows
@ 2007-10-03  8:26 Juanma Barranquero
  2007-10-03  9:06 ` Jason Rumney
  0 siblings, 1 reply; 2+ messages in thread
From: Juanma Barranquero @ 2007-10-03  8:26 UTC (permalink / raw)
  To: Emacs development discussions

[-- Attachment #1: Type: text/plain, Size: 446 bytes --]

After the recent bunch of changes in alloc.c, etc., I'm getting a
mighty crash on Windows XP.

This is the trunk, updated a few minutes ago,
(dist|real|maintainer-)clean'ed and bootstrapped.

Compiled with gcc (GCC) 3.4.5 (mingw special), with no unusual
warnings (i.e., the same warnings that the previous successful
bootstrap).

I'm attaching the DrMingw log instead of including it in the text
because it's almost 99 KiB.

             Juanma

[-- Attachment #2: drmingw.log --]
[-- Type: text/plain, Size: 101343 bytes --]

emacs.exe caused an Access Violation at location 01063d1a in module emacs.exe Reading from location 00001200.

Registers:
eax=00000001 ebx=00001200 ecx=00001201 edx=00001200 esi=00000016 edi=01160ac0
eip=01063d1a esp=00826bb0 ebp=00826c08 iopl=0         nv up ei pl nz na po nc
cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00000206

Call stack:
01063D1A  emacs.exe:01063D1A  mark_object  alloc.c:5631
	...
	struct Lisp_Symbol *ptrx;

>	if (ptr->gcmarkbit) break;
	CHECK_ALLOCATED_AND_LIVE (live_symbol_p);
	ptr->gcmarkbit = 1;
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01064271  emacs.exe:01064271  mark_object  alloc.c:5584
	...
	{
	  register struct frame *ptr = XFRAME (obj);
>	  if (mark_vectorlike (XVECTOR (obj)))
	    {
	      mark_face_cache (ptr->face_cache);
	...

01063D35  emacs.exe:01063D35  mark_object  alloc.c:5635
	...
	ptr->gcmarkbit = 1;
	mark_object (ptr->value);
>	mark_object (ptr->function);
	mark_object (ptr->plist);

	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063D40  emacs.exe:01063D40  mark_object  alloc.c:5636
	...
	mark_object (ptr->value);
	mark_object (ptr->function);
>	mark_object (ptr->plist);

	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D35  emacs.exe:01063D35  mark_object  alloc.c:5635
	...
	ptr->gcmarkbit = 1;
	mark_object (ptr->value);
>	mark_object (ptr->function);
	mark_object (ptr->plist);

	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D35  emacs.exe:01063D35  mark_object  alloc.c:5635
	...
	ptr->gcmarkbit = 1;
	mark_object (ptr->value);
>	mark_object (ptr->function);
	mark_object (ptr->plist);

	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D40  emacs.exe:01063D40  mark_object  alloc.c:5636
	...
	mark_object (ptr->value);
	mark_object (ptr->function);
>	mark_object (ptr->plist);

	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D35  emacs.exe:01063D35  mark_object  alloc.c:5635
	...
	ptr->gcmarkbit = 1;
	mark_object (ptr->value);
>	mark_object (ptr->function);
	mark_object (ptr->plist);

	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D35  emacs.exe:01063D35  mark_object  alloc.c:5635
	...
	ptr->gcmarkbit = 1;
	mark_object (ptr->value);
>	mark_object (ptr->function);
	mark_object (ptr->plist);

	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063D40  emacs.exe:01063D40  mark_object  alloc.c:5636
	...
	mark_object (ptr->value);
	mark_object (ptr->function);
>	mark_object (ptr->plist);

	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	...

01063D40  emacs.exe:01063D40  mark_object  alloc.c:5636
	...
	mark_object (ptr->value);
	mark_object (ptr->function);
>	mark_object (ptr->plist);

	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D35  emacs.exe:01063D35  mark_object  alloc.c:5635
	...
	ptr->gcmarkbit = 1;
	mark_object (ptr->value);
>	mark_object (ptr->function);
	mark_object (ptr->plist);

	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063AE3  emacs.exe:01063AE3  mark_buffer  alloc.c:5801
	...
	    }

>	  for (ptr = &buffer->name;
	       (char *)ptr < (char *)buffer + sizeof (struct buffer);
	       ptr++)
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

010642F2  emacs.exe:010642F2  mark_object  alloc.c:5596
	...
	  register struct Lisp_Vector *ptr = XVECTOR (obj);
	  struct window *w = XWINDOW (obj);
>	  if (mark_vectorlike (ptr))
	    {
	      /* Mark glyphs for leaf windows.  Marking window matrices is
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

010642F2  emacs.exe:010642F2  mark_object  alloc.c:5596
	...
	  register struct Lisp_Vector *ptr = XVECTOR (obj);
	  struct window *w = XWINDOW (obj);
>	  if (mark_vectorlike (ptr))
	    {
	      /* Mark glyphs for leaf windows.  Marking window matrices is
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01064271  emacs.exe:01064271  mark_object  alloc.c:5584
	...
	{
	  register struct frame *ptr = XFRAME (obj);
>	  if (mark_vectorlike (XVECTOR (obj)))
	    {
	      mark_face_cache (ptr->face_cache);
	...

01063ED4  emacs.exe:01063ED4  mark_object  alloc.c:5677
	...
	    mark_object (ptr->buffer);
	    mark_object (ptr->frame);
>	    obj = ptr->cdr;
	    goto loop;
	  }
	...

01063D35  emacs.exe:01063D35  mark_object  alloc.c:5635
	...
	ptr->gcmarkbit = 1;
	mark_object (ptr->value);
>	mark_object (ptr->function);
	mark_object (ptr->plist);

	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063D40  emacs.exe:01063D40  mark_object  alloc.c:5636
	...
	mark_object (ptr->value);
	mark_object (ptr->function);
>	mark_object (ptr->plist);

	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063D35  emacs.exe:01063D35  mark_object  alloc.c:5635
	...
	ptr->gcmarkbit = 1;
	mark_object (ptr->value);
>	mark_object (ptr->function);
	mark_object (ptr->plist);

	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D40  emacs.exe:01063D40  mark_object  alloc.c:5636
	...
	mark_object (ptr->value);
	mark_object (ptr->function);
>	mark_object (ptr->plist);

	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D35  emacs.exe:01063D35  mark_object  alloc.c:5635
	...
	ptr->gcmarkbit = 1;
	mark_object (ptr->value);
>	mark_object (ptr->function);
	mark_object (ptr->plist);

	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D35  emacs.exe:01063D35  mark_object  alloc.c:5635
	...
	ptr->gcmarkbit = 1;
	mark_object (ptr->value);
>	mark_object (ptr->function);
	mark_object (ptr->plist);

	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D35  emacs.exe:01063D35  mark_object  alloc.c:5635
	...
	ptr->gcmarkbit = 1;
	mark_object (ptr->value);
>	mark_object (ptr->function);
	mark_object (ptr->plist);

	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D35  emacs.exe:01063D35  mark_object  alloc.c:5635
	...
	ptr->gcmarkbit = 1;
	mark_object (ptr->value);
>	mark_object (ptr->function);
	mark_object (ptr->plist);

	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D35  emacs.exe:01063D35  mark_object  alloc.c:5635
	...
	ptr->gcmarkbit = 1;
	mark_object (ptr->value);
>	mark_object (ptr->function);
	mark_object (ptr->plist);

	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D35  emacs.exe:01063D35  mark_object  alloc.c:5635
	...
	ptr->gcmarkbit = 1;
	mark_object (ptr->value);
>	mark_object (ptr->function);
	mark_object (ptr->plist);

	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D35  emacs.exe:01063D35  mark_object  alloc.c:5635
	...
	ptr->gcmarkbit = 1;
	mark_object (ptr->value);
>	mark_object (ptr->function);
	mark_object (ptr->plist);

	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063D35  emacs.exe:01063D35  mark_object  alloc.c:5635
	...
	ptr->gcmarkbit = 1;
	mark_object (ptr->value);
>	mark_object (ptr->function);
	mark_object (ptr->plist);

	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D35  emacs.exe:01063D35  mark_object  alloc.c:5635
	...
	ptr->gcmarkbit = 1;
	mark_object (ptr->value);
>	mark_object (ptr->function);
	mark_object (ptr->plist);

	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063D35  emacs.exe:01063D35  mark_object  alloc.c:5635
	...
	ptr->gcmarkbit = 1;
	mark_object (ptr->value);
>	mark_object (ptr->function);
	mark_object (ptr->plist);

	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D35  emacs.exe:01063D35  mark_object  alloc.c:5635
	...
	ptr->gcmarkbit = 1;
	mark_object (ptr->value);
>	mark_object (ptr->function);
	mark_object (ptr->plist);

	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063AE3  emacs.exe:01063AE3  mark_buffer  alloc.c:5801
	...
	    }

>	  for (ptr = &buffer->name;
	       (char *)ptr < (char *)buffer + sizeof (struct buffer);
	       ptr++)
	...

01063EC9  emacs.exe:01063EC9  mark_object  alloc.c:5676
	...
	    mark_object (ptr->realvalue);
	    mark_object (ptr->buffer);
>	    mark_object (ptr->frame);
	    obj = ptr->cdr;
	    goto loop;
	...

01063D35  emacs.exe:01063D35  mark_object  alloc.c:5635
	...
	ptr->gcmarkbit = 1;
	mark_object (ptr->value);
>	mark_object (ptr->function);
	mark_object (ptr->plist);

	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

01063C0F  emacs.exe:01063C0F  mark_object  alloc.c:5748
	...
	  }
	mark_object (ptr->car);
>	obj = ptr->u.cdr;
	cdr_count++;
	if (cdr_count == mark_object_loop_halt)
	...

01063D4B  emacs.exe:01063D4B  mark_object  alloc.c:5638
	...
	mark_object (ptr->plist);

>	if (!PURE_POINTER_P (XSTRING (ptr->xname)))
	  MARK_STRING (XSTRING (ptr->xname));
	MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname));
	...

01064501  emacs.exe:01064501  mark_vectorlike  alloc.c:5450
	...
	     The distinction is used e.g. by Lisp_Process which places extra
	     non-Lisp_Object fields at the end of the structure.  */
>	  for (i = 0; i < size; i++) /* and then mark its elements */
	    mark_object (ptr->contents[i]);
	  return 1;
	...

0106522D  emacs.exe:0106522D  Fgarbage_collect  alloc.c:5135
	...
	  /* Mark all the special slots that serve as the roots of accessibility.  */

>	  for (i = 0; i < staticidx; i++)
	    mark_object (*staticvec[i]);

	...

0100C110  emacs.exe:0100C110  Ffuncall  eval.c:2970
	...
	      ||
	      (!NILP (Vmemory_full) && consing_since_gc > memory_full_cons_threshold))
>	    Fgarbage_collect ();

	  if (++lisp_eval_depth > max_lisp_eval_depth)
	...

01110A43  emacs.exe:01110A43  Fbyte_code  bytecode.c:679
	...
	      }
	#endif
>	    TOP = Ffuncall (op + 1, &TOP);
	    AFTER_POTENTIAL_GC ();
	    break;
	...

0100BC46  emacs.exe:0100BC46  funcall_lambda  eval.c:3228
	...
	    }

>	  return unbind_to (count, val);
	}

	...

0100C13B  emacs.exe:0100C13B  Ffuncall  eval.c:3105
	...
	 done:
	  CHECK_CONS_LIST ();
>	  lisp_eval_depth--;
	  if (backtrace.debug_on_exit)
	    val = call_debugger (Fcons (Qexit, Fcons (val, Qnil)));
	...

01110A43  emacs.exe:01110A43  Fbyte_code  bytecode.c:679
	...
	      }
	#endif
>	    TOP = Ffuncall (op + 1, &TOP);
	    AFTER_POTENTIAL_GC ();
	    break;
	...

0100BC46  emacs.exe:0100BC46  funcall_lambda  eval.c:3228
	...
	    }

>	  return unbind_to (count, val);
	}

	...

0100C13B  emacs.exe:0100C13B  Ffuncall  eval.c:3105
	...
	 done:
	  CHECK_CONS_LIST ();
>	  lisp_eval_depth--;
	  if (backtrace.debug_on_exit)
	    val = call_debugger (Fcons (Qexit, Fcons (val, Qnil)));
	...

01110A43  emacs.exe:01110A43  Fbyte_code  bytecode.c:679
	...
	      }
	#endif
>	    TOP = Ffuncall (op + 1, &TOP);
	    AFTER_POTENTIAL_GC ();
	    break;
	...

0100BC46  emacs.exe:0100BC46  funcall_lambda  eval.c:3228
	...
	    }

>	  return unbind_to (count, val);
	}

	...

0100C13B  emacs.exe:0100C13B  Ffuncall  eval.c:3105
	...
	 done:
	  CHECK_CONS_LIST ();
>	  lisp_eval_depth--;
	  if (backtrace.debug_on_exit)
	    val = call_debugger (Fcons (Qexit, Fcons (val, Qnil)));
	...

01110A43  emacs.exe:01110A43  Fbyte_code  bytecode.c:679
	...
	      }
	#endif
>	    TOP = Ffuncall (op + 1, &TOP);
	    AFTER_POTENTIAL_GC ();
	    break;
	...

0100BC46  emacs.exe:0100BC46  funcall_lambda  eval.c:3228
	...
	    }

>	  return unbind_to (count, val);
	}

	...

0100C13B  emacs.exe:0100C13B  Ffuncall  eval.c:3105
	...
	 done:
	  CHECK_CONS_LIST ();
>	  lisp_eval_depth--;
	  if (backtrace.debug_on_exit)
	    val = call_debugger (Fcons (Qexit, Fcons (val, Qnil)));
	...

01110A43  emacs.exe:01110A43  Fbyte_code  bytecode.c:679
	...
	      }
	#endif
>	    TOP = Ffuncall (op + 1, &TOP);
	    AFTER_POTENTIAL_GC ();
	    break;
	...

0100BC46  emacs.exe:0100BC46  funcall_lambda  eval.c:3228
	...
	    }

>	  return unbind_to (count, val);
	}

	...

0100BEC3  emacs.exe:0100BEC3  apply_lambda  eval.c:3147
	...
	    }
	  backtrace_list->evalargs = 0;
>	  tem = funcall_lambda (fun, XINT (numargs), arg_vector);

	  /* Do the debug-on-exit now, while arg_vector still exists.  */
	...

0100B58B  emacs.exe:0100B58B  Feval  eval.c:2434
	...
	  CHECK_CONS_LIST ();

>	  lisp_eval_depth--;
	  if (backtrace.debug_on_exit)
	    val = call_debugger (Fcons (Qexit, Fcons (val, Qnil)));
	...

01051422  emacs.exe:01051422  top_level_2  keyboard.c:1413
	...
	{
	  return Feval (Vtop_level);
>	}

	Lisp_Object
	...

0100A4A5  emacs.exe:0100A4A5  internal_condition_case  eval.c:1495
	...

	  val = (*bfun) ();
>	  catchlist = c.next;
	  handlerlist = h.next;
	  return val;
	...

01051454  emacs.exe:01051454  top_level_1  keyboard.c:1425
	...
	  else
	    message ("Bare Emacs (standard Lisp code not loaded)");
>	  return Qnil;
	}

	...

0100A3DA  emacs.exe:0100A3DA  internal_catch  eval.c:1229
	...
	  /* Call FUNC.  */
	  if (! _setjmp (c.jmp))
>	    c.val = (*func) (arg);

	  /* Throw works by a longjmp that comes right here.  */
	...

010511F9  emacs.exe:010511F9  command_loop  keyboard.c:1382
	...
	        any_kboard_state ();
	#endif
>	internal_catch (Qtop_level, command_loop_2, Qnil);
	executing_kbd_macro = Qnil;

	...

010512AB  emacs.exe:010512AB  recursive_edit_1  keyboard.c:992
	...

	  val = command_loop ();
>	  if (EQ (val, Qt))
	    Fsignal (Qquit, Qnil);
	  /* Handle throw from read_minibuf when using minibuffer
	...

010513CC  emacs.exe:010513CC  Frecursive_edit  keyboard.c:1054
	...

	  recursive_edit_1 ();
>	  return unbind_to (count, Qnil);
	}

	...

01002A26  emacs.exe:01002A26  main  emacs.c:1781
	...
	  /* NOTREACHED */
	  return 0;
>	}

	/* Sort the args so we can find the most important ones
	...

01001247  emacs.exe:01001247
01001298  emacs.exe:01001298
7C816FD7  kernel32.dll:7C816FD7  RegisterWaitForInputIdle

[-- Attachment #3: Type: text/plain, Size: 142 bytes --]

_______________________________________________
Emacs-devel mailing list
Emacs-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-devel

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Crash on Windows
  2007-10-03  8:26 Crash on Windows Juanma Barranquero
@ 2007-10-03  9:06 ` Jason Rumney
  0 siblings, 0 replies; 2+ messages in thread
From: Jason Rumney @ 2007-10-03  9:06 UTC (permalink / raw)
  To: Juanma Barranquero; +Cc: Emacs development discussions

Juanma Barranquero wrote:
> After the recent bunch of changes in alloc.c, etc., I'm getting a
> mighty crash on Windows XP.
>
> This is the trunk, updated a few minutes ago,
> (dist|real|maintainer-)clean'ed and bootstrapped.
>
> Compiled with gcc (GCC) 3.4.5 (mingw special), with no unusual
> warnings (i.e., the same warnings that the previous successful
> bootstrap).
>   
Does the fix suggested by YAMAMOTO Mitsuharu in the earlier "GC crash"
mail also fix this problem?

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2007-10-03  9:06 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-10-03  8:26 Crash on Windows Juanma Barranquero
2007-10-03  9:06 ` Jason Rumney

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).