Twostep compiler?
Dar Scott
dsc at swcp.com
Sun Mar 21 22:49:09 EST 2004
On Sunday, March 21, 2004, at 08:32 AM, A.C.T. wrote:
> Again: Please excuse my potentially "offending" questions. I am trying
> to understand the technical implications of using Revolution and to
> find out why some issues seem ... somewhat "complicated", where they
> do not have to be complicated :-)
I can only guess.
Recompiling allows for one method of handling of partially compatible
stacks and engines. For example, recently audio had some major
changes. Some folks might mix engines and scripts.
Recompiling insures all compiled scripts in a stack to be compatible
with each other
Recompiling potentially removes one level of lookup in the code. The
"byte code" can then be platform and engine dependent. For example the
unsigned long representing a command might be the actual address of the
command code and not an index into a table to get the address of the
command code.
It might be that the script is actually compiled down to machine code
in some places. Also, recompiling keeps the door open for machine-code
compiling in the future if it is not done now.
RunRev might feel that exposing "byte code" in the stacks would reveal
too much intellectual property.
Recompiling allows going to alternate sizes of inline data.
However, there might be times in which I would benefit from being able
to lock reading of a stack and have only the compiled code and not the
script kept in the stack. This should not prevent setting the script
again though. All of the above issues would have to be addressed.
Those are just my wild guesses. I know nothing of the innards of
Revolution compiling.
Dar Scott
More information about the use-livecode
mailing list