From: John Yates <john@yates-sheets.org>
To: Daniel Colascione <dancol@dancol.org>
Cc: Paul Eggert <eggert@cs.ucla.edu>,
Stefan Monnier <monnier@iro.umontreal.ca>,
emacs-devel@gnu.org
Subject: Re: inlinable functions instead of macros
Date: Sat, 18 Aug 2012 18:55:14 -0400 [thread overview]
Message-ID: <CAJnXXogBNqnUr0BCX6E=Vcyd9-9xHky4DzZdCqkTCoOCDayLZg@mail.gmail.com> (raw)
In-Reply-To: <503013F0.1020300@dancol.org>
On Sat, Aug 18, 2012 at 6:15 PM, Daniel Colascione <dancol@dancol.org> wrote:
>
> On Windows, we solved this problem a long time ago by teaching the
> operating system itself how to walk stack frames. When a program
> crashes, the OS captures a minidump containing the faulting stack,
> instruction pointer, register contents, and (optionally) things like
> data segments. If you have one of these minidumps, you don't need
> particularly good assertion-failure output: you have everything you
> need in the minidump, which you can load into the debugger and examine.
And even before that Vax/VMS solved the problem by capturing a stack
trace every time a signal was propagated (including of course ACCVIO
or access violation, the equivalent of SEGV). A shell setting
controlled whether the trace was displayed by default of not. Even if
one choose not to display it by default it was always available by
explicit request. VMS coding conventions encouraged failure
notification via signalling and required a signal handler to use a
subsystem specific status when propagating a signal. This lead to
very informative stack traces consisting of call sites interspersed
with local statuses showing how failure was interpreted and reported
as it propagated up the stack.
/john
next prev parent reply other threads:[~2012-08-18 22:55 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-08-17 23:48 inlinable functions instead of macros Stefan Monnier
2012-08-17 23:59 ` Paul Eggert
2012-08-18 22:15 ` Daniel Colascione
2012-08-18 22:55 ` John Yates [this message]
2012-08-19 4:22 ` Richard Stallman
2012-08-21 17:50 ` Stefan Monnier
2012-08-22 9:24 ` C backtraces for Emacs Paul Eggert
2012-08-22 16:01 ` Eli Zaretskii
2012-08-22 16:39 ` Paul Eggert
2012-08-23 0:40 ` Daniel Colascione
2012-08-23 16:55 ` Eli Zaretskii
2012-08-24 10:48 ` Paul Eggert
2012-08-25 4:41 ` Paul Eggert
2012-08-25 5:57 ` Eli Zaretskii
2012-08-22 9:28 ` inlinable functions instead of macros Paul Eggert
2012-08-22 9:48 ` Andreas Schwab
2012-08-22 14:31 ` Stefan Monnier
2012-08-24 21:37 ` Paul Eggert
2012-08-25 1:38 ` Tom Tromey
2012-08-25 2:58 ` Paul Eggert
2012-08-25 5:35 ` Eli Zaretskii
2012-08-25 20:13 ` Tom Tromey
2012-08-26 4:42 ` Paul Eggert
2012-08-25 2:05 ` Stefan Monnier
2012-08-26 5:31 ` Paul Eggert
2012-08-22 16:03 ` Eli Zaretskii
2012-08-18 19:08 ` Richard Stallman
2012-08-18 20:57 ` Paul Eggert
2012-08-18 21:03 ` Eli Zaretskii
2012-08-18 21:31 ` Paul Eggert
2012-08-19 2:45 ` Eli Zaretskii
2012-08-18 21:14 ` Óscar Fuentes
2012-08-19 17:28 ` Florian Weimer
2012-08-20 20:38 ` Sam Steingold
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CAJnXXogBNqnUr0BCX6E=Vcyd9-9xHky4DzZdCqkTCoOCDayLZg@mail.gmail.com' \
--to=john@yates-sheets.org \
--cc=dancol@dancol.org \
--cc=eggert@cs.ucla.edu \
--cc=emacs-devel@gnu.org \
--cc=monnier@iro.umontreal.ca \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.