diff options
author | ivmai <ivmai> | 2011-05-31 15:27:11 +0000 |
---|---|---|
committer | Ivan Maidanski <ivmai@mail.ru> | 2011-07-26 21:07:00 +0400 |
commit | 00b9b2b2b07d10d16bdfe6bdd7614e3064b0cc29 (patch) | |
tree | cc5bbc42963ef5597c03366c2a2603f6345d2fe0 /dyn_load.c | |
parent | 52dd481a53d751d0557b7d0daa5fb2a6b55b7ab2 (diff) | |
download | bdwgc-00b9b2b2b07d10d16bdfe6bdd7614e3064b0cc29.tar.gz |
2011-05-31 Ivan Maidanski <ivmai@mail.ru>
* alloc.c (GC_add_current_malloc_heap, GC_build_back_graph,
GC_traverse_back_graph): Move prototype to gc_priv.h.
* checksums.c (GC_page_was_ever_dirty): Ditto.
* dbg_mlc.c (GC_default_print_heap_obj_proc): Ditto.
* dyn_load.c (GC_parse_map_entry, GC_get_maps,
GC_segment_is_thread_stack, GC_roots_present, GC_is_heap_base,
GC_get_next_stack): Ditto.
* finalize.c (GC_reset_finalizer_nested,
GC_check_finalizer_nested): Ditto.
* gcj_mlc.c (GC_start_debugging, GC_store_debug_info): Ditto.
* malloc.c (GC_extend_size_map, GC_text_mapping): Ditto.
* mark_rts.c (GC_mark_thread_local_free_lists): Ditto.
* misc.c (GC_register_main_static_data, GC_init_win32,
GC_setpagesize, GC_init_linux_data_start,
GC_set_and_save_fault_handler, GC_init_dyld, GC_init_netbsd_elf,
GC_initialize_offsets, GC_bl_init, GC_do_blocking_inner,
GC_bl_init_no_interiors): Ditto.
* os_dep.c (GC_greatest_stack_base_below, GC_push_all_stacks):
Ditto.
* reclaim.c (GC_check_leaked): Ditto.
* win32_threads.c (GC_gww_dirty_init): Ditto.
* darwin_stop_world.c (GC_is_mach_marker, GC_mprotect_stop,
GC_mprotect_resume): Move prototype to darwin_stop_world.h.
* pthread_support.c (GC_FindTopOfStack): Ditto.
* dyn_load.c (GC_cond_add_roots): Merge adjacent definitions.
* mark.c (GC_page_was_ever_dirty): Remove (as already declared).
* mark_rts.c (GC_roots_present): Change return type to void
pointer (to match the prototype); return NULL instead of FALSE.
* mark_rts.c (GC_add_roots_inner): Cast GC_roots_present() result.
* os_dep.c (NEED_PROC_MAPS): Move definition to gcconfig.h.
* os_dep.c (GC_write_fault_handler): Make STATIC.
* os_dep.c (GC_set_write_fault_handler): New function (only if
GC_WIN32_THREADS).
* pthread_start.c (GC_start_rtn_prepare_thread,
GC_thread_exit_proc): Move prototype to pthread_support.h.
* pthread_support.c (GC_nacl_initialize_gc_thread,
GC_nacl_shutdown_gc_thread, GC_unblock_gc_signals):
Ditto.
* pthread_support.c (GC_stop_init): Move prototype to
pthread_stop_world.h.
* thread_local_alloc.c (GC_check_tls_for): Reformat comment.
* win32_threads.c (GC_write_fault_handler): Remove prototype.
* win32_threads.c (GC_register_my_thread_inner): Call
GC_set_write_fault_handler instead of SetUnhandledExceptionFilter
(only if MPROTECT_VDB).
* doc/README.win32: Add information about DMC.
* include/private/gc_priv.h (GC_set_write_fault_handler): New
prototype (only if GC_WIN32_THREADS and MPROTECT_VDB).
Diffstat (limited to 'dyn_load.c')
-rw-r--r-- | dyn_load.c | 34 |
1 files changed, 6 insertions, 28 deletions
@@ -239,11 +239,6 @@ GC_INNER void GC_register_dynamic_libraries(void) #define MAPS_BUF_SIZE (32*1024) -GC_INNER char *GC_parse_map_entry(char *buf_ptr, ptr_t *start, ptr_t *end, - char **prot, unsigned int *maj_dev, - char **mapping_name); -GC_INNER char *GC_get_maps(void); /* from os_dep.c */ - /* Sort an array of HeapSects by start address. */ /* Unfortunately at least some versions of */ /* Linux qsort end up calling malloc by way of sysconf, and hence can't */ @@ -274,10 +269,6 @@ static void sort_heap_sects(struct HeapSect *base, size_t number_of_elements) } } -#ifdef THREADS - GC_INNER GC_bool GC_segment_is_thread_stack(ptr_t lo, ptr_t hi); -#endif - STATIC word GC_register_map_entries(char *maps) { char *prot; @@ -725,10 +716,6 @@ GC_INNER void GC_register_dynamic_libraries(void) # define IRIX6 #endif -GC_INNER void * GC_roots_present(ptr_t); - /* The type is a lie, since the real type doesn't make sense here, */ - /* and we only test for NULL. */ - /* We use /proc to track down all parts of the address space that are */ /* mapped by the process, and throw out regions we know we shouldn't */ /* worry about. This may also work under other SVR4 variants. */ @@ -854,15 +841,9 @@ GC_INNER void GC_register_dynamic_libraries(void) /* We traverse the entire address space and register all segments */ /* that could possibly have been written to. */ - - GC_INNER GC_bool GC_is_heap_base(ptr_t p); - -# ifdef GC_WIN32_THREADS - GC_INNER void GC_get_next_stack(char *start, char * limit, char **lo, - char **hi); - - STATIC void GC_cond_add_roots(char *base, char * limit) - { + STATIC void GC_cond_add_roots(char *base, char * limit) + { +# ifdef GC_WIN32_THREADS char * curr_base = base; char * next_stack_lo; char * next_stack_hi; @@ -876,10 +857,7 @@ GC_INNER void GC_register_dynamic_libraries(void) curr_base = next_stack_hi; } if (curr_base < limit) GC_add_roots_inner(curr_base, limit, TRUE); - } -# else - STATIC void GC_cond_add_roots(char *base, char * limit) - { +# else char dummy; char * stack_top = (char *) ((word)(&dummy) & ~(GC_sysinfo.dwAllocationGranularity-1)); @@ -889,8 +867,8 @@ GC_INNER void GC_register_dynamic_libraries(void) return; } GC_add_roots_inner(base, limit, TRUE); - } -# endif +# endif + } #ifdef DYNAMIC_LOADING /* GC_register_main_static_data is not needed unless DYNAMIC_LOADING. */ |