[Oberon] Why is RSC string data word-aligned?
paulreed at paddedcell.com
Sun Jan 31 08:44:17 CET 2021
> ... 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.
More information about the Oberon