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

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

Re: Crash during access_keymap


From: YAMAMOTO Mitsuharu
Subject: Re: Crash during access_keymap
Date: Mon, 14 Nov 2005 16:44:31 +0900
User-agent: Wanderlust/2.14.0 (Africa) SEMI/1.14.6 (Maruoka) FLIM/1.14.6 (Marutamachi) APEL/10.6 Emacs/22.0.50 (sparc-sun-solaris2.8) MULE/5.0 (SAKAKI)

>>>>> On Sun, 13 Nov 2005 19:24:34 +0000, David Reitter <address@hidden> said:

> On 13 Nov 2005, at 06:39, YAMAMOTO Mitsuharu wrote:
>> So, if there's a non-pure object that is only pointed to by pure
>> objects, which may happen if the assumption for the pure storage is
>> violated, then the object is reachable but get collected.

> OK, that makes sense.  Do you know if this is documented somewhere?

I'm not sure if it is explicitly documented.  I just read src/alloc.c.
The function `mark_object' immediately returns if its argument is a
pure object.

> I've read the info nodes about pure storage etc., and it doesn't say
> anything about what to look for in code, or if there is a way to
> test for the effect while loading. Maybe on a port that implements
> memory protection?

Setting watchpoint to the variable `pure' will do run-time check.  It
is really feasible in GDB on Mac OS X thanks to hardware watchpoints.

> I mostly just preload code, but define a setup function in each
> package that is run at runtime. But from what you are saying, I am
> getting that vectors are allocated when the file is loaded, and not
> copied when a function is called. But if the code used (vector 0 0 0
> 0 0) instead of [0 0 0 0 0], the vector would be allocated at
> runtime and we don't run into such trouble. 

Yes, but a vector is created on every call then.

> Does this apply only to vectors?  (Since vectors seem immutable to
> me, this all would make sense...)

Literal strings and conses, as well as several vector-like objects.  I
don't understand what "vectors seem immutable" means above.  Vectors
are mutable in the sense that one can alter their contents.

                                     YAMAMOTO Mitsuharu
                                address@hidden




reply via email to

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