unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Stefan Monnier <monnier@iro.umontreal.ca>
Cc: emacs-devel@gnu.org
Subject: Re: GC crashes
Date: 07 Dec 2003 21:52:11 -0500	[thread overview]
Message-ID: <jwvfzfw3tzm.fsf-monnier+emacs/devel@vor.iro.umontreal.ca> (raw)
In-Reply-To: <200312080231.LAA12773@etlken.m17n.org>

>> No, it just means we have to change init_fns.
> Then, it seems that moving this:
>   Vweak_hash_tables = Qnil;
> to syms_of_fns is the easiest solution.

Sounds right.  And we should rename it as well because it's not
a lisp variable so it shouldn't start with `V'.

>> No, it shouldn't.  [ Side note: whether an integer should
>> be considered as "always live" or as "always GC-able" from
>> the point of view of weakness is not obvious. ]

> Ah!  I blindly believed that an integer is always GC-able,
> but survives_gc_p (obj) returns 1 if obj is an integer.  So
> if we make a composition hash table with :weak t, an element
> of the table always survives GC, thus is never removed.  It

That's right.

> doesn't fit my intuition but, I'd like to avoid discussing
> on it for the momemnt.

There's nothing useful to discuss indeed.  It's just interesting that it's
a case where the nice theory of "remove if GC-able" needs to be adjusted
for a particular case.  We could also decide that int does not
survive_gc_p, but it would be less useful.

> I'll try :weak `key' and check if it really works locally.
> It seems that we can't commit anything for a while anyway.

It shouldn't make any difference in practice.


        Stefan

  reply	other threads:[~2003-12-08  2:52 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-11-24 10:09 GC crashes Werner LEMBERG
2003-11-26  2:03 ` Kenichi Handa
2003-11-28  9:31   ` [mew-int 01653] " Werner LEMBERG
2003-12-01 12:40     ` [mew-int 01661] " Kenichi Handa
2003-12-02  8:31       ` [mew-int 01666] " Werner LEMBERG
2003-12-02 16:25       ` Stefan Monnier
2003-12-02 23:37         ` [mew-int 01671] " Kenichi Handa
2003-12-03 17:25           ` Stefan Monnier
2003-12-03 23:19             ` Kenichi Handa
2003-12-03 23:58               ` [mew-int 01678] " Stefan Monnier
2003-12-04  0:29               ` Stefan Monnier
2003-12-04  1:12                 ` Kenichi Handa
2003-12-04  2:21                   ` Kenichi Handa
2003-12-04 15:48                     ` Stefan Monnier
2003-12-08  2:31                       ` Kenichi Handa
2003-12-08  2:52                         ` Stefan Monnier [this message]
2003-12-08  5:01                           ` Kenichi Handa
2003-12-08  5:16                             ` Stefan Monnier
2003-12-08  6:05                               ` Kenichi Handa
2003-12-08  6:25                                 ` Stefan Monnier
2003-12-08  7:14                                   ` Kenichi Handa
2003-11-26 14:24 ` Stefan Monnier
2003-12-02  7:01 ` Eli Zaretskii
  -- strict thread matches above, loose matches on Subject: below --
2004-12-06 14:32 Items in FOR-RELEASE Stefan
2004-12-06 19:52 ` Juri Linkov
2004-12-06 20:12   ` Stefan Monnier
2004-12-06 21:12     ` Juri Linkov
2004-12-06 21:45       ` Stefan Monnier
2004-12-06 22:47         ` GC crashes (Was: Items in FOR-RELEASE) Juri Linkov
2004-12-07  9:37           ` GC crashes Kim F. Storm
2004-12-07 15:54             ` Paul Pogonyshev
2004-12-07 20:46               ` Jan D.
2004-12-07 20:53               ` Nick Roberts
2004-12-08  0:17                 ` Paul Pogonyshev
2004-12-08  6:04                   ` Jan D.
2004-12-08  7:31                     ` Nick Roberts
2004-12-08 17:39                       ` Eli Zaretskii
2004-12-08 19:27                         ` Nick Roberts
2004-12-08 22:15                 ` Richard Stallman
2005-12-14 21:49 Chong Yidong
2005-12-14 23:18 ` David Kastrup
2005-12-14 23:24   ` Chong Yidong
2005-12-14 23:28     ` David Kastrup
2005-12-17 19:52   ` Chong Yidong
2005-12-18 17:15 ` Richard M. Stallman

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

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=jwvfzfw3tzm.fsf-monnier+emacs/devel@vor.iro.umontreal.ca \
    --to=monnier@iro.umontreal.ca \
    --cc=emacs-devel@gnu.org \
    /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 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).