|
3 | 3 |
|
4 | 4 | An Example Project Show Convert Java Byte Code to LLVM IR assembler , compile standalone executable file
|
5 | 5 |
|
6 |
| -This project is based on [class2ir](https://github.com/MParygin/class2ir), it based on an old llvm version. |
7 |
| -So i changed some instruct syntex, and repaired bug, enhanced functionly. |
| 6 | +This project is based on [class2ir](https://github.com/MParygin/class2ir), that based on an old llvm version. |
| 7 | +So I've changed some instruction syntex, and repaired bug, enhanced functional. |
8 | 8 |
|
9 |
| -Currently: |
10 |
| -Tested CentOS x64 executable file, and say "Hello world". |
| 9 | +## Currently: |
| 10 | +Generated CentOS x64 executable file, and say "Hello world". |
11 | 11 |
|
12 |
| -Make: |
| 12 | +## Make: |
13 | 13 | 1. Enter directory java2llvm/
|
14 | 14 | 2. Run build.sh, then you will get app.exe here.
|
15 | 15 |
|
16 |
| -Request: |
| 16 | +## Request: |
17 | 17 | CentOS 7.0 x86_64
|
18 | 18 | java 1.8
|
19 | 19 | llvm-as / llc / clang 5.0
|
20 | 20 | make
|
21 | 21 |
|
22 |
| -Known issue: |
| 22 | +## Known issue: |
23 | 23 | 1. No GC.
|
24 | 24 | 2. Maybe some of java instruction can't work, need test
|
25 | 25 | 3. some of java instruction not implementation , see MV.java
|
26 | 26 | 4. Object memory allocation
|
27 | 27 |
|
28 |
| -change log: |
| 28 | +## change log: |
29 | 29 | 1. Add base class java.lang.*, java.io.PrintStream
|
30 | 30 | 2. Add String to handle text output, StringBuilder to handle string concat
|
31 | 31 | 3. Trace instruction flow , to fix register var scope bug.
|
32 | 32 |
|
33 | 33 |
|
34 | 34 |
|
35 | 35 |
|
36 |
| -================================= |
37 |
| -class2ir readme |
| 36 | +============== |
| 37 | +## class2ir readme |
38 | 38 |
|
39 | 39 | This project is the compiler from class files (Java byte code) to LL files (LLVM IR assembler).
|
40 | 40 | Result files can be compiled by llvm-as to standalone binary ELF files.
|
|
0 commit comments