dotgnu-pnet
[Top][All Lists]
Advanced

[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


reply via email to

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