[LLVMdev] Avoiding jump (branch) instructions in a LLVM JavaScript backend
Filipe Cabecinhas
filcab at gmail.com
Mon Jan 5 08:12:32 PST 2009
Hi,
Some time ago a friend of mine made a conversion script from AGI (an
early virtual machine) to Javascript, including rudimentary goto
support. He says it's not the best code in the world but you can take
a look around: http://web.ist.utl.pt/~antonio.afonso/agi/logic.phps.
There's an AGI emulator that plays Leisure Suite Larry a directory
above ;-)
You could also convert the LLVM's IR (SSA) to CPS and then you could
just directly emit the javascript code :-P
Regards,
F
On 4 Jan, 2009, at 17:29, Charles Ying wrote:
> Hello llvm-dev,
>
> I've been hacking on a JavaScript backend to LLVM, starting with the
> CBackend as base.
>
> Sadly, JavaScript does not support a "goto" style of jump
> instruction, making it "tricky" to code generate a jump instruction.
>
> What might you recommend for avoiding jump instructions? Is there a
> transformation for something like this or any other ideas? The only
> solution I see at the moment is to write a small VM execution loop
> in JavaScript, but I was hoping that there might be other solutions.
>
> Thanks!
> Charles
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20090105/cb04fb21/attachment.html>
More information about the llvm-dev
mailing list