Back to index

plt-scheme  4.2.1
Defines | Typedefs | Functions | Variables
gc_mark.h File Reference
#include "gc.h"
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

#define GC_PROC_BYTES   100
#define GC_LOG_MAX_MARK_PROCS   6
#define GC_MAX_MARK_PROCS   (1 << GC_LOG_MAX_MARK_PROCS)
#define GC_RESERVED_MARK_PROCS   8
#define GC_GCJ_RESERVED_MARK_PROC_INDEX   0
#define GC_DS_TAG_BITS   2
#define GC_DS_TAGS   ((1 << GC_DS_TAG_BITS) - 1)
#define GC_DS_LENGTH   0 /* The entire word is a length in bytes that */
#define GC_DS_BITMAP   1 /* 30 (62) bits are a bitmap describing pointer */
#define GC_DS_PROC   2
#define GC_MAKE_PROC(proc_index, env)
#define GC_DS_PER_OBJECT   3 /* The real descriptor is at the */
#define GC_INDIR_PER_OBJ_BIAS   0x10
#define GC_MARK_AND_PUSH(obj, msp, lim, src)
#define GC_USR_PTR_FROM_BASE(p)   ((GC_PTR)((char *)(p) + GC_debug_header_size))
#define GC_TYPE_DESCR_LEN   40

Typedefs

typedef struct GC_ms_entry
*GC_mark_proc 
GC_PROTO ((GC_word *addr, struct GC_ms_entry *mark_stack_ptr, struct GC_ms_entry *mark_stack_limit, GC_word env))

Functions

struct GC_ms_entry
*GC_mark_and_push 
GC_PROTO ((GC_PTR obj, struct GC_ms_entry *mark_stack_ptr, struct GC_ms_entry *mark_stack_limit, GC_PTR *src))
void **GC_new_free_list GC_PROTO ((void))
int GC_new_kind GC_PROTO ((void **free_list, GC_word mark_descriptor_template, int add_size_to_descriptor, int clear_new_objects))
int GC_new_proc GC_PROTO ((GC_mark_proc))
char *GC_generic_malloc GC_PROTO ((GC_word lb, int k))
void GC_register_describe_type_fn GC_PROTO ((int kind, GC_describe_type_fn knd))

Variables

GC_PTR GC_least_plausible_heap_addr
GC_PTR GC_greatest_plausible_heap_addr
size_t GC_debug_header_size

Define Documentation

#define GC_DS_BITMAP   1 /* 30 (62) bits are a bitmap describing pointer */

Definition at line 76 of file gc_mark.h.

#define GC_DS_LENGTH   0 /* The entire word is a length in bytes that */

Definition at line 74 of file gc_mark.h.

#define GC_DS_PER_OBJECT   3 /* The real descriptor is at the */

Definition at line 92 of file gc_mark.h.

#define GC_DS_PROC   2

Definition at line 84 of file gc_mark.h.

#define GC_DS_TAG_BITS   2

Definition at line 72 of file gc_mark.h.

#define GC_DS_TAGS   ((1 << GC_DS_TAG_BITS) - 1)

Definition at line 73 of file gc_mark.h.

Definition at line 67 of file gc_mark.h.

#define GC_INDIR_PER_OBJ_BIAS   0x10

Definition at line 107 of file gc_mark.h.

#define GC_LOG_MAX_MARK_PROCS   6

Definition at line 60 of file gc_mark.h.

#define GC_MAKE_PROC (   proc_index,
  env 
)
Value:
(((((env) << GC_LOG_MAX_MARK_PROCS) \
              | (proc_index)) << GC_DS_TAG_BITS) | GC_DS_PROC)

Definition at line 89 of file gc_mark.h.

#define GC_MARK_AND_PUSH (   obj,
  msp,
  lim,
  src 
)
Value:

Definition at line 138 of file gc_mark.h.

Definition at line 61 of file gc_mark.h.

#define GC_PROC_BYTES   100

Definition at line 54 of file gc_mark.h.

#define GC_RESERVED_MARK_PROCS   8

Definition at line 66 of file gc_mark.h.

#define GC_TYPE_DESCR_LEN   40

Definition at line 195 of file gc_mark.h.

#define GC_USR_PTR_FROM_BASE (   p)    ((GC_PTR)((char *)(p) + GC_debug_header_size))

Definition at line 149 of file gc_mark.h.


Typedef Documentation

typedef void GC_describe_type_fn GC_PROTO((void *p, char *out_buf))

Definition at line 56 of file gc_mark.h.


Function Documentation

struct GC_ms_entry* GC_mark_and_push GC_PROTO ( (GC_PTR obj, struct GC_ms_entry *mark_stack_ptr, struct GC_ms_entry *mark_stack_limit, GC_PTR *src ) [read]

Definition at line 117 of file alloc.c.

{ return(0); }
int GC_new_kind GC_PROTO ( (void **free_list, GC_word mark_descriptor_template, int add_size_to_descriptor, int clear_new_objects)  )
int GC_new_proc GC_PROTO ( (GC_mark_proc)  )
char* GC_generic_malloc GC_PROTO ( (GC_word lb, int k)  )
void GC_register_describe_type_fn GC_PROTO ( (int kind, GC_describe_type_fn knd)  )

Variable Documentation

Definition at line 467 of file dbg_mlc.c.

Definition at line 888 of file alloc.c.

Definition at line 887 of file alloc.c.