|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectharpoon.Backend.Generic.Runtime
harpoon.Backend.Runtime1.Runtime
public class Runtime
Runtime1.Runtime
is a no-frills implementation of the runtime
abstract class.
Nested Class Summary | |
---|---|
protected static class |
Runtime.ExtraClazInfo
provides a means for a subclass to add extra fields to DataClaz. |
Nested classes/interfaces inherited from class harpoon.Backend.Generic.Runtime |
---|
Runtime.ObjectBuilder, Runtime.TreeBuilder |
Field Summary | |
---|---|
protected AllocationStrategy |
as
|
protected CallGraph |
cg
|
protected ClassHierarchy |
ch
|
protected Frame |
frame
|
protected HMethod |
main
|
protected Runtime.ObjectBuilder |
ob
|
protected List |
staticInitializers
|
Fields inherited from class harpoon.Backend.Generic.Runtime |
---|
configurationSet |
Constructor Summary | |
---|---|
Runtime(Frame frame,
AllocationStrategy as,
HMethod main,
boolean prependUnderscore)
Creates a new Runtime1.Runtime . |
|
Runtime(Frame frame,
AllocationStrategy as,
HMethod main,
boolean prependUnderscore,
ObjectBuilder.RootOracle rootOracle)
Creates a new Runtime1.Runtime . |
Method Summary | |
---|---|
List<HData> |
classData(HClass hc)
Returns a list of HData s which are needed for the
given class. |
protected Runtime.ExtraClazInfo |
getExtraClazInfo()
A means for a subclass to set this. |
NameMap |
getNameMap()
Returns a NameMap valid for this
Generic.Runtime . |
TreeBuilder |
getTreeBuilder()
Returns a TreeBuilder object for this
Generic.Runtime . |
protected Runtime.ObjectBuilder |
initObjectBuilder(ObjectBuilder.RootOracle ro)
|
protected TreeBuilder |
initTreeBuilder()
|
HCodeFactory |
nativeTreeCodeFactory(HCodeFactory hcf)
This code factory hook allows the runtime to return runtime-specific stubs for native methods --- or any other method which the runtime wishes to reimplement. |
String |
resourcePath(String basename)
Prefixes a runtime-specific path onto the specific resource name, so that transformations can refer to runtime-specific properties files in a uniform manner. |
Collection |
runtimeCallableMethods()
Return a Set of HMethod s
and HClass es which are referenced /
callable by code in the runtime implementation (and should
therefore be included in every class hierarchy). |
void |
setCallGraph(CallGraph cg)
Sets the CallGraph to use for this
Generic.Runtime . |
void |
setClassHierarchy(ClassHierarchy ch)
Sets the ClassHierarchy to use for this
Generic.Runtime . |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected final Frame frame
protected final HMethod main
protected ClassHierarchy ch
protected CallGraph cg
protected final AllocationStrategy as
protected final Runtime.ObjectBuilder ob
protected List staticInitializers
Constructor Detail |
---|
public Runtime(Frame frame, AllocationStrategy as, HMethod main, boolean prependUnderscore)
Runtime1.Runtime
.
public Runtime(Frame frame, AllocationStrategy as, HMethod main, boolean prependUnderscore, ObjectBuilder.RootOracle rootOracle)
Runtime1.Runtime
.
Method Detail |
---|
protected Runtime.ObjectBuilder initObjectBuilder(ObjectBuilder.RootOracle ro)
public TreeBuilder getTreeBuilder()
Runtime
TreeBuilder
object for this
Generic.Runtime
.
getTreeBuilder
in class Runtime
public NameMap getNameMap()
Runtime
NameMap
valid for this
Generic.Runtime
.
getNameMap
in class Runtime
public String resourcePath(String basename)
Runtime
resourcePath
in class Runtime
public void setCallGraph(CallGraph cg)
Runtime
CallGraph
to use for this
Generic.Runtime
. Some runtime options do not
require a call graph, and thus do not require that this method
ever be called. However, for those that do, this method must
be called at least once before the TreeBuilder
or
classData
are used to generate tree form. It may
be called multiple times if transformations cause the call
graph to change.
setCallGraph
in class Runtime
public void setClassHierarchy(ClassHierarchy ch)
Runtime
ClassHierarchy
to use for this
Generic.Runtime
. This method must be called at least
once before the TreeBuilder
or classData
are used to generate tree form. It may be called multiple times
if transformations cause the class hierarchy to change.
setClassHierarchy
in class Runtime
protected TreeBuilder initTreeBuilder()
public HCodeFactory nativeTreeCodeFactory(HCodeFactory hcf)
Runtime
The code factory returned by this method should return
a null
for methods which the output routine
should skip. For example, if stubs are not needed for
native methods, then the code factory should return
null
when convert()
is called
on a native method (just as the standard code factories do).
The code factory given should produce tree form. The returned code factory should also produce tree form; the tree form need not be canonicalized or optimized.
nativeTreeCodeFactory
in class Runtime
public Collection runtimeCallableMethods()
Runtime
Set
of HMethod
s
and HClass
es which are referenced /
callable by code in the runtime implementation (and should
therefore be included in every class hierarchy).
runtimeCallableMethods
in class Runtime
public List<HData> classData(HClass hc)
Runtime
HData
s which are needed for the
given class.
classData
in class Runtime
protected Runtime.ExtraClazInfo getExtraClazInfo()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |