|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Objectorg.jikesrvm.adaptive.database.callgraph.WeightedCallTargets
public abstract class WeightedCallTargets
A collection of weighted call targets. Depending on the size of the callee set, we use different subclasses that optimize the time/space tradeoffs.
| Nested Class Summary | |
|---|---|
private static class |
WeightedCallTargets.MultiTarget
An implementation for storing a call site distribution that has multiple targets. |
private static class |
WeightedCallTargets.SingleTarget
An implementation for storing a call site distribution that has a single target. |
static interface |
WeightedCallTargets.Visitor
Used by visitTargets |
| Constructor Summary | |
|---|---|
WeightedCallTargets()
|
|
| Method Summary | |
|---|---|
abstract WeightedCallTargets |
augmentCount(RVMMethod target,
double amount)
Augment the weight associated with the argument method by the argument amount. |
static WeightedCallTargets |
create(RVMMethod target,
double weight)
|
abstract void |
decay(double rate)
Decay the weights of all call targets by the specified amount |
abstract WeightedCallTargets |
filter(RVMMethod goal,
boolean isPrecise)
|
WeightedCallTargets |
incrementCount(RVMMethod target)
Augment the weight associated with the argument method by 1. |
abstract double |
totalWeight()
totalWeight of all call targets |
abstract void |
visitTargets(WeightedCallTargets.Visitor func)
Iterate over all of the targets, evaluating the argument function on each edge. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public WeightedCallTargets()
| Method Detail |
|---|
public abstract void visitTargets(WeightedCallTargets.Visitor func)
func - the function to evaluate on each targetpublic final WeightedCallTargets incrementCount(RVMMethod target)
public abstract WeightedCallTargets augmentCount(RVMMethod target,
double amount)
public abstract void decay(double rate)
rate - the value to decay bypublic abstract double totalWeight()
public abstract WeightedCallTargets filter(RVMMethod goal,
boolean isPrecise)
goal - RVMMethod that is the statically possible targetisPrecise - whether or not goal is a precise target, or should be
interpreted as being the root of a virtual method family, any of which
are statically possible.
public static WeightedCallTargets create(RVMMethod target,
double weight)
|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||