Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- sark :: git/rbx » cat scratch/hello.rb
- puts "hello world"
- sark :: git/rbx » ./vm/jit-test scratch/hello.rbc
- 0x800800 push %ebp
- 0x800801 mov %esp, %ebp
- 0x800803 sub $0xc, %esp
- 0x800809 push %edi
- 0x80080a push %esi
- 0x80080b push %ebx
- 0x80080c sub $0x10, %esp
- 0x800812 push 0x14(%ebp)
- 0x800818 push 0x10(%ebp)
- 0x80081e push 0xc(%ebp)
- 0x800824 push 0x8(%ebp)
- 0x80082a mov 0x10(%ebp), %esi
- 0x800830 mov 0x3c(%esi), %eax
- 0x800836 cmp $0x0, %eax
- 0x80083c jz 0x44 ; 0x800844
- 0x800842 jmp *%eax
- 0x800844 mov 0x8(%ebp), %eax
- 0x80084a mov 0x30(%eax), %ebx
- 0x800850 mov 0x10(%ebp), %esi
- 0x800856 mov 0x28(%esi), %eax
- 0x80085c add $0x4, %ebx
- 0x800862 mov %eax, 0x0(%ebx)
- 0x800868 mov 0x8(%ebp), %eax
- 0x80086e mov %ebx, 0x30(%eax)
- 0x800874 mov $0x0, 0x18(%esp)
- 0x80087f call 0xffffffffff80e8be ; 0xf0be op_push_literal
- 0x800884 call 0xffffffffff80ff4e ; 0x1074e op_string_dup
- 0x800889 mov 0xc(%ebp), %esi
- 0x80088f mov $0x1, 0x38(%esi)
- 0x800899 mov $0x1, 0x18(%esp)
- 0x8008a4 mov $0x1, 0x1c(%esp)
- 0x8008af call 0xffffffffff80eedc ; 0xf6dc op_send_stack
- 0x8008b4 mov $0x8008ca, %edx
- 0x8008b9 mov $0x7, %ecx
- 0x8008be cmp $0x1, %eax
- 0x8008c4 jz 0xfd ; 0x8008fd
- 0x8008ca mov 0x8(%ebp), %eax
- 0x8008d0 mov 0x30(%eax), %ebx
- 0x8008d6 sub $0x4, %ebx
- 0x8008dc add $0x4, %ebx
- 0x8008e2 mov $0xa, 0x0(%ebx)
- 0x8008ec mov 0x8(%ebp), %eax
- 0x8008f2 mov %ebx, 0x30(%eax)
- 0x8008f8 call 0xffffffffff80ea52 ; 0xf252 op_ret
- 0x8008fd mov 0x10(%ebp), %esi
- 0x800903 mov %ecx, 0x38(%esi)
- 0x800909 mov %edx, 0x3c(%esi)
- 0x80090f pop %ebx
- 0x800910 pop %esi
- 0x800911 pop %edi
- 0x800912 add $0x0, %esp
- 0x800918 leave
- 0x800919 ret
- # with instruction specialization off
- sark :: git/rbx » ./vm/jit-test scratch/hello.rbc
- 0x800800 push %ebp
- 0x800801 mov %esp, %ebp
- 0x800803 sub $0xc, %esp
- 0x800809 push %edi
- 0x80080a push %esi
- 0x80080b push %ebx
- 0x80080c sub $0x10, %esp
- 0x800812 push 0x14(%ebp)
- 0x800818 push 0x10(%ebp)
- 0x80081e push 0xc(%ebp)
- 0x800824 push 0x8(%ebp)
- 0x80082a mov 0x10(%ebp), %esi
- 0x800830 mov 0x3c(%esi), %eax
- 0x800836 cmp $0x0, %eax
- 0x80083c jz 0x44 ; 0x800844
- 0x800842 jmp *%eax
- 0x800844 call 0xffffffffff80ddfa ; 0xe5fa op_push_self
- 0x800849 mov $0x0, 0x18(%esp)
- 0x800854 call 0xffffffffff80dd9e ; 0xe59e op_push_literal
- 0x800859 call 0xffffffffff80f42e ; 0xfc2e op_string_dup
- 0x80085e mov $0x1, 0x18(%esp)
- 0x800869 call 0xffffffffff80e8d6 ; 0xf0d6 op_set_call_flags
- 0x80086e mov $0x1, 0x18(%esp)
- 0x800879 mov $0x1, 0x1c(%esp)
- 0x800884 call 0xffffffffff80e3bc ; 0xebbc op_send_stack
- 0x800889 mov $0x80089f, %edx
- 0x80088e mov $0x7, %ecx
- 0x800893 cmp $0x1, %eax
- 0x800899 jz 0xae ; 0x8008ae
- 0x80089f call 0xffffffffff80e13a ; 0xe93a op_pop
- 0x8008a4 call 0xffffffffff80dcca ; 0xe4ca op_push_true
- 0x8008a9 call 0xffffffffff80df32 ; 0xe732 op_ret
- 0x8008ae mov 0x10(%ebp), %esi
- 0x8008b4 mov %ecx, 0x38(%esi)
- 0x8008ba mov %edx, 0x3c(%esi)
- 0x8008c0 pop %ebx
- 0x8008c1 pop %esi
- 0x8008c2 pop %edi
- 0x8008c3 add $0x0, %esp
- 0x8008c9 leave
- 0x8008ca ret
Add Comment
Please, Sign In to add comment