public class DefaultTruffleSplittingStrategy extends Object implements TruffleSplittingStrategy
Modifier and Type | Field and Description |
---|---|
private OptimizedDirectCallNode |
call |
Constructor and Description |
---|
DefaultTruffleSplittingStrategy(OptimizedDirectCallNode call) |
Modifier and Type | Method and Description |
---|---|
void |
afterCall(Object returnValue) |
void |
beforeCall(Object[] arguments) |
private static int |
countPolymorphic(OptimizedDirectCallNode call) |
void |
forceSplitting() |
private static boolean |
isMaxSingleCall(OptimizedDirectCallNode call) |
private boolean |
shouldSplit() |
private final OptimizedDirectCallNode call
public DefaultTruffleSplittingStrategy(OptimizedDirectCallNode call)
public void beforeCall(Object[] arguments)
beforeCall
in interface TruffleSplittingStrategy
public void forceSplitting()
forceSplitting
in interface TruffleSplittingStrategy
public void afterCall(Object returnValue)
afterCall
in interface TruffleSplittingStrategy
private boolean shouldSplit()
private static boolean isMaxSingleCall(OptimizedDirectCallNode call)
private static int countPolymorphic(OptimizedDirectCallNode call)