[Oberon] Why is RSC string data word-aligned?

Paul Reed paulreed at paddedcell.com
Sun Jan 31 08:44:17 CET 2021


Hi Colby,

> ...  So again: in
> concrete terms, where does the efficiency for [string] word alignment 
> come in?

String assignment (as has been pointed out). The code generated by 
ORG.CopyString moves string data around by words, filling the full 
32-bits of a register buffer with string data on each loop iteration. 
This may happen many times over and over again as code is running, once 
a module is loaded into memory.

The unaligned data in a .rsc file is, I agree, unfortunate, as it could 
have been aligned relatively easily and then data could have been copied 
into memory a word at a time. But module loading only happens once, and 
there's lots of other stuff to do too, so as you say it was likely 
deemed not worth it.

HTH,
Paul


More information about the Oberon mailing list