2010-05-19 18 views

Odpowiedz

10

Ściśle mówiąc, JIT jest własnością środowiska wykonawczego, a nie języka. Pedant point, ale wynika z tego, że dowolny język, który działa na JVM, może na przykład skorzystać z JIT JVM. Jython, JRuby, Groovy, itp.

Tamarin ma również JIT. Myślę, że to może uruchamiać JavaScript i ActionScript? Nie pozytywne ...

+0

Dobrze. Zmieniłem tytuł tego pytania, aby odzwierciedlić ten fakt, dzięki! – DJTripleThreat

1

C++ z dodatkowymi bibliotekami.

4

Just-In-Time Compilation artykuł Wikipedia wymienia kilka innych:

  • GNU lightning - biblioteki, który generuje kod języka montaż w czasie wykonywania
  • Mozilla nanojit - Niewielki, cross-platform Biblioteka C++, która emituje kod maszynowy. Jest on używany jako JIT dla silników JavaScript Mozilli Tamarin i SpiderMonkey Javascript

I kilka innych emulatorów assemblowych dla C++.

Podobnie jak w języku C# - wszystkie języki .NET używają tego samego środowiska wykonawczego i jit. VB.NET, C#, F #, IronPython, IronRuby, COBOL.NET i więcej ...

2

runtime .NET używa JIT tak że każdy język uderzenie. Możesz znaleźć więcej informacji here.

1

C# nie używa JIT. C# kompiluje się do CIL dla platformy .NET, a .NET używa JIT w czasie wykonywania.

.NET to znacznie więcej niż tylko C#. Są też VB.NET, Delphi.NET, Fujitsu Cobol, IronRuby, IronPython, F # i więcej. Wszystkie języki docelowe dla platformy .NET korzystają z kompilatora .NET JIT w środowisku wykonawczym.

0

Języki programowania nie używają JIT. Programy używają JIT.

C# robi się JIT C# jest tłumaczone CIL i CIL wykonywalny '' prowadzony jest JIT.

Dalvik używa składni języka Java, ale jest skompilowany do własnego kodu bajtowego. Dalvik VM jest zupełnie inny niż Java VM.

+0

+1 za wzmiankę o Dalvik. Właśnie to mnie zmotywowało do zadawania tego pytania. – DJTripleThreat

4

Lua ma imponującą LuaJIT.

PLT Scheme miał JIT dla jakiegoś czasu.

Uważam, że oba z nich są ograniczone do x86.

+1

LuaJIT dla x86-64 jest w wersji beta i będzie dostępny wkrótce. – asandroq

1

Smalltalk ma kompilatory JIT.

2

dla Pythona, jest PyPy projekt, który obejmuje JIT (umożliwiając kodu aby działał szybciej niż w CPython w wielu przypadkach)

2

Istnieje pewne zamieszanie na tym, co definiuje/wykorzystuje kompilator JIT: jest to język programowania? czy to program? środowisko uruchomieniowe ?.

W rzeczywistości jest to implementacja określonego języka programowania, który zapewnia kompilator JIT dla określonych architektur docelowych zestawów instrukcji (x86, x86_64, PPC, ...).

Na przykład implementacja SBCL zapewnia kompilator JIT dla wspólnego LISP-a, ale inne implementacje tego języka tego nie robią (takie jak CLISP).

Kolejny przykład implementacji OpenJDK wirtualnej maszyny Java zapewnia JIT dla niektórych architektur, ale nie dla innych (takich jak ARM), gdzie kod bajtowy jest nadal interpretowany.

Uwaga: nie zapomnij o języku programowania czynnikowego. Implementacja korzysta z kompilatora JIT.

Powiązane problemy