[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/gc/include/private/gc_priv.h [Boehm-GC]
From: |
Dave Love |
Subject: |
[Emacs-diffs] Changes to emacs/gc/include/private/gc_priv.h [Boehm-GC] |
Date: |
Mon, 16 Jun 2003 11:41:52 -0400 |
Index: emacs/gc/include/private/gc_priv.h
diff -c emacs/gc/include/private/gc_priv.h:1.2.2.1
emacs/gc/include/private/gc_priv.h:1.2.2.2
*** emacs/gc/include/private/gc_priv.h:1.2.2.1 Thu Jun 5 14:23:05 2003
--- emacs/gc/include/private/gc_priv.h Mon Jun 16 11:41:51 2003
***************
*** 42,49 ****
# include <sys/resource.h>
#endif /* BSD_TIME */
! # ifndef GC_H
! # include "gc.h"
# endif
# ifndef GC_MARK_H
--- 42,49 ----
# include <sys/resource.h>
#endif /* BSD_TIME */
! # ifndef _GC_H
! # include "../gc.h"
# endif
# ifndef GC_MARK_H
***************
*** 352,358 ****
# include <string.h>
# define BCOPY_EXISTS
# endif
! # if defined(MACOSX)
# define BCOPY_EXISTS
# endif
--- 352,359 ----
# include <string.h>
# define BCOPY_EXISTS
# endif
! # if defined(DARWIN)
! # include <string.h>
# define BCOPY_EXISTS
# endif
***************
*** 905,911 ****
/* OFFSET_TOO_BIG if the value j would be too */
/* large to fit in the entry. (Note that the */
/* size of these entries matters, both for */
! /* space consumption and for cache utilization. */
# define OFFSET_TOO_BIG 0xfe
# define OBJ_INVALID 0xff
# define MAP_ENTRY(map, bytes) (map)[bytes]
--- 906,912 ----
/* OFFSET_TOO_BIG if the value j would be too */
/* large to fit in the entry. (Note that the */
/* size of these entries matters, both for */
! /* space consumption and for cache utilization.) */
# define OFFSET_TOO_BIG 0xfe
# define OBJ_INVALID 0xff
# define MAP_ENTRY(map, bytes) (map)[bytes]
***************
*** 1180,1185 ****
--- 1181,1190 ----
extern long GC_large_alloc_warn_suppressed;
/* Number of warnings suppressed so far. */
+ #ifdef THREADS
+ extern GC_bool GC_world_stopped;
+ #endif
+
/* Operations */
# ifndef abs
# define abs(x) ((x) < 0? (-(x)) : (x))
***************
*** 1354,1359 ****
--- 1359,1369 ----
# else
void GC_push_regs GC_PROTO((void));
# endif
+ # if defined(SPARC) || defined(IA64)
+ /* Cause all stacked registers to be saved in memory. Return a */
+ /* pointer to the top of the corresponding memory stack. */
+ word GC_save_regs_in_stack GC_PROTO((void));
+ # endif
/* Push register contents onto mark stack. */
/* If NURSERY is defined, the default push */
/* action can be overridden with GC_push_proc */
***************
*** 1403,1408 ****
--- 1413,1419 ----
/* Set all mark bits associated with */
/* a free list. */
void GC_add_roots_inner GC_PROTO((char * b, char * e, GC_bool tmp));
+ void GC_remove_roots_inner GC_PROTO((char * b, char * e));
GC_bool GC_is_static_root GC_PROTO((ptr_t p));
/* Is the address p in one of the registered static */
/* root sections? */
***************
*** 1618,1623 ****
--- 1629,1636 ----
/* Make the indicated */
/* free list nonempty, and return its */
/* head. */
+
+ void GC_free_inner(GC_PTR p);
void GC_init_headers GC_PROTO((void));
struct hblkhdr * GC_install_header GC_PROTO((struct hblk *h));
***************
*** 1845,1850 ****
--- 1858,1867 ----
# else
# define GC_ASSERT(expr)
# endif
+
+ /* Check a compile time assertion at compile time. The error */
+ /* message for failure is a bit baroque, but ... */
+ # define GC_STATIC_ASSERT(expr) sizeof(char[(expr)? 1 : -1])
# if defined(PARALLEL_MARK) || defined(THREAD_LOCAL_ALLOC)
/* We need additional synchronization facilities from the thread */
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] Changes to emacs/gc/include/private/gc_priv.h [Boehm-GC],
Dave Love <=