External string buffers for generic-i/o-ports.
authorMatt Birkholz <matt@birkholz.chandler.az.us>
Wed, 22 Jun 2011 15:09:34 +0000 (08:09 -0700)
committerMatt Birkholz <matt@birkholz.chandler.az.us>
Wed, 22 Jun 2011 15:09:34 +0000 (08:09 -0700)
commit446e59e48fae5258b4d5aa855307c8795e4089d1
tree3c8d3edcc5a0d45a4d46eb3335ff70c04bfc8984
parentc517229cc046ab5f59d1fc12270cee24a099b985
External string buffers for generic-i/o-ports.

Added allocate-buffer-bytes with default make-string value, to fluid
let to make-external-string when appropriate, i.e. NOT in the cold
load.  Not sure why it does not work in the cold load...

Hampered performance especially by replacing %substring-move! with
xsubstring-move!.  The former integrates unrolled loops.  Need a
%xsubstring-move! with all that, and open-coded
external-string-ref/set!.
src/runtime/genio.scm