Changeset 13256 for branches/purify


Ignore:
Timestamp:
Dec 8, 2009, 12:32:33 AM (10 years ago)
Author:
gb
Message:

We're going to want to use PURIFY rather than FREEZE here; more changes
will be necessary.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/purify/source/library/elf.lisp

    r12262 r13256  
    150150    (subseq (nsubstitute #\0 #\# (nsubstitute #\. #\Space name)) 1)))
    151151
    152 #+x8664-target
    153 (defx86lapfunction dynamic-dnode ((x arg_z))
    154   (movq (% x) (% imm0))
    155   (ref-global x86::heap-start arg_y)
    156   (subq (% arg_y) (% imm0))
    157   (shrq ($ x8664::dnode-shift) (% imm0))
    158   (box-fixnum imm0 arg_z)
    159   (single-value-return))
    160 
    161 #+x8632-target
    162 (defx8632lapfunction dynamic-dnode ((x arg_z))
    163   (movl (% x) (% imm0))
    164   (ref-global x86::heap-start arg_y)
    165   (subl (% arg_y) (% imm0))
    166   (shrl ($ x8632::dnode-shift) (% imm0))
    167   (box-fixnum imm0 arg_z)
    168   (single-value-return))
     152
    169153
    170154(defun collect-elf-static-functions ()
    171155  (collect ((functions))
    172     (freeze)
     156    (purify)
    173157    (block walk
    174158      (let* ((frozen-dnodes (frozen-space-dnodes)))
    175159        (%map-areas (lambda (o)
    176                       (when (>= (dynamic-dnode o) frozen-dnodes)
    177                         (return-from walk nil))
    178160                      (when (typep o
    179161                                   #+x8664-target 'function-vector
    180162                                   #-x8664-target 'function)
    181163                        (functions (function-vector-to-function o))))
    182                     ccl::area-dynamic
    183                     ccl::area-dynamic
     164                    ccl::area-readonly
     165                    ccl::area-readonly
    184166                    )))
    185167    (functions)))
Note: See TracChangeset for help on using the changeset viewer.