Consultor Eletrônico



Kbase 13434: Why does the size of .r code increase on Alpha OpenVMS
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   5/10/1998
Why does the size of .r code increase on Alpha OpenVMS


Question: What is the reason that the a compiled
PROGRESS .r file allocates more VMS disk blocks
from VAX/VMS to Alpha OpenVMS??

Example: I compiled update.p on VAX and it's size is..

$ dire/size=all update.r

UPDATE.R;2 4/4

I compile the same update.p on Alpha OpenVMS and
it's size is..

$ dire/size=all update.r

UPDATE.R;2 4/6

Explanation:
-----------

On the VAX integer values in r-code (and everywhere else for
that matter) are byte-aligned. On the Alpha they are
longword-aligned.


Let's say you have a five-byte character called C followed
by an integer called I.

On the VAX they get stored like this and take 9 bytes of
storage:


Addr 0 1 2 3 4 5 6 7 8
- - - - - - - - -
C C C C C I I I I

On the Alpha they get stored like this and take 12 bytes of
storage:

1 1
Addr 0 1 2 3 4 5 6 7 8 9 0 1
- - - - - - - - - - - -
C C C C C I I I I
^ ^ ^
padding


Progress Software Technical Support Note # 13434