Práce se zabývá problematikou překladu Java bytecode do strojového kódu x86. Pro překlad byla po teoretické analýze zvolena metoda cross-kompilace. Práce uvádí přehled instrukcí JVM a teorii generování Java bytecodu, která je nezbytná pro pochopení procesu překladu. Navrhuje také řešení a diskutuje jeho omezení. Pro otestování jsou přiložené i příklady a je diskutována rychlost vykonávání přeloženého kódu.
Anotace v angličtině
In my thesis, I present bytecode to x86 instruction set compiler. The compilation is reached through cross-compilation using C++ language. The aim is to gain performance speed up by exploiting optimization capabilities of C++ compiler. The paper contains brief introduction to *.class file structure, listing of JVM instructions and theory of generating *.class file from source code. It also discuss restrictions of presented solution and also speed of compiled code.
Klíčová slova
Java, x86, C++, bytecode, překladač, instrukce, JVM, JDK, virtuální stroj
Práce se zabývá problematikou překladu Java bytecode do strojového kódu x86. Pro překlad byla po teoretické analýze zvolena metoda cross-kompilace. Práce uvádí přehled instrukcí JVM a teorii generování Java bytecodu, která je nezbytná pro pochopení procesu překladu. Navrhuje také řešení a diskutuje jeho omezení. Pro otestování jsou přiložené i příklady a je diskutována rychlost vykonávání přeloženého kódu.
Anotace v angličtině
In my thesis, I present bytecode to x86 instruction set compiler. The compilation is reached through cross-compilation using C++ language. The aim is to gain performance speed up by exploiting optimization capabilities of C++ compiler. The paper contains brief introduction to *.class file structure, listing of JVM instructions and theory of generating *.class file from source code. It also discuss restrictions of presented solution and also speed of compiled code.
Klíčová slova
Java, x86, C++, bytecode, překladač, instrukce, JVM, JDK, virtuální stroj