[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Dotgnu-libjit] Preliminary results of new Hornetseye test-suite
From: |
jan |
Subject: |
[Dotgnu-libjit] Preliminary results of new Hornetseye test-suite |
Date: |
Tue, 19 May 2009 15:28:45 +0200 (CEST) |
Hi,
I have tested the new version of libJIT (CVS checkout 17/05/2009) under
both x86 as well as x86_64 and so far it looks like all bugs are gone ;)
Here is the debug output of dividing three RGB values by an integer
value (on a x86_64 processor) which previously (libJIT-0.1.2) used to
throw division by zero .
UBYTERGB.new( RGB( 6, 4, 2 ) ) / INT.new( 2 )
Attempting to compile the following function:
function 0x00B52E60(l1 : ptr, l2 : ptr, l3 : ptr) : void
incoming_reg(l1, rdi)
incoming_reg(l2, rsi)
incoming_reg(l3, rdx)
.L:
i8 = load_relative_ubyte(l2, 0)
i10 = load_relative_ubyte(l2, 1)
i12 = load_relative_ubyte(l2, 2)
i13 = load_relative_int(l3, 0)
i14 = trunc_int(i8)
i15 = i14 / i13
i16 = trunc_int(i10)
i17 = i16 / i13
i18 = trunc_int(i12)
i19 = i18 / i13
store_relative_int(l1, i15, 0)
store_relative_int(l1, i17, 4)
store_relative_int(l1, i19, 8)
return
ends_in_dead
.L:
.L:
end
Result of compilation:
function 0x00B52E60(ptr, ptr, ptr) : void
/tmp/libjit-dump.o: file format elf64-x86-64
Disassembly of section .text:
00007f8bc5a4102a <.text>:
7f8bc5a4102a: 55 push %rbp
7f8bc5a4102b: 48 8b ec mov %rsp,%rbp
7f8bc5a4102e: 48 83 ec 40 sub $0x40,%rsp
7f8bc5a41032: 48 89 1c 24 mov %rbx,(%rsp)
7f8bc5a41036: 4c 89 74 24 08 mov %r14,0x8(%rsp)
7f8bc5a4103b: 4c 89 7c 24 10 mov %r15,0x10(%rsp)
7f8bc5a41040: 4c 8b ff mov %rdi,%r15
7f8bc5a41043: 4c 8b f6 mov %rsi,%r14
7f8bc5a41046: 48 89 55 f8 mov %rdx,-0x8(%rbp)
7f8bc5a4104a: 49 0f b6 06 movzbq (%r14),%rax
7f8bc5a4104e: 49 0f b6 4e 01 movzbq 0x1(%r14),%rcx
7f8bc5a41053: 49 0f b6 56 02 movzbq 0x2(%r14),%rdx
7f8bc5a41058: 48 8b 5d f8 mov -0x8(%rbp),%rbx
7f8bc5a4105c: 8b 1b mov (%rbx),%ebx
7f8bc5a4105e: 89 55 f0 mov %edx,-0x10(%rbp)
7f8bc5a41061: 85 db test %ebx,%ebx
7f8bc5a41063: 75 0f jne 0x7f8bc5a41074
7f8bc5a41065: bf fe ff ff ff mov $0xfffffffe,%edi
7f8bc5a4106a: b8 08 00 00 00 mov $0x8,%eax
7f8bc5a4106f: e8 3c b9 56 f5 callq 0x7f8bbafac9b0
7f8bc5a41074: 83 fb ff cmp
$0xffffffffffffffff,%ebx
7f8bc5a41077: 75 16 jne 0x7f8bc5a4108f
7f8bc5a41079: 3d 00 00 00 80 cmp $0x80000000,%eax
7f8bc5a4107e: 75 0f jne 0x7f8bc5a4108f
7f8bc5a41080: bf ff ff ff ff mov $0xffffffff,%edi
7f8bc5a41085: b8 08 00 00 00 mov $0x8,%eax
7f8bc5a4108a: e8 21 b9 56 f5 callq 0x7f8bbafac9b0
7f8bc5a4108f: 99 cltd
7f8bc5a41090: f7 fb idiv %ebx
7f8bc5a41092: 89 45 e8 mov %eax,-0x18(%rbp)
7f8bc5a41095: 8b c1 mov %ecx,%eax
7f8bc5a41097: 85 db test %ebx,%ebx
7f8bc5a41099: 75 0f jne 0x7f8bc5a410aa
7f8bc5a4109b: bf fe ff ff ff mov $0xfffffffe,%edi
7f8bc5a410a0: b8 08 00 00 00 mov $0x8,%eax
7f8bc5a410a5: e8 06 b9 56 f5 callq 0x7f8bbafac9b0
7f8bc5a410aa: 83 fb ff cmp
$0xffffffffffffffff,%ebx
7f8bc5a410ad: 75 16 jne 0x7f8bc5a410c5
7f8bc5a410af: 3d 00 00 00 80 cmp $0x80000000,%eax
7f8bc5a410b4: 75 0f jne 0x7f8bc5a410c5
7f8bc5a410b6: bf ff ff ff ff mov $0xffffffff,%edi
7f8bc5a410bb: b8 08 00 00 00 mov $0x8,%eax
7f8bc5a410c0: e8 eb b8 56 f5 callq 0x7f8bbafac9b0
7f8bc5a410c5: 99 cltd
7f8bc5a410c6: f7 fb idiv %ebx
7f8bc5a410c8: 0f b6 4d f0 movzbl -0x10(%rbp),%ecx
7f8bc5a410cc: 89 45 e0 mov %eax,-0x20(%rbp)
7f8bc5a410cf: 8b c1 mov %ecx,%eax
7f8bc5a410d1: 85 db test %ebx,%ebx
7f8bc5a410d3: 75 0f jne 0x7f8bc5a410e4
7f8bc5a410d5: bf fe ff ff ff mov $0xfffffffe,%edi
7f8bc5a410da: b8 08 00 00 00 mov $0x8,%eax
7f8bc5a410df: e8 cc b8 56 f5 callq 0x7f8bbafac9b0
7f8bc5a410e4: 83 fb ff cmp
$0xffffffffffffffff,%ebx
7f8bc5a410e7: 75 16 jne 0x7f8bc5a410ff
7f8bc5a410e9: 3d 00 00 00 80 cmp $0x80000000,%eax
7f8bc5a410ee: 75 0f jne 0x7f8bc5a410ff
7f8bc5a410f0: bf ff ff ff ff mov $0xffffffff,%edi
7f8bc5a410f5: b8 08 00 00 00 mov $0x8,%eax
7f8bc5a410fa: e8 b1 b8 56 f5 callq 0x7f8bbafac9b0
7f8bc5a410ff: 99 cltd
7f8bc5a41100: f7 fb idiv %ebx
7f8bc5a41102: 8b 4d e8 mov -0x18(%rbp),%ecx
7f8bc5a41105: 41 89 0f mov %ecx,(%r15)
7f8bc5a41108: 8b 4d e0 mov -0x20(%rbp),%ecx
7f8bc5a4110b: 41 89 4f 04 mov %ecx,0x4(%r15)
7f8bc5a4110f: 41 89 47 08 mov %eax,0x8(%r15)
7f8bc5a41113: 48 8b 1c 24 mov (%rsp),%rbx
7f8bc5a41117: 4c 8b 74 24 08 mov 0x8(%rsp),%r14
7f8bc5a4111c: 4c 8b 7c 24 10 mov 0x10(%rsp),%r15
7f8bc5a41121: 48 8b e5 mov %rbp,%rsp
7f8bc5a41124: 5d pop %rbp
7f8bc5a41125: c3 retq
end
# INTRGB(RGB( 3, 2, 1 ))
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Dotgnu-libjit] Preliminary results of new Hornetseye test-suite,
jan <=