0.6.11.1:
[sbcl.git] / src / code / target-allocate.lisp
diff --git a/src/code/target-allocate.lisp b/src/code/target-allocate.lisp
new file mode 100644 (file)
index 0000000..37d6540
--- /dev/null
@@ -0,0 +1,32 @@
+;;;; system memory allocation
+
+;;;; This software is part of the SBCL system. See the README file for
+;;;; more information.
+;;;;
+;;;; This software is derived from the CMU CL system, which was
+;;;; written at Carnegie Mellon University and released into the
+;;;; public domain. The software is in the public domain and is
+;;;; provided with absolutely no warranty. See the COPYING and CREDITS
+;;;; files for more information.
+
+(in-package "SB!KERNEL")
+
+(sb!alien:def-alien-routine ("os_allocate" allocate-system-memory)
+                           system-area-pointer
+  (bytes sb!c-call:unsigned-long))
+
+(sb!alien:def-alien-routine ("os_allocate_at" allocate-system-memory-at)
+                           system-area-pointer
+  (address system-area-pointer)
+  (bytes sb!c-call:unsigned-long))
+
+(sb!alien:def-alien-routine ("os_reallocate" reallocate-system-memory)
+                           system-area-pointer
+  (old system-area-pointer)
+  (old-size sb!c-call:unsigned-long)
+  (new-size sb!c-call:unsigned-long))
+
+(sb!alien:def-alien-routine ("os_deallocate" deallocate-system-memory)
+                           sb!c-call:void
+  (addr system-area-pointer)
+  (bytes sb!c-call:unsigned-long))