Ignore:
Timestamp:
May 30, 2010, 8:34:50 AM (9 years ago)
Author:
gb
Message:

nfcomp.lisp: in the pkg/no *FASDUMP-EPUSH*/ASCII case in FASL-DUMP-SYMBOL,

use $fasl-nvpkg-intern (not the -special variant) when no symbol-binding
index is involved. (Getting this wrong has caused >10000 symbols that
aren't referenced in special-binding constructs to have symbol-binding
indices, making the per-thread special bindings table unnecessarily large
and exposing problems with %FOREIGN-THREAD-INITIALIZE.

ppc-symbol.lisp, x8632-symbol.lisp, x86-symbol.lisp: define %ENSURE-TLB-INDEX,

which uses a platform-specific conditional trap to ensure that the current
thread's tlb is large enough.

l1-lisp-threads.lisp: use %ENSURE-TLB-INDEX in %FOREIGN-THREAD-INITIALIZE,

to ensure that TLB indices used in that function are in bounds.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/lib/nfcomp.lisp

    r13675 r13745  
    18621862             (fasl-out-byte (if idx
    18631863                              (if ascii $fasl-nvpkg-intern-special $fasl-vpkg-intern-special)
    1864                               (if ascii $fasl-nvpkg-intern-special $fasl-vpkg-intern)))
     1864                              (if ascii $fasl-nvpkg-intern $fasl-vpkg-intern)))
    18651865             (fasl-dump-form pkg)
    18661866             (if ascii
Note: See TracChangeset for help on using the changeset viewer.