curr_fo -> fo_client_data);
curr_fo -> fo_client_data = 0;
++count;
-# ifdef UNDEFINED
- /* This is probably a bad idea. It throws off accounting if */
- /* nearly all objects are finalizable. O.w. it shouldn't */
- /* matter. */
- GC_free((void *)curr_fo);
-# endif
+ /* Explicit freeing of curr_fo is probably a bad idea. */
+ /* It throws off accounting if nearly all objects are */
+ /* finalizable. Otherwise it should not matter. */
}
/* bytes_freed_before is initialized whenever count != 0 */
if (count != 0 && bytes_freed_before != GC_bytes_freed) {
/* thus allowing the heap to grow to ~3GB */
# ifdef __ELF__
# define DYNAMIC_LOADING
-# ifdef UNDEFINED /* includes ro data */
- extern int _etext[];
-# define DATASTART ((ptr_t)((((word)(_etext)) + 0xfff) & ~0xfff))
-# endif
# include <features.h>
# if defined(__GLIBC__) && __GLIBC__ >= 2 \
|| defined(PLATFORM_ANDROID)
# endif
# ifdef __ELF__
# define DYNAMIC_LOADING
-# ifdef UNDEFINED /* includes ro data */
- extern int _etext[];
-# define DATASTART ((ptr_t)((((word)(_etext)) + 0xfff) & ~0xfff))
-# endif
# include <features.h>
# define SEARCH_FOR_DATA_START
extern int _end[];
return((complex_descriptor *)result);
}
-#ifdef UNDEFINED
- complex_descriptor * GC_make_complex_array_descriptor(word nelements,
- complex_descriptor *descr)
- {
- struct ComplexArrayDescriptor * result =
- (struct ComplexArrayDescriptor *)
- GC_malloc(sizeof(struct ComplexArrayDescriptor));
-
- if (result != 0) {
- result -> ad_tag = ARRAY_TAG;
- result -> ad_nelements = nelements;
- result -> ad_element_descr = descr;
- }
- return((complex_descriptor *)result);
- }
-#endif
-
STATIC ptr_t * GC_eobjfreelist = NULL;
STATIC mse * GC_typed_mark_proc(word * addr, mse * mark_stack_ptr,