Re: Screaming-Fist: a JIT framework for Guile

2023-12-05 Thread Nala Ginrut
Hi folks, I confirmed that gcc_jit_context_new_rvalue_from_int is an abstract for various numbers. So the number's validation would be added then. Best regards. On Tue, Dec 5, 2023, 18:14 Nala Ginrut wrote: > Hi Maxime! > > > > On Tue, Dec 5, 2023, 05:26 Maxime Devos wrote: > >> >> >> Op 03-1

Re: Screaming-Fist: a JIT framework for Guile

2023-12-05 Thread Nala Ginrut
Hi Maxime! On Tue, Dec 5, 2023, 05:26 Maxime Devos wrote: > > > Op 03-12-2023 om 18:26 schreef Nala Ginrut: > > (jit-define (square x) > >(:anno: (int) -> int) > >(* x x)) > > (square 5) > > > Potentially-overflowing arithmetic involving ints (not unsigned ints, > but ints)? Best docum

Re: Screaming-Fist: a JIT framework for Guile

2023-12-05 Thread Nala Ginrut
hi Arne! Not yet, I'm still working on it before any convincing complex code for performance evaluation. The idea is to provide a Scheme like functional IR to make JIT easier to use. However, the libgccjit IR is imperative based on assignments and statements. So there are more works to do other th

Re: Screaming-Fist: a JIT framework for Guile

2023-12-04 Thread Maxime Devos
Op 03-12-2023 om 18:26 schreef Nala Ginrut: (jit-define (square x) (:anno: (int) -> int) (* x x)) (square 5) Potentially-overflowing arithmetic involving ints (not unsigned ints, but ints)? Best document somewhere to what the jit code '(* x x)' evaluates when (not (<= min-int (* x x)

Re: Screaming-Fist: a JIT framework for Guile

2023-12-03 Thread Dr. Arne Babenhauserheide
Nala Ginrut writes: > Hi Folks! > I'd like to introduce our new project named screaming-fist which is a JIT > framework based on libgccjit. > (import (screaming-fist jit)) > > (jit-define (square x) > (:anno: (int) -> int) > (* x x)) > (square 5) That looks interesting! Do you already have

Screaming-Fist: a JIT framework for Guile

2023-12-03 Thread Nala Ginrut
Hi Folks! I'd like to introduce our new project named screaming-fist which is a JIT framework based on libgccjit. The project is still preliminary, but the POC could run. The basic idea is to hide the JIT details and let users write Scheme-like code for JIT on the fly. here's the simple code: --