gov.llnl.babel.backend.c
Class StubHeader
java.lang.Object
gov.llnl.babel.backend.c.StubHeader
public class StubHeader
extends java.lang.Object
Class StubHeader
writes a C client header to a language
writer output stream. The constructor takes a language writer stream
and method generateCode
writes the C client header code
for the specified symbol to the output stream. The language writer
output stream is not closed by this object.
static void | generateBuiltinSignature(LanguageWriterForC lw, int type, SymbolID id, boolean doStatic, String terminator) - Generate the specified stub-only built-in method signature.
|
void | generateCode(Symbol symbol) - Write C client header information for the provided symbol to the
language writer output stream provided in the constructor.
|
static void | generateCode(Symbol symbol, LanguageWriterForC writer, Context context) - This is a convenience utility function that writes the C client
header information into the provided language writer output stream.
|
static String | getBuiltinArgList(int type) - Return the comma-separated list of arguments associated with the
specified built-in method.
|
static String | getBuiltinComment(int type, boolean doStatic) - Return the comment description associated with the specified
built-in stub.
|
static String | getDerefFunctionPtr(String baseName, boolean doStatic) - Return a string that dereferences the specified IOR function pointer.
|
static boolean | stubInlineMethod(Method m)
|
DUMP_STATS
public static final int DUMP_STATS
Indices associated with the special, stub-only built-in methods.
MAX_RARRAY_INLINE
public static final int MAX_RARRAY_INLINE
Maximum number of rarray arguments allowed in an inlined method.
<= 0 means no inlining of methods with rarray arguments
> 0 allows some inlining of methods with rarray arguments.
It's unclear what a good value of this should be. Each rarray argument
increases the size of the stub which may cause binary file sizes to
increase.
SET_CHECKING
public static final int SET_CHECKING
SET_HOOKS
public static final int SET_HOOKS
s_epv
public static final String s_epv
s_self
public static final String s_self
s_sepv_func
public static final String s_sepv_func
StubHeader
public StubHeader(LanguageWriterForC writer,
Context context)
Create a StubHeader
object that will write symbol
information to the provided output language writer stream.
writer
- the output writer to which the header will
be written. This will not be closed.
generateBuiltinSignature
public static void generateBuiltinSignature(LanguageWriterForC lw,
int type,
SymbolID id,
boolean doStatic,
String terminator)
Generate the specified stub-only built-in method signature.
generateCode
public void generateCode(Symbol symbol)
throws CodeGenerationException
Write C client header information for the provided symbol to the
language writer output stream provided in the constructor. This
method does not close the writer output stream and may be called
for more than one symbol (although the written header may not be
valid input for the C compiler). A code generation exception is
written if an error is detected.
symbol
- the Symbol
whose header will be
written.
CodeGenerationException
- this is a catch all exception. It can be caused by I/O trouble
or violations of the data type invariants.
generateCode
public static void generateCode(Symbol symbol,
LanguageWriterForC writer,
Context context)
throws CodeGenerationException
This is a convenience utility function that writes the C client
header information into the provided language writer output stream.
The output stream is not closed on exit. A code generation
exception is thrown if an error is detected.
symbol
- the symbol for which a C client header will
be written.writer
- the output writer to which the header will
be written. This will not be closed.
getBuiltinArgList
public static String getBuiltinArgList(int type)
Return the comma-separated list of arguments associated with the
specified built-in method. The entries must match the names and
ordering found (above) in generateStubBuiltinSignature().
getBuiltinComment
public static String getBuiltinComment(int type,
boolean doStatic)
Return the comment description associated with the specified
built-in stub.
getDerefFunctionPtr
public static String getDerefFunctionPtr(String baseName,
boolean doStatic)
Return a string that dereferences the specified IOR function pointer.
stubInlineMethod
public static boolean stubInlineMethod(Method m)