X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fx86%2Fparms.lisp;h=701b42fb5526b57acfddeba12508bb4fad572414;hb=20b2378572cf7378f3f267e2234c4234dacfbdc9;hp=1c5c1b1467b052f361d366329b0d1b8aaa26d31f;hpb=c81c32ef8a737b0cc61d3c0c6a137cab39baac73;p=sbcl.git diff --git a/src/compiler/x86/parms.lisp b/src/compiler/x86/parms.lisp index 1c5c1b1..701b42f 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,11 +219,14 @@ ;; 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 + #!+sb-thread sb!thread::handle-thread-exit ;; free pointers ;; @@ -258,8 +250,13 @@ sb!unix::*interrupt-pending* *free-interrupt-context-index* + *free-tls-index* + *allocation-pointer* *binding-stack-pointer* + *binding-stack-start* + *control-stack-start* + *control-stack-end* ;; the floating point constants *fp-constant-0d0*