X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fx86%2Fparms.lisp;h=234421d9d82afc4f4861c4ec2a56f8296a7465d2;hb=b7a8f5313a83dea33ce60551a4fb987b415c2cc6;hp=1c5c1b1467b052f361d366329b0d1b8aaa26d31f;hpb=c81c32ef8a737b0cc61d3c0c6a137cab39baac73;p=sbcl.git diff --git a/src/compiler/x86/parms.lisp b/src/compiler/x86/parms.lisp index 1c5c1b1..234421d 100644 --- a/src/compiler/x86/parms.lisp +++ b/src/compiler/x86/parms.lisp @@ -27,6 +27,10 @@ ;;; the number of bits per word, where a word holds one lisp descriptor (def!constant n-word-bits 32) +;;; the natural width of a machine word (as seen in e.g. register width, +;;; address space) +(def!constant n-machine-word-bits 32) + ;;; the number of bits per byte, where a byte is the smallest ;;; addressable object (def!constant n-byte-bits 8) @@ -142,13 +146,7 @@ (def!constant static-space-end #x07fff000) (def!constant dynamic-space-start #x09000000) - (def!constant dynamic-space-end #x29000000) - - (def!constant control-stack-start #x50000000) - (def!constant control-stack-end #x57fff000) - - (def!constant binding-stack-start #x60000000) - (def!constant binding-stack-end #x67fff000)) + (def!constant dynamic-space-end #x29000000)) #!+bsd (progn @@ -161,19 +159,10 @@ #!+openbsd #x28000000) (def!constant static-space-end #x37fff000) - (def!constant binding-stack-start #x38000000) - (def!constant binding-stack-end #x3ffff000) - - (def!constant control-stack-start - #!+freebsd #x40000000 - #!+openbsd #x48000000) - (def!constant control-stack-end - #!+freebsd #x47fff000 - #!+openbsd #x4ffff000) (def!constant dynamic-space-start - #!+freebsd #x48000000 - #!+openbsd #x50000000) - (def!constant dynamic-space-end #x88000000)) + #!+freebsd #x48000000 + #!+openbsd #x50000000) + (def!constant dynamic-space-end #x88000000)) ;;; Given that NIL is the first thing allocated in static space, we ;;; know its value at compile time: @@ -230,9 +219,11 @@ ;; The C startup code must fill these in. *posix-argv* - ;; functions that the C code needs to call - maybe-gc + ;; functions that the C code needs to call. When adding to this list, + ;; also add a `frob' form in genesis.lisp finish-symbols. + sub-gc sb!kernel::internal-error + sb!kernel::control-stack-exhausted-error sb!di::handle-breakpoint fdefinition-object @@ -258,8 +249,14 @@ sb!unix::*interrupt-pending* *free-interrupt-context-index* + *free-tls-index* + sb!thread::*foreground-thread-stack* + *allocation-pointer* *binding-stack-pointer* + *binding-stack-start* + *control-stack-start* + *control-stack-end* ;; the floating point constants *fp-constant-0d0*