bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#15876: 24.3.50; Highly degraded performance between rev 114715 and 1


From: Dmitry Antipov
Subject: bug#15876: 24.3.50; Highly degraded performance between rev 114715 and 115006
Date: Thu, 05 Dec 2013 10:29:45 +0400
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.1.1

On 12/04/2013 09:53 PM, Eli Zaretskii wrote:

> What kind of information do I need to collect on Windows to make it
> clear where the problem is?  Can you suggest some code that would
> collect the necessary information, or ideas for writing such code?
> (It's inconvenient to collect the data in GDB, since many objects are
> marked at this point, and printing them from GDB crashes Emacs.)

OK, let's try the following steps.

1. Apply attached patch and rebuild.
2. Run emacs -Q, then M-x insert-char 25b7 and M-x describe-char.
   Now you should know the C pointer to font object which is used
   to display right-pointing triangle (underlined red on screenshot).
3. Insert GDB breakpoints to fprintf, move cursor, do some basic editing
   around the triangle and run M-x garbage-collect few times.  An
   interesting font object should be either marked or swept; if it's
   markerd, you should hit the breakpoint "GCX: mark interesting font Y".
   For my --without-xft build, M-x garbage-collect always shows that an
   interesting font object is marked in expected way - via face cache. E.g.:

(gdb) bt 8
#0  __fprintf (stream=0x3869dbb1e0 <_IO_2_1_stderr_>, format=0x6cf620 "GC%ld: mark 
interesting font %p\n") at fprintf.c:27
#1  0x00000000005c7269 in mark_vectorlike (ptr=0xd7c8b8) at 
../../trunk/src/alloc.c:5745
#2  0x00000000005c75a4 in mark_face_cache (c=0x11456b0) at 
../../trunk/src/alloc.c:5838
#3  0x00000000005c7b43 in mark_object (arg=...) at ../../trunk/src/alloc.c:6014
#4  0x00000000005c7288 in mark_vectorlike (ptr=0x127d4f8) at 
../../trunk/src/alloc.c:5754
#5  0x00000000005c7baa in mark_object (arg=...) at ../../trunk/src/alloc.c:6031
#6  0x00000000005c7288 in mark_vectorlike (ptr=0xcf3230) at 
../../trunk/src/alloc.c:5754
#7  0x00000000005c7457 in mark_buffer (buffer=0xcf3230) at 
../../trunk/src/alloc.c:5805
(More stack frames follow...)

Dmitry

Attachment: font-pointer.png
Description: PNG image

Attachment: font_debug_bug15876.patch
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]