[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Pnet-developers] libjit - separation of interfaces
From: |
Miroslaw Dobrzanski-Neumann |
Subject: |
[Pnet-developers] libjit - separation of interfaces |
Date: |
Thu, 3 Jun 2004 10:11:37 +0200 |
User-agent: |
Mutt/1.4i |
Good morning,
looking at jit.h I read the following statement:
jit.h - General definitions for JIT back-ends.
this is obviously not true.
jit.h and other public companion header files contain definitions for both
front and back ends.
It would be better and clearer to separate the interfaces based on the
targeted usage.
For example:
int jit_insn_pop_stack(jit_function_t func, jit_nint num_items) JIT_NOTHROW;
is an jit interface to be used only by backends.
If you present the interfaces to the frontend you are damned to support them
forever even if you change the jit implementation.
In this case: there are machines which have no stack!
you could do this in various ways
- create subdirectories
include/jit/frontend
backend
- use conditionals
#if defined (LIBJIT_BACKEND)
...
#endif
jit-block.h publishes the internal organization of the jit library.
Have the frontend to know that libjit works with basic blocks?
What if I decide to imitate the libjit implementing required frontend
interfaces - am I forced to read "Aho et. all" prior to do that because dpas
interpreter wants to use jit_block_current_is_dead ().
In my opinion jit-block.h does not belong to public frontend interface
because it presents the internal implementation details
Regards
--
Mirosław Dobrzański-Neumann
E-mail: address@hidden
This message is utf-8 encoded
- [Pnet-developers] libjit - separation of interfaces,
Miroslaw Dobrzanski-Neumann <=