all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* Stack marking and Lisp objects alignment
@ 2007-07-07 19:09 Dmitry Antipov
  2007-07-10 17:58 ` Stefan Monnier
  0 siblings, 1 reply; 2+ messages in thread
From: Dmitry Antipov @ 2007-07-07 19:09 UTC (permalink / raw)
  To: emacs-devel

[-- Attachment #1: Type: text/plain, Size: 86 bytes --]

Is that correct ? If yes, this is a tiny speedup for stack marking code...



Dmitry


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: pointer_marking.patch --]
[-- Type: text/x-patch; name="pointer_marking.patch", Size: 780 bytes --]

Index: alloc.c
===================================================================
RCS file: /sources/emacs/emacs/src/alloc.c,v
retrieving revision 1.410
diff -u -r1.410 alloc.c
--- alloc.c	8 Jun 2007 19:59:46 -0000	1.410
+++ alloc.c	7 Jul 2007 19:03:23 -0000
@@ -4263,9 +4263,14 @@
 {
   struct mem_node *m;
 
-  /* Quickly rule out some values which can't point to Lisp data.  We
-     assume that Lisp data is aligned on even addresses.  */
+  /* Quickly rule out some values which can't point to Lisp data.  We assume
+     that Lisp data is aligned on 8-byte boundaries if LSB tagging scheme is
+     used, or at least at even addresses otherwise.  */
+#ifdef USE_LSB_TAG
+  if ((EMACS_INT) p & 7)
+#else
   if ((EMACS_INT) p & 1)
+#endif
     return;
 
   m = mem_find (p);

[-- Attachment #3: Type: text/plain, Size: 142 bytes --]

_______________________________________________
Emacs-devel mailing list
Emacs-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-devel

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2007-07-10 17:58 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-07-07 19:09 Stack marking and Lisp objects alignment Dmitry Antipov
2007-07-10 17:58 ` Stefan Monnier

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.