Next Previous Up Top Contents Index

10 The HCL Package

allocation-in-gen-num

Macro

Summary

Allocates objects from a specified generation within the scope of evaluating a number of forms.
Package

hcl

Signature

allocation-in-gen-num gen-num &body body => result

Arguments

gen-num

An integer, which if out of range for a valid generation number is rounded either to the youngest or oldest generation.

If gen-num is negative, the specified generation is: the highest generation number + 1 - gen-num, so that an argument of -1 specifies the highest generation number.

body

The forms to be evaluated while the allocation generation has been temporarily set to gen-num.

Values

result

The result of evaluating body.

Description

Allocates objects from a specified generation during the extent of the evaluation of the body forms.
Examples

(allocation-in-gen-num
     1
   (setq tab (make-hash-table :size 1200
                              :test 'eq)
         arr (make-array 20)))

Notes

Normally objects are allocated from the first (youngest) generation, which assumes that they are short-lived. The storage allocator and garbage collector perform better if allocation of large numbers of non-ephemeral objects is done explicitly into a generation other than the youngest.
See also

set-default-generation
get-default-generation
*symbol-alloc-gen-num*


LispWorks Reference Manual - 15 Oct 1998

Next Previous Up Top Contents Index

Generated with Harlequin WebMaker