emacs-devel
[Top][All Lists]
Advanced

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

Re: t and nil in pure memory?


From: Dan Nicolaescu
Subject: Re: t and nil in pure memory?
Date: Sun, 15 Nov 2009 13:08:18 -0800 (PST)

Stefan Monnier <address@hidden> writes:

  > I still strongly believe there's more to be gained by optimizing the
  > tight mark_object (recursive) 

Like this:

#define MAYBE_MARK_OBJECT(ARG)                          \
  do {                                                  \
    Lisp_Object OBJ = ARG;                              \
                                                        \
    if ((XTYPE (OBJ) == Lisp_Symbol))                   \
      {                                                 \
        struct Lisp_Symbol *tptr = XSYMBOL (OBJ);       \
        if (!tptr->gcmarkbit)                           \
          mark_object (OBJ);                            \
      }                                                 \
    else                                                \
      mark_object (OBJ);                                \
} while (0)

and replace all the recursive mark_object calls with MAYBE_MARK_OBJECT ?

The one testcase I tried (indenting config.h) does not benefit from this.

The big problem in GC is the trashing of the memory system due to
setting/resetting and reading the mark bits...




reply via email to

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