com.oracle.graal.python.nodes.call.FunctionInvokeNodeGen Maven / Gradle / Ivy
// CheckStyle: start generated
package com.oracle.graal.python.nodes.call;
import com.oracle.graal.python.builtins.objects.cell.PCell;
import com.oracle.graal.python.builtins.objects.function.PFunction;
import com.oracle.graal.python.builtins.objects.object.PythonObject;
import com.oracle.truffle.api.CallTarget;
import com.oracle.truffle.api.CompilerDirectives.CompilationFinal;
import com.oracle.truffle.api.dsl.GeneratedBy;
import com.oracle.truffle.api.dsl.NeverDefault;
import com.oracle.truffle.api.dsl.InlineSupport.InlineTarget;
import com.oracle.truffle.api.dsl.InlineSupport.StateField;
import com.oracle.truffle.api.dsl.InlineSupport.UnsafeAccessedField;
import com.oracle.truffle.api.frame.VirtualFrame;
import com.oracle.truffle.api.nodes.Node;
import com.oracle.truffle.api.nodes.NodeCost;
import com.oracle.truffle.api.profiles.InlinedConditionProfile;
import java.lang.invoke.MethodHandles;
/**
* Debug Info:
* Specialization {@link FunctionInvokeNode#doDirect}
* Activation probability: 1.00000
* With/without class size: 24/1 bytes
*
*/
@GeneratedBy(FunctionInvokeNode.class)
@SuppressWarnings("javadoc")
public final class FunctionInvokeNodeGen extends FunctionInvokeNode {
private static final StateField STATE_0_FunctionInvokeNode_UPDATER = StateField.create(MethodHandles.lookup(), "state_0_");
/**
* Source Info:
* Specialization: {@link FunctionInvokeNode#doDirect}
* Parameter: {@link InlinedConditionProfile} isGeneratorFunctionProfile
* Inline method: {@link InlinedConditionProfile#inline}
*/
private static final InlinedConditionProfile INLINED_IS_GENERATOR_FUNCTION_PROFILE_ = InlinedConditionProfile.inline(InlineTarget.create(InlinedConditionProfile.class, STATE_0_FunctionInvokeNode_UPDATER.subUpdater(0, 2)));
/**
* State Info:
* 0-1: InlinedCache
* Specialization: {@link FunctionInvokeNode#doDirect}
* Parameter: {@link InlinedConditionProfile} isGeneratorFunctionProfile
* Inline method: {@link InlinedConditionProfile#inline}
*
*/
@CompilationFinal @UnsafeAccessedField private int state_0_;
private FunctionInvokeNodeGen(PFunction callee, CallTarget callTarget, PythonObject globals, PCell[] closure, boolean isBuiltin, boolean isGenerator, boolean split) {
super(callee, callTarget, globals, closure, isBuiltin, isGenerator, split);
}
@Override
public Object execute(VirtualFrame frameValue, Object[] arg0Value) {
{
Node inliningTarget__ = (this);
return doDirect(frameValue, arg0Value, inliningTarget__, INLINED_IS_GENERATOR_FUNCTION_PROFILE_);
}
}
@Override
public NodeCost getCost() {
return NodeCost.MONOMORPHIC;
}
@NeverDefault
public static FunctionInvokeNode create(PFunction callee, CallTarget callTarget, PythonObject globals, PCell[] closure, boolean isBuiltin, boolean isGenerator, boolean split) {
return new FunctionInvokeNodeGen(callee, callTarget, globals, closure, isBuiltin, isGenerator, split);
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy