public class DefaultTruffleSplittingStrategyNew extends Object implements TruffleSplittingStrategy
| Modifier and Type | Field and Description |
|---|---|
private TruffleStamp |
argumentStamp |
private OptimizedDirectCallNode |
call |
private int |
splitStart |
private boolean |
splittingEnabled |
private boolean |
splittingForced |
| Constructor and Description |
|---|
DefaultTruffleSplittingStrategyNew(OptimizedDirectCallNode call) |
| Modifier and Type | Method and Description |
|---|---|
void |
afterCall(Object returnValue) |
void |
beforeCall(Object[] arguments) |
private static void |
cleanup(OptimizedCallTarget currentTarget) |
private static void |
disposeTarget(OptimizedCallTarget removed) |
void |
forceSplitting() |
private static boolean |
isSplittingEnabled(OptimizedDirectCallNode call) |
private void |
newSplitting(Object[] arguments) |
private OptimizedCallTarget |
runSplitIteration(TruffleStamp oldProfile,
TruffleStamp newProfile,
int calls) |
private final int splitStart
private final OptimizedDirectCallNode call
private final boolean splittingEnabled
private boolean splittingForced
private TruffleStamp argumentStamp
public DefaultTruffleSplittingStrategyNew(OptimizedDirectCallNode call)
private static boolean isSplittingEnabled(OptimizedDirectCallNode call)
public void forceSplitting()
forceSplitting in interface TruffleSplittingStrategypublic void beforeCall(Object[] arguments)
beforeCall in interface TruffleSplittingStrategypublic void afterCall(Object returnValue)
afterCall in interface TruffleSplittingStrategyprivate void newSplitting(Object[] arguments)
private OptimizedCallTarget runSplitIteration(TruffleStamp oldProfile, TruffleStamp newProfile, int calls)
private static void cleanup(OptimizedCallTarget currentTarget)
private static void disposeTarget(OptimizedCallTarget removed)