-< Doesn't sound easy, but it might be - DECthreads? >-
> The code is a run-time
>exectutive for a simulation. (It performs
>context switching, etc.)
Without further details of exactly what you're doing, it's difficult
to comment. However, I'm guessing that you mean a "threading" package
implemented by switching stacks. No doubt this code has intimate
knowledge of call frames and works by "faking out" call frames,
depositing values directly into the FP register and executing RET
instructions against the last frame of the thread being activated
in order to restore its context.
If that's the case, this will almost certainly NOT work on Alpha.
The Alpha calling standard is substantially different from the VAX
calling standard in several fundamental ways. VESTing will not work
either as it is only intended to work with programs which play by
the rules (depositing into the FP is definitely NOT in the rules!).
Unfortunately, this is a case of (extreme!) architecture dependence
and therefore non-portable.
All is not lost though! Depending on the architecture of your
executive, it may be possible to reimplement the lower levels using
DECthreads - with the added bonus that on V7.0 your code will
automagically start using all the processors in an SMP system.
With any luck, the API will remain unchanged, so there shouldn't
be any trouble porting the applications.