*/
#include <stdio.h>
+#include <stdlib.h>
#include <ctype.h>
-#include <signal.h>
#include "sbcl.h"
+#if defined(LISP_FEATURE_WIN32) && defined(LISP_FEATURE_SB_THREAD)
+#include "pthreads_win32.h"
+#else
+#include <signal.h>
+#endif
#include "runtime.h"
#if defined(LISP_FEATURE_SB_LDB)
#include "arch.h"
#include "search.h"
#include "thread.h"
+#include "pseudo-atomic.h"
#include "genesis/simple-fun.h"
#include "genesis/fdefn.h"
}
/* Search dynamic space. */
-#ifndef LISP_FEATURE_GENCGC
+#if defined(LISP_FEATURE_GENCGC)
+ headerptr = (lispobj *)DYNAMIC_SPACE_START;
+ count = (lispobj *)get_alloc_pointer() - headerptr;
+#else
headerptr = (lispobj *)current_dynamic_space;
count = dynamic_space_free_pointer - headerptr;
-#else
- headerptr = (lispobj *)DYNAMIC_SPACE_START;
- count = ((lispobj *)SymbolValue(ALLOCATION_POINTER,0)) - headerptr;
#endif
+
if (search_for_symbol(name, &headerptr, &count)) {
*result = make_lispobj(headerptr, OTHER_POINTER_LOWTAG);
return 1;