Ho cercato per un po 'di tempo, ma non sono riuscito a trovare alcun motore che emettesse il bytecode LLVM. Ma in qualche modo non posso credere che non esiste un motore del genere :)Esiste un motore JavaScript che emette un bytecode LLVM?
risposta
Non sembra esserci alcun.
Nell'elenco di projects build with LLVM non c'è nulla di Javascript.
controllo questo progetto che gira llvm su motori JavaScript http://badassjs.com/post/39573969361/llvm-js-llvm-itself-compiled-to-javascript-via
Hai capito male la domanda. Non vuole eseguire LLVM in JS. Vuole eseguire JS in LLVM (ad esempio, JIT compila il bytecode da JS a LLVM). – Albert
JXCore (una forcella di Nodejs) sostiene di aver attuato tale here. Dal Feb 2015, è open source, il codice è here on GitHub.
Dove si afferma, che JXcore è un fork commerciale? Al contrario - è un progetto open source https://github.com/jxcore/jxcore (a partire da metà febbraio 2015, ma non è mai stato commerciale) – infografnet
Ma lo hanno spostato su "da qualche parte lungo la strada" e utilizzare V8 e SpiderMonkey ora – Josef
JXcore sarà la soluzione migliore in corso IMHO - quando convertono da V8 a LLVM, che è un loro obiettivo quando raggiungono la versione 2 (in base al loro roadmap), esso quindi compilerà le sorgenti javascript nel codice nativo .
È possibile ottenere maggiori informazioni su JXcore here.
Questa parte della risposta è in una risposta alla risposta di Albert:
Secondo ktrzeciaknubisa di post che pubblicheranno la fonte, non appena sono fuori delle fasi di beta ed avere codice pulito ... questo potrebbe prendere a volte.
Nubisa ha interrotto lo sviluppo attivo sulla piattaforma JXcore. –
Risulta Webkit ora include questa funzionalità a partire da maggio 2014:
... il progetto WebKit ha unificato la propria infrastruttura di compilazione JavaScript esistente con lo stato-of-the-art LLVM ottimizzatore.
https://webkit.org/blog/3362/introducing-the-webkit-ftl-jit/
Il codice per questa sembra essere qui:
Da allora hanno sostituito LLVM con il backend Bare Bones. https://webkit.org/blog/5852/introducing-the-b3-jit-compiler/ –
IIRC mozilla ha studiato la possibilità di utilizzare LLVM come backend per il loro JIT, ma governato fuori, dicendo che sarebbe essere troppo lento o qualcosa del genere – CAFxX
@CAFxX: hai qualche riferimento a riguardo? – Albert
@Albert sure: https://hacks.mozilla.org/2009/07/tracemonkey-overview/comment-page-2/#comment-67629 – CAFxX