[racket-dev] swapping `unsafe-vector-ref' and `unsafe-vector*-ref'

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Mon Oct 25 13:26:53 EDT 2010

I've pushed a change (intended to be merged to 5.0.2) that
swaps 

 `unsafe-vector-ref'    <-> `unsafe-vector*-ref'
 `unsafe-vector-set!'   <-> `unsafe-vector*-set'
 `unsafe-vector-length' <-> `unsafe-vector*-length'
 `unsafe-unbox'         <-> `unsafe-unbox*'
 `unsafe-set-box!'      <-> `unsafe-set-box*!'
 `unsafe-struct-ref'    <-> `unsafe-struct*-ref'
 `unsafe-struct-set!'   <-> `unsafe-struct*-set'

I tried to change all uses in the repository, but the patch needs lots
of eyes and testing.

Otherwise, all existing uses of the starred operation are now broken,
and they need to be changed to unstarred operations.

Of course, the point of the change is that uses of the unstarred
operation should now be ok, and we think there may be more of those.
Also, in cases where chaperones cannot appear, code should be changed
to use the starred operations for better performance.




Posted on the dev mailing list.