dotgnu-pnet
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Dotgnu-pnet] [patch #6799] libJIT 1.2.5 + / 1.2 1/2 Release (code


From: Kirill Kononenko
Subject: Re: [Dotgnu-pnet] [patch #6799] libJIT 1.2.5 + / 1.2 1/2 Release (code name: libJIT-ON-TESTOSTERONE)
Date: Tue, 7 Apr 2009 10:41:31 +0400

Everyone with ideas, thoughts, suggestions or comments is very
welcomed. Access to repository is given on first request. Just let me
know if you want one.


Thanks,
Kirill

2009/4/7 Kirill Kononenko <address@hidden>:
> For my machine (a IA-32 Debian machine) it has been really tested a
> lot, both stress tests, functional tests. All applications that I have
> ran with PNET JIT work, all testcases work too, besides one in the
> make check, that is tuned for very fast compilation time (which is not
> a real testcase I guess then).
>
>
> Thanks,
> Kirill
>
> 2009/4/7 Kirill Kononenko <address@hidden>:
>> Let me know if there are any other segfaults or other issues on x86_64/amd64.
>>
>>
>>
>> Thanks,
>> Kirill
>>
>> 2009/4/7 Kirill Kononenko <address@hidden>:
>>> Everyone who wants to add his or her own code with patches to the svn
>>> repository, is highly welcomed. Also all suggestions, thoughts and
>>> comments are very welcomed. So libJIT can become even more and more
>>> useful for support of JIT compilation.
>>>
>>>
>>> Thanks,
>>> Kirill
>>>
>>> 2009/4/7 Kirill Kononenko <address@hidden>:
>>>> For other architectures. It is -very easy- to add support to use both
>>>> the old code generator and the data-flow and control-flow based
>>>> optimisations that are already used in the new code generator. When
>>>> compilation and run for other architectures than IA-32 stabilizes,
>>>> such support of other optimization level for different architectures
>>>> can be added in one-two days. These are basically only a couple of
>>>> extra lines with #defines #if def mostly.
>>>>
>>>>
>>>> Thanks,
>>>> Kirill
>>>>
>>>> 2009/4/7 Kirill Kononenko <address@hidden>:
>>>>> Because of very limited time I have not been able to test my code on
>>>>> different architectures than IA-32, and only on Debian even. So
>>>>> everyone who wants to submit patches, is either already in the list
>>>>> with open write access, or let me know if you want one.
>>>>>
>>>>>
>>>>> Thanks,
>>>>> Kirill
>>>>>
>>>>>
>>>>> 2009/4/7 Kirill Kononenko <address@hidden>:
>>>>>> Hi Boris,
>>>>>>
>>>>>>
>>>>>> Thanks a lot for the patch. I have also fixed a bug I found in
>>>>>> CALL_FINALLY.  You can freely submit any of your code to the svn
>>>>>> repository. In case instruction selection for the new code generator
>>>>>> has not been yet added it should fall back to the old register
>>>>>> allocator, like the old one does with falling back to the interpreter.
>>>>>> Do  you think you can fix this issue when you have a couple of free
>>>>>> minutes? Feel free to submit any of your code to the svn. See the web
>>>>>> page on how to check in to the repository (svn commit etc). Please let
>>>>>> me know if there any issues with svn access.
>>>>>>
>>>>>>
>>>>>> Thanks,
>>>>>> Kirill
>>>>>>
>>>>>> 2009/4/7 Boris Manojlovic <address@hidden>:
>>>>>>> Hello,
>>>>>>>
>>>>>>> this patch is NOT serious patch as it is just cosmetics to be able 
>>>>>>> compiling
>>>>>>> it on x86_64 but anyway it compiles :) and
>>>>>>> it of course seg fault under dpas test cases..
>>>>>>>
>>>>>>>
>>>>>>> small part of debug....
>>>>>>> ---------------------------------------------------------------------------------------------------------
>>>>>>> $ gdb
>>>>>>> /home/steki/libjit-linear-scan-register-allocator-read-only/libjit/dpas/.libs/lt-dpas
>>>>>>> GNU gdb (GDB; openSUSE 11.1) 6.8.50.20081120-cvs
>>>>>>> Copyright (C) 2008 Free Software Foundation, Inc.
>>>>>>> License GPLv3+: GNU GPL version 3 or later
>>>>>>> <http://gnu.org/licenses/gpl.html>
>>>>>>> This is free software: you are free to change and redistribute it.
>>>>>>> There is NO WARRANTY, to the extent permitted by law.  Type "show 
>>>>>>> copying"
>>>>>>> and "show warranty" for details.
>>>>>>> This GDB was configured as "x86_64-suse-linux".
>>>>>>> For bug reporting instructions, please see:
>>>>>>> <http://bugs.opensuse.org/>...
>>>>>>> (gdb) set args loop.pas
>>>>>>> (gdb) run
>>>>>>> Starting program:
>>>>>>> /builder/libjit-linear-scan-register-allocator-read-only/libjit/dpas/.libs/lt-dpas
>>>>>>> loop.pas
>>>>>>> [Thread debugging using libthread_db enabled]
>>>>>>>
>>>>>>> Program received signal SIGSEGV, Segmentation fault.
>>>>>>> 0x00007ffff7b84e18 in jit_insn_call_intrinsic (func=0x6214c0,
>>>>>>> name=0x7ffff7bc8bf5 "jit_int_to_ushort", intrinsic_func=0x7ffff7b8bb60,
>>>>>>> descriptor=0x7ffff7dda4e0, arg1=0x621988,
>>>>>>>     arg2=0x0) at jit-insn.c:6250
>>>>>>> 6250    {
>>>>>>> (gdb) up
>>>>>>> #1  0x00007ffff7b855ff in jit_insn_convert (func=0x6214c0, 
>>>>>>> value=0x621988,
>>>>>>> type=<value optimized out>, overflow_check=0) at jit-insn.c:5004
>>>>>>> 5004                            value = apply_unary_conversion
>>>>>>> (gdb)
>>>>>>> #2  0x00007ffff7b84e61 in jit_insn_call_intrinsic (func=0x6214c0,
>>>>>>> name=0x7ffff7bcba40 "\001", intrinsic_func=0x7ffff7bcba80,
>>>>>>> descriptor=0x7ffff7dde5f0, arg1=0x621988, arg2=0x0)
>>>>>>>     at jit-insn.c:6272
>>>>>>> 6272            arg1 = jit_insn_convert(func, arg1, 
>>>>>>> descriptor->arg1_type,
>>>>>>> 0);
>>>>>>> (gdb)
>>>>>>> #3  0x00007ffff7b855ff in jit_insn_convert (func=0x6214c0, 
>>>>>>> value=0x621988,
>>>>>>> type=<value optimized out>, overflow_check=0) at jit-insn.c:5004
>>>>>>> 5004                            value = apply_unary_conversion
>>>>>>> (gdb)
>>>>>>> #4  0x00007ffff7b84e61 in jit_insn_call_intrinsic (func=0x6214c0,
>>>>>>> name=0x7ffff7bc8bf5 "jit_int_to_ushort", intrinsic_func=0x7ffff7b8bb60,
>>>>>>> descriptor=0x7ffff7dda4e0, arg1=0x621988,
>>>>>>>     arg2=0x0) at jit-insn.c:6272
>>>>>>> 6272            arg1 = jit_insn_convert(func, arg1, 
>>>>>>> descriptor->arg1_type,
>>>>>>> 0);
>>>>>>> (gdb)
>>>>>>> ---------------------------------------------------------------------------------------------------------
>>>>>>>
>>>>>>>
>>>>>>> On Sat, Apr 4, 2009 at 3:55 PM, Kirill Kononenko <address@hidden>
>>>>>>> wrote:
>>>>>>>>
>>>>>>>> URL:
>>>>>>>>  <http://savannah.gnu.org/patch/?6799>
>>>>>>>>
>>>>>>>>                 Summary: libJIT 1.2.5 + / 1.2 1/2 Release (code name:
>>>>>>>> libJIT-ON-TESTOSTERONE)
>>>>>>>>                 Project: DotGNU Portable.NET
>>>>>>>>            Submitted by: krokas
>>>>>>>>            Submitted on: Sat 04 Apr 2009 01:55:14 PM GMT
>>>>>>>>                Category: None
>>>>>>>>                Priority: 5 - Normal
>>>>>>>>                  Status: None
>>>>>>>>                 Privacy: Public
>>>>>>>>             Assigned to: None
>>>>>>>>        Originator Email:
>>>>>>>>             Open/Closed: Open
>>>>>>>>         Discussion Lock: Any
>>>>>>>>
>>>>>>>>    _______________________________________________________
>>>>>>>>
>>>>>>>> Details:
>>>>>>>>
>>>>>>>>        * Add optimization levels for IA-32 from 0 to 4
>>>>>>>> (jit_set_optimization_level)
>>>>>>>>        * Add a new specialized jit_abi_internal
>>>>>>>>        * Add brand new optimized object code generator (level 1, 2, 3, 
>>>>>>>> 4
>>>>>>>> of
>>>>>>>> optimization)
>>>>>>>>        * Various low-level machine dependent optimizations and tricks
>>>>>>>>        * Aggressive optimization of division by integer constants as
>>>>>>>>          by Torbjorn Granlund and Peter L. Montgomery in "Division By
>>>>>>>> Invariant
>>>>>>>> Integers using Multiplication"
>>>>>>>>          divcnst-pldi94.pdf
>>>>>>>>        * Add primitive code generators for MMX/Streaming SIMD
>>>>>>>> Extensions/SSE/SSE2/SSE3 and others
>>>>>>>>        * Use SIMD SSE/SSE2/SSE3 for floating point values and 
>>>>>>>> operations
>>>>>>>> (level 1,
>>>>>>>> 2, 3, 4 of optimization\\)
>>>>>>>>        * Data-flow and control-flow based analysis (level 1, 2, 3, 4 of
>>>>>>>> optimization)
>>>>>>>>        * Fast liveness analysis (level 2 of optimization)
>>>>>>>>        * Dead-code elimination (level 4 of optimization)
>>>>>>>>        * Full liveness analysis (level 3, 4 of optimization)
>>>>>>>>        * Linear scan register allocator algorithm (level 2)
>>>>>>>>        * Bin packing register allocator algorithm (level 3, 4)
>>>>>>>>        * Tested on DotGNU Portable.NET Common Language Runtime
>>>>>>>>          / a Microsoft Common Intermediate Language Virtual Machine
>>>>>>>>
>>>>>>>>
>>>>>>>> Download is at:
>>>>>>>>
>>>>>>>>
>>>>>>>> http://libjit-linear-scan-register-allocator.googlecode.com/files/libjit-0.1.2.5%2B.tar.gz
>>>>>>>>
>>>>>>>> See also:
>>>>>>>>
>>>>>>>> http://code.google.com/p/libjit-linear-scan-register-allocator
>>>>>>>> jit-cil.net
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>    _______________________________________________________
>>>>>>>>
>>>>>>>> Reply to this item at:
>>>>>>>>
>>>>>>>>  <http://savannah.gnu.org/patch/?6799>
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>>  Message sent via/by Savannah
>>>>>>>>  http://savannah.gnu.org/
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> Dotgnu-pnet mailing list
>>>>>>>> address@hidden
>>>>>>>> http://lists.gnu.org/mailman/listinfo/dotgnu-pnet
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> "Only two things are infinite, the universe and human stupidity, and 
>>>>>>> I'm not
>>>>>>> sure about the former."-Albert Einstein
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Dotgnu-pnet mailing list
>>>>>>> address@hidden
>>>>>>> http://lists.gnu.org/mailman/listinfo/dotgnu-pnet
>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>




reply via email to

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