[Top][All Lists]

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

[task #16098] Submission of GNU Jitter

From: Luca Saiu
Subject: [task #16098] Submission of GNU Jitter
Date: Fri, 17 Dec 2021 08:45:34 -0500 (EST)
User-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Safari/537.36


                 Summary: Submission of GNU Jitter
                 Project: Savannah Administration
            Submitted by: positrone
            Submitted on: Fri 17 Dec 2021 02:45:32 PM CET
         Should Start On: Fri 17 Dec 2021 12:00:00 AM CET
   Should be Finished on: Mon 27 Dec 2021 12:00:00 AM CET
                Category: Project Approval
                Priority: 5 - Normal
                  Status: None
                 Privacy: Public
        Percent Complete: 0%
             Assigned to: None
             Open/Closed: Open
         Discussion Lock: Any
                  Effort: 0.00



A new project has been registered at Savannah
This project account will remain inactive until a site admin approves
or discards the registration.

= Registration Administration =

While this item will be useful to track the registration process,
*approving or discarding the registration must be done using the specific
Group Administration
<> page*,
accessible only to site administrators,
effectively *logged as site administrators* (superuser):

* Group Administration

= Registration Details =

* Name: *GNU Jitter*
* System Name:  *jitter*
* Type: Official GNU software
* License: GNU General Public License v3 or later (GFDLv3+ for documentation,
public domain examples in the manuals)


== Description: ==
GNU Jitter is a software automatically generating a portable, very efficient
language virtual machine with performance close to native code, starting from
relatively high-level specification provided by the user.

The VM state may include registers, stacks or a combination of both along
any runtime structure defined by user code; whenever possible the generator
attempts to map such state data structures into hardware machine registers.

The specification contains some C code associated to every VM instruction;
generator takes care of combining such small blocks of C into a whole body of
code with low---usually zero---dispatching and branching overhead.

The generated code includes a simple C API to dynamically emit and execute VM
code, an optional self-contained driver program for running VM routines from
text files, and development features such as disassembling and profiling.

The generated C code is heavily conditionalized and can be configured to run
using different dispatching techniques, of varying sophistication; the most
efficient dispatching techniques rely on some architecture-specific---but not
VM-specific---assembly support already included in this software; every
dispatching model but one also relies on GNU C extensions.

As a fallback case, in the interest of portability, one dispatching technique
provided, switch dispatching, requiring nothing more than standard C.

Configuration parameters are transparent with respect to the VM semantics and
even the C API: a VM routine will always behave in the same way independently
from the dispatching technique and other configuration parameters, the only
observable difference being execution speed.

== Other Software Required: ==
* Bison (GPLv3+ with permissive runtime linking exception),
* flex (permissive non-copyleft free software license),
* a modern C compiler, GCC necessary for fast execution,
* a C library

Optional dependencies:
* GNU libtextstyle, part of gettext, GPLv3+
* GNU Readline,, GPLv3+
* Boehm-Demers-Weiser garbage collector, permissive non-copyleft free software

== Other Comments: ==
Officially approved as a GNU project today.

Used as a requirement by GNU Poke.

Public git repository at

== Tarball URL: ==


Reply to this item at:


  Message sent via Savannah

reply via email to

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