gzz-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gzz] Jikes RVM


From: hemppah
Subject: [Gzz] Jikes RVM
Date: Tue, 8 Apr 2003 13:15:43 +0300
User-agent: Internet Messaging Program (IMP) 3.1

This is only in Finnish, Sorry :(.


Jikes RVM  on kokonaan Javalla kirjoitettu virtuaalikone. (Lukuunottamatta
ihan lyhyttä assemblerilla kirjoitettua bootstrappia.) Siinä ei ole
tulkkia ollenkaan, vaan kaikki ajettava byte-koodi käännetään suoraan
target-koneelle.

Koska Jalapeño on normaali Java-ohjelma, täytyy se käynnistää toisessa
virtuaalikoneessa, vaikkapa Sunin normaalissa virtuaalikoneessa. Nyt
Jikes RVM:n käynnistyessä, se lataa *oman* byte-koodinsa, kääntää sen
natiivi-koodiksi ja dumppaa ne levylle. Tämän jälkeen levyllä on
Jikes RVM:n tekemä natiivi image, joka ei tarvitse toista 
virtuaalikonetta.

Jotta levyllä oleva image saataisiin käyntiin, tarvitsemme nyt sitä
lyhyttä assembler pätkää joka lataa sen muistiin.

Käynnistämme normaalin ohjelman Jikes RVM:llä: esimerkiksi vaikkapa 
JBoss:n EJB-serverin. Jikes RVM käynnistää itsensä (käännetystä koodista, 
mutta
sillä on edelleenkin viite myös omaan Java byte-koodiinsa.) Tämän
jälkeen Jikes RVM lataa JBoss:n luokat, kääntää ne nopealla kääntäjällään
natiiviksi ja ryhtyy suorittamaan koodia.

Jos JBossissa on kohta jota suoritetaan paljon, voi Jikes RVM kääntää sen
suoraan paremmin optimoivalla kääntäjällä paremmaksi koodiksi. Tämähän
on ihan normaalia JIT-toimintaa. Mutta Jikes RVM eroaa muista
virtuaalikoneista siinä, että se voi optimoida myös *omaa* koodiaan 
lennossa, jos sitä suoritetaan paljon.

Ja koska sekä JBoss, että virtuaalikoneen oma koodi ovat molemmat samassa
asemassa olevaa Javaa Jikesin kannalta, voidaan JBoss:n kutsuja inlineta
suoraan virtuaalikoneen koodiin.

Jos ohjelmaa on ajettu kuukaudenkin verran, on sen koodi saatu optimoitua
aika hyvin. Tässä vaiheessa ohjelman ja virtuaalikoneen voi dumpata 
yhdessä
levylle, jolloinka saadaan tiukkaan optimoidun ohjelman ja virtuaalikoneen
image, jonka käynnistyskin on nopeaa, koska sitä ei tarvitse kääntää
uudestaan.



-Hermanni

-------------------------------------------------
This mail sent through IMP: http://horde.org/imp/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]