[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Dotgnu-libjit] 64bit integers operations on x86
From: |
Kirill Kononenko |
Subject: |
Re: [Dotgnu-libjit] 64bit integers operations on x86 |
Date: |
Thu, 12 Feb 2009 18:01:25 +0300 |
Try insert jit_dump_function(stdout, function, 0); before
jit_function_compile and after. This should print intermediate form
and assembly code. Please send to this maillist the dump/pastbin in
case it crashes.
Thanks,
Kirill
2009/2/12 <address@hidden>:
> The program shown below works on x86_64 but it crashes on x86. If I
> comment out the two lines between "#if 1" and "#endif", it does not
> crash. Can anybody help me with this?
>
> #include <jit/jit.h>
> #include <iostream>
>
> using namespace std;
>
> int main(void)
> {
> jit_context_t context = jit_context_create();
> jit_context_build_start( context );
> jit_type_t params[1];
> params[0] = jit_type_void_ptr;
> jit_type_t signature =
> jit_type_create_signature( jit_abi_cdecl, jit_type_void,
> params, 1, 1 );
> jit_function_t function = jit_function_create( context, signature );
> jit_value_t p = jit_value_get_param( function, 0 );
> jit_constant_t constant; constant.type = jit_type_int;
> constant.un.int_value = 0;
> jit_value_t val = jit_value_create_constant( function, &constant );
> jit_value_t q = jit_insn_add( function, p, val );
> jit_value_t a = jit_insn_load_relative( function, q, 0,
> jit_type_long );
> #if 1
> jit_value_t b = jit_insn_load_relative( function, q, 0,
> jit_type_long );
> jit_insn_store_relative( function, q, 0, b );
> #endif
> jit_insn_store_relative( function, q, 0, a );
> jit_insn_default_return( function );
> jit_function_compile( function );
> jit_context_build_end( context );
>
> long buffer[4];
> void *args[1];
> jit_ptr arg1 = &buffer[0];
> args[0] = &arg1;
> jit_function_apply( function, args, (void *)0 );
> jit_context_destroy( context );
> return 0;
> }
>
> /-----------------------( Jan Wedekind )------------------------\
> |address : .... Flat 7, 228-232 Langsett Rd, Sheffield S6 2UE |
> |office : ..... City Campus, Howard Street, Sheffield S1 1WB |
> |o.-phone : ............................... +44 (0)114 2253277 |
> |email/www : ......... address@hidden / http://www.wedesoft.de |
> |gnupg : ECC3 3E3D AD98 4F0D 3B5B B251 9B91 F1E7 96F1 E973 |
> \---------------------------------------------------------------/
>
>
>
> _______________________________________________
> Dotgnu-libjit mailing list
> address@hidden
> http://lists.gnu.org/mailman/listinfo/dotgnu-libjit
>