public static interface HostVM.MultiMethodAnalysisPolicy
| Modifier and Type | Method and Description |
|---|---|
boolean |
canComputeReturnedParameterIndex(com.oracle.svm.common.meta.MultiMethod.MultiMethodKey multiMethodKey)
Decides whether analysis should compute the returned parameter index.
|
<T extends AnalysisMethod> |
determineCallees(BigBang bb,
T implementation,
T target,
com.oracle.svm.common.meta.MultiMethod.MultiMethodKey callerMultiMethodKey,
InvokeTypeFlow invokeFlow)
Determines what versions of a method are reachable from the call.
|
boolean |
insertPlaceholderParamAndReturnFlows(com.oracle.svm.common.meta.MultiMethod.MultiMethodKey multiMethodKey)
Decides whether placeholder flows should be inserted for missing object parameter and
return values.
|
boolean |
performParameterLinking(com.oracle.svm.common.meta.MultiMethod.MultiMethodKey callerMultiMethodKey,
com.oracle.svm.common.meta.MultiMethod.MultiMethodKey calleeMultiMethodKey)
Decides whether the caller's flows should be linked to callee's parameters flows.
|
boolean |
performReturnLinking(com.oracle.svm.common.meta.MultiMethod.MultiMethodKey callerMultiMethodKey,
com.oracle.svm.common.meta.MultiMethod.MultiMethodKey calleeMultiMethodKey)
Decides whether the callee's return flow should be linked to caller's flows.
|
<T extends AnalysisMethod> Collection<T> determineCallees(BigBang bb, T implementation, T target, com.oracle.svm.common.meta.MultiMethod.MultiMethodKey callerMultiMethodKey, InvokeTypeFlow invokeFlow)
implementation - The resolved destination. MultiMethod.ORIGINAL_METHOD.target - The original target. This should be a MultiMethod.ORIGINAL_METHOD.callerMultiMethodKey - The context in which the call is being made.boolean performParameterLinking(com.oracle.svm.common.meta.MultiMethod.MultiMethodKey callerMultiMethodKey,
com.oracle.svm.common.meta.MultiMethod.MultiMethodKey calleeMultiMethodKey)
boolean performReturnLinking(com.oracle.svm.common.meta.MultiMethod.MultiMethodKey callerMultiMethodKey,
com.oracle.svm.common.meta.MultiMethod.MultiMethodKey calleeMultiMethodKey)
boolean canComputeReturnedParameterIndex(com.oracle.svm.common.meta.MultiMethod.MultiMethodKey multiMethodKey)
boolean insertPlaceholderParamAndReturnFlows(com.oracle.svm.common.meta.MultiMethod.MultiMethodKey multiMethodKey)