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