Number: 1381

Date:  8-Jun-84 11':52':46

Submitter: Sannella.PA

Source: Masinter.pa

Subject: Changes to ARRAY -- default is now POINTER, and FLOATP is stored unboxed

Assigned To: 

Attn: 

Status: Closed

In/By: Harmony

Problem Type: Performance

Impact: 

Difficulty: 

Frequency: 

Priority: 

System: Language Support

Subsystem: Storage Formats/Mgt

Machine: 

Disk: 

Lisp Version: 

Source Files: 

Microcode Version: 

Memory Size: 

File Server: 

Server Software Version: 

Disposition: '
["Sannella" "20-Aug-84 18':27':59" Status':(Fixed->Closed) In/By':]

Description: '
Date':  7 Jun 84 18':02 PDT'
From': Masinter.pa'
Subject': new LLARRAYELT -- default is now POINTER, and FLOATP is stored unboxed'
To': LispSupport, Purcell, Jellinek, Kaplan'
cc': Masinter.pa'
'
I have made the following changes to LLARRAYELT':'
'
the default array type if you say NIL is POINTER, not DOUBLEPOINTER.'
'
I think that DOUBLEPOINTER is an anachronism that we can gracefully retire at this point.'
'
Secondly, I changed it so that arrays of type FLOATP are indeed stored unboxed. If you want boxed, say POINTER instead of FLOATP.'
'
Finally, I added an ALIGN argument to ARRAY which is merely passed down to ALLOCBLOCK. This is for those who for some odd reason want to do microcoded things to arrays.'
'
Should arrays of type FLOATP always be aligned not to cross page boundaries?'
'
-----'
'
Date':  7 Jun 84 18':07 PDT'
From': Kaplan.pa'
Subject': Re': new LLARRAYELT -- default is now POINTER, and FLOATP is stored unboxed'
In-reply-to': Masinter.pa''s message of 7 Jun 84 18':02 PDT'
To': Masinter.pa'
cc': LispSupport.pa, Purcell.pa, Jellinek.pa, Kaplan.pa'
'
How COULD they be aligned not to cross page boundaries?'
'
Do you mean segment boundaries?'
'
Your change to default to type POINTER is something that MUST be mentioned in the Harmony release message, unless we (you?) go in and make the further change of secretly allocating the CDR arrayblock the first time a SETD is done.'
'
-----'
'
Date':  7 Jun 84 18':10':33 PDT (Thursday)'
From': Masinter.PA'
Subject': Re': new LLARRAYELT -- default is now POINTER, and FLOATP is stored unboxed'
In-reply-to': Kaplan''s message of 7 Jun 84 18':07 PDT'
To': Kaplan'
cc': Masinter, LispSupport, Purcell, Jellinek'
'
yes, I think actually that it belongs in the announcement of "Things we intend to change in Harmony", including (ZEROP 0.0).'
'
In both cases, there is a simple transform': (ARRAY x) => (ARRAY x ''DOUBLEPOINTER), and (ZEROP x) => (EQ x 0) which preserves the *old* semantics.'
'
'


Workaround: 

Test Case: 

Edit-By: Sannella

Edit-Date: 20-Aug-84 18':28':00