Ticket #306 (new enhancement)

Opened 7 months ago

Last modified 4 days ago

don't put lisp objects at addresses below #x01000000

Reported by: rme Assigned to: rme
Priority: minor Milestone: IA-32 port
Component: Runtime (threads, GC) Version:
Keywords: Cc:

Description

We should make it impossible for any lisp object to have an address below #x01000000 (16M).

If we guarantee this, we can make it legal for node registers to contain unboxed values below 2^24 (which, conveniently enough, is ARRAY-TOTAL-SIZE-LIMIT: we could therefore put unboxed vector indexes into node registers.)

Certainly the lisp heap would have to start at #x01000000 or above, and stacks probably would too. If we can do this, then the GC will still be able to reliably distinguish nodes from non-nodes, and we'll be able to avoid doing mark-as-imm/mark-as-node in many cases.

Change History

01/03/09 11:07:19 changed by rme

  • priority changed from major to minor.