GNU bug report logs -
#16039
repeated emacs crashes (in GC?)
Previous Next
Reported by: emacs user <user.emacs <at> gmail.com>
Date: Tue, 3 Dec 2013 14:57:02 UTC
Severity: normal
Tags: fixed
Fixed in version 25.2
Done: Alan Third <alan <at> idiocy.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
>>>>> On Wed, 04 Dec 2013 10:48:11 +0900, YAMAMOTO Mitsuharu <mituharu <at> math.s.chiba-u.ac.jp> said:
>>> Having 136 thousand frames during GC is not unheard of.
>> (/ 8720000.0 (* 136 1000))
>> 64.11764705882354
>> If each frame consumes more than 64 bytes, then it will use up
>> 8720000B stack space.
> FWIW, the default compiler for Xcode 4.0.2 on Mac OS X 10.6 with the
> -O2 option seems to consume 64 bytes for each mark_object frame:
> i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5666) (dot 3)
> _mark_object:
> 00000000000008a0 pushq %rbp
> 00000000000008a1 movq %rsp, %rbp
> 00000000000008a4 movq %rbx, 0xffffffffffffffd8(%rbp)
> 00000000000008a8 movq %r12, 0xffffffffffffffe0(%rbp)
> 00000000000008ac movq %r13, 0xffffffffffffffe8(%rbp)
> 00000000000008b0 movq %r14, 0xfffffffffffffff0(%rbp)
> 00000000000008b4 movq %r15, 0xfffffffffffffff8(%rbp)
> 00000000000008b8 subq $0x40, %rsp
> And the one for Xcode 5.0.2 on OS X 10.9 with -O4 does 24 bytes:
> Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn)
> _mark_object:
> 0000000000005c70 pushq %rbp
> 0000000000005c71 movq %rsp, %rbp
> 0000000000005c74 pushq %r15
> 0000000000005c76 pushq %r14
> 0000000000005c78 pushq %r13
> 0000000000005c7a pushq %r12
> 0000000000005c7c pushq %rbx
> 0000000000005c7d subq $0x18, %rsp
I forgot to count the pushq instructions. The correct value would be
72 bytes for each mark_object frame in both cases.
YAMAMOTO Mitsuharu
mituharu <at> math.s.chiba-u.ac.jp
This bug report was last modified 8 years and 189 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.