3 ms·
Here's Java getting compiled to actual x86-64 code (mov $0x2a,%edx; add %edx,%eax). $ cat FortyTwo.java public class FortyTwo { public static
by sigjuice 9y ago
Here's Java getting compiled to actual x86-64 code (mov $0x2a,%edx; add %edx,%eax).
$ cat FortyTwo.java
public class FortyTwo
{
public static int fortytwo(int x) {
return x + 42;
}
}
$ gcj-4.9 -c FortyTwo.java
$ objdump -S FortyTwo.o
FortyTwo.o: file format elf64-x86-64
Disassembly of section .text:
<snip>
0000000000000022 <_ZN8FortyTwo8fortytwoEJii>:
{
public static int fortytwo(int x) {
return x + 42;
22: 55 push %rbp
23: 48 89 e5 mov %rsp,%rbp
26: 48 83 ec 20 sub $0x20,%rsp
2a: 89 7d ec mov %edi,-0x14(%rbp)
2d: b8 00 00 00 00 mov $0x0,%eax
32: 48 89 c7 mov %rax,%rdi
35: b8 00 00 00 00 mov $0x0,%eax
3a: e8 00 00 00 00 callq 3f <_ZN8FortyTwo8fortytwoEJii+0x1d>
3f: 8b 45 ec mov -0x14(%rbp),%eax
42: 89 45 fc mov %eax,-0x4(%rbp)
45: 8b 45 fc mov -0x4(%rbp),%eax
48: ba 2a 00 00 00 mov $0x2a,%edx
4d: 01 d0 add %edx,%eax
4f: c9 leaveq
50: c3 retq