On 04/25/2013 05:26 PM, Bernd Paysan wrote:
> Am Donnerstag, 25. April 2013, 12:17:15 schrieb Jeffrey Chimene:
>> Hi Folks,
>>
>> I didn't see anything about this in the archives.
>>
>> Can anyone tell me why there's no IA64 assembler?
>
> Probably because nobody had the time to write one?
>
HI Bernd,

Thanks for the reply!

I've been following GForth for a few years. I finally have a use case.

Background
=======
    I'm interested in porting Node.js to OpenVMS. While I'd prefer
starting w/ Alpha, it's probably better to start w/ IA64.

    To port Node.js, one must also port the V8 javascript engine. V8
generates machine code at run time along two paths: a sort of "fast
first" path, and a dynamically optimized path. Both paths converge on a
set of common routines all of which converge on a common code generator.

    To bootstrap the porting process to Mips from an existing
architecture (e.g. AMD64), somebody wrote a Mips simulator (C++). This
simulator exports the same function signature as the code generator above.

Today
===
The simulator is a fine piece of work, but it's written for a RISC
machine. I cannot see converting the simulator out of the box to IA64. I
really think I'm going to need a workbench to figure out the intricacies
of IA64. Fortunately, I don't need the /entire/ IA64 instruction set.
Some instructions are forbidden to user-space code, and other
instructions don't make sense in the context of V8 (e.g. MMX & XMM
instructions). Because this is OpenVMS, the alternate IA32e mode does
not apply. Once I have that subset sort-of, kind-of working, I can
direct attention to the simulator.

And, what better workbench than Forth?

Are you interested in the results? Or, is the subsetting a no-go for you?

Cheers,
jec

Reply via email to