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:28:10 +0400

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]