dotgnu-libjit
[Top][All Lists]
Advanced

[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 ))





reply via email to

[Prev in Thread] Current Thread [Next in Thread]