From 5f10e2d80e343b0a6e9fd7ba1a1516b0697045aa Mon Sep 17 00:00:00 2001 From: Kevin Tew Date: Wed, 5 Nov 2008 21:08:11 +0000 Subject: [PATCH] Cleaned up newgc_parts and newgc_internal.h svn: r12286 --- src/mzscheme/gc2/Makefile.in | 2 +- .../gc2/{newgc_parts => }/blame_the_child.c | 0 src/mzscheme/gc2/newgc.c | 4 +- .../gc2/{newgc_internal.h => newgc.h} | 0 src/mzscheme/gc2/newgc_parts/backtrace.c | 78 ------------------- 5 files changed, 3 insertions(+), 81 deletions(-) rename src/mzscheme/gc2/{newgc_parts => }/blame_the_child.c (100%) rename src/mzscheme/gc2/{newgc_internal.h => newgc.h} (100%) delete mode 100644 src/mzscheme/gc2/newgc_parts/backtrace.c diff --git a/src/mzscheme/gc2/Makefile.in b/src/mzscheme/gc2/Makefile.in index a1fd4f6c78..56bfbedfd7 100644 --- a/src/mzscheme/gc2/Makefile.in +++ b/src/mzscheme/gc2/Makefile.in @@ -314,7 +314,7 @@ main.@LTO@: $(XSRCDIR)/main.c $(CC) $(CFLAGS) -c $(XSRCDIR)/main.c -o main.@LTO@ gc2.@LTO@: $(srcdir)/gc2.c $(srcdir)/newgc.c $(srcdir)/compact.c $(srcdir)/newgc.c $(srcdir)/gc2.h \ - $(srcdir)/newgc_internal.h \ + $(srcdir)/newgc.h \ $(srcdir)/vm_osx.c $(srcdir)/vm_mmap.c $(srcdir)/vm_osk.c $(srcdir)/vm.c\ $(srcdir)/vm_memalign.c $(srcdir)/alloc_cache.c \ $(srcdir)/page_range.c $(srcdir)/protect_range.c $(srcdir)/var_stack.c $(srcdir)/stack_comp.c \ diff --git a/src/mzscheme/gc2/newgc_parts/blame_the_child.c b/src/mzscheme/gc2/blame_the_child.c similarity index 100% rename from src/mzscheme/gc2/newgc_parts/blame_the_child.c rename to src/mzscheme/gc2/blame_the_child.c diff --git a/src/mzscheme/gc2/newgc.c b/src/mzscheme/gc2/newgc.c index 94dd514360..c008d24267 100644 --- a/src/mzscheme/gc2/newgc.c +++ b/src/mzscheme/gc2/newgc.c @@ -73,7 +73,7 @@ static const char *type_name[PAGE_TYPES] = { }; -#include "newgc_internal.h" +#include "newgc.h" static THREAD_LOCAL NewGC *GC; #include "msgprint.c" @@ -1303,7 +1303,7 @@ inline static int thread_get_owner(void *p) { return ((Scheme_Thread *)p)->gc_info->owner; } -#include "newgc_parts/blame_the_child.c" +#include "blame_the_child.c" int GC_set_account_hook(int type, void *c1, unsigned long b, void *c2) { diff --git a/src/mzscheme/gc2/newgc_internal.h b/src/mzscheme/gc2/newgc.h similarity index 100% rename from src/mzscheme/gc2/newgc_internal.h rename to src/mzscheme/gc2/newgc.h diff --git a/src/mzscheme/gc2/newgc_parts/backtrace.c b/src/mzscheme/gc2/newgc_parts/backtrace.c deleted file mode 100644 index 8ffd470ec1..0000000000 --- a/src/mzscheme/gc2/newgc_parts/backtrace.c +++ /dev/null @@ -1,78 +0,0 @@ -/*****************************************************************************/ -/* Backtrace */ -/*****************************************************************************/ - -#if MZ_GC_BACKTRACE - -static void backtrace_new_page(struct mpage *page) -{ - /* This is a little wastefull for big pages, because we'll - only use the first few words: */ - page->backtrace = (void **)malloc_pages(APAGE_SIZE, APAGE_SIZE); -} - -static void free_backtrace(struct mpage *page) -{ - free_pages(page->backtrace, APAGE_SIZE); -} - -static void *bt_source; -static int bt_type; - -static void set_backtrace_source(void *source, int type) -{ - bt_source = source; - bt_type = type; -} - -static void record_backtrace(struct mpage *page, void *ptr) -/* ptr is after objhead */ -{ - unsigned long delta; - - delta = PPTR(ptr) - PPTR(page->addr); - page->backtrace[delta - 1] = bt_source; - ((long *)page->backtrace)[delta] = bt_type; -} - -static void copy_backtrace_source(struct mpage *to_page, void *to_ptr, - struct mpage *from_page, void *from_ptr) -/* ptrs are at objhead */ -{ - unsigned long to_delta, from_delta; - - to_delta = PPTR(to_ptr) - PPTR(to_page->addr); - from_delta = PPTR(from_ptr) - PPTR(from_page->addr); - - to_page->backtrace[to_delta] = from_page->backtrace[from_delta]; - to_page->backtrace[to_delta+1] = from_page->backtrace[from_delta+1]; -} - - -static void *get_backtrace(struct mpage *page, void *ptr) -/* ptr is after objhead */ -{ - unsigned long delta; - - if (page->big_page) - ptr = PTR(page->addr + PREFIX_SIZE + WORD_SIZE); - - delta = PPTR(ptr) - PPTR(page->addr); - return page->backtrace[delta - 1]; -} - - -# define BT_STACK (PAGE_TYPES + 0) -# define BT_ROOT (PAGE_TYPES + 1) -# define BT_FINALIZER (PAGE_TYPES + 2) -# define BT_WEAKLINK (PAGE_TYPES + 3) -# define BT_IMMOBILE (PAGE_TYPES + 4) - -#else -# define backtrace_new_page(page) /* */ -# define free_backtrace(page) /* */ -# define set_backtrace_source(ptr, type) /* */ -# define record_backtrace(page, ptr) /* */ -# define copy_backtrace_source(to_page, to_ptr, from_page, from_ptr) /* */ -#endif -