Search in sources :

Example 21 with DeoptimizeNode

use of org.graalvm.compiler.nodes.DeoptimizeNode in project graal by oracle.

the class BytecodeParser method handleUnresolvedNewObjectArray.

/**
 * @param type the type of the array being instantiated
 * @param length the length of the array
 */
protected void handleUnresolvedNewObjectArray(JavaType type, ValueNode length) {
    assert !graphBuilderConfig.unresolvedIsError();
    DeoptimizeNode deopt = append(new DeoptimizeNode(InvalidateRecompile, Unresolved));
    deopt.updateNodeSourcePosition(() -> createBytecodePosition());
}
Also used : DeoptimizeNode(org.graalvm.compiler.nodes.DeoptimizeNode)

Example 22 with DeoptimizeNode

use of org.graalvm.compiler.nodes.DeoptimizeNode in project graal by oracle.

the class BytecodeParser method handleUnresolvedLoadConstant.

/**
 * @param type the unresolved type of the constant
 */
protected void handleUnresolvedLoadConstant(JavaType type) {
    assert !graphBuilderConfig.unresolvedIsError();
    DeoptimizeNode deopt = append(new DeoptimizeNode(InvalidateRecompile, Unresolved));
    /*
         * Track source position for deopt nodes even if
         * GraphBuilderConfiguration.trackNodeSourcePosition is not set.
         */
    deopt.updateNodeSourcePosition(() -> createBytecodePosition());
}
Also used : DeoptimizeNode(org.graalvm.compiler.nodes.DeoptimizeNode)

Example 23 with DeoptimizeNode

use of org.graalvm.compiler.nodes.DeoptimizeNode in project graal by oracle.

the class BytecodeParser method handleUnresolvedStoreField.

/**
 * @param field the unresolved field
 * @param value the value being stored to the field
 * @param receiver the object containing the field or {@code null} if {@code field} is static
 */
protected void handleUnresolvedStoreField(JavaField field, ValueNode value, ValueNode receiver) {
    assert !graphBuilderConfig.unresolvedIsError();
    DeoptimizeNode deopt = append(new DeoptimizeNode(InvalidateRecompile, Unresolved));
    deopt.updateNodeSourcePosition(() -> createBytecodePosition());
}
Also used : DeoptimizeNode(org.graalvm.compiler.nodes.DeoptimizeNode)

Example 24 with DeoptimizeNode

use of org.graalvm.compiler.nodes.DeoptimizeNode in project graal by oracle.

the class BytecodeParser method handleUnresolvedNewMultiArray.

/**
 * @param type the type being instantiated
 * @param dims the dimensions for the multi-array
 */
protected void handleUnresolvedNewMultiArray(JavaType type, ValueNode[] dims) {
    assert !graphBuilderConfig.unresolvedIsError();
    DeoptimizeNode deopt = append(new DeoptimizeNode(InvalidateRecompile, Unresolved));
    deopt.updateNodeSourcePosition(() -> createBytecodePosition());
}
Also used : DeoptimizeNode(org.graalvm.compiler.nodes.DeoptimizeNode)

Example 25 with DeoptimizeNode

use of org.graalvm.compiler.nodes.DeoptimizeNode in project graal by oracle.

the class BytecodeParser method handleUnresolvedLoadField.

/**
 * @param field the unresolved field
 * @param receiver the object containing the field or {@code null} if {@code field} is static
 */
protected void handleUnresolvedLoadField(JavaField field, ValueNode receiver) {
    assert !graphBuilderConfig.unresolvedIsError();
    DeoptimizeNode deopt = append(new DeoptimizeNode(InvalidateRecompile, Unresolved));
    deopt.updateNodeSourcePosition(() -> createBytecodePosition());
}
Also used : DeoptimizeNode(org.graalvm.compiler.nodes.DeoptimizeNode)

Aggregations

DeoptimizeNode (org.graalvm.compiler.nodes.DeoptimizeNode)32 FixedNode (org.graalvm.compiler.nodes.FixedNode)11 AbstractBeginNode (org.graalvm.compiler.nodes.AbstractBeginNode)10 ValueNode (org.graalvm.compiler.nodes.ValueNode)10 ResolvedJavaMethod (jdk.vm.ci.meta.ResolvedJavaMethod)8 FixedWithNextNode (org.graalvm.compiler.nodes.FixedWithNextNode)8 ResolvedJavaType (jdk.vm.ci.meta.ResolvedJavaType)7 BeginNode (org.graalvm.compiler.nodes.BeginNode)7 JavaConstant (jdk.vm.ci.meta.JavaConstant)6 Node (org.graalvm.compiler.graph.Node)6 GraphBuilderContext (org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext)6 InvocationPlugin (org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin)6 FrameState (org.graalvm.compiler.nodes.FrameState)5 InvokeWithExceptionNode (org.graalvm.compiler.nodes.InvokeWithExceptionNode)5 KillingBeginNode (org.graalvm.compiler.nodes.KillingBeginNode)5 MergeNode (org.graalvm.compiler.nodes.MergeNode)5 Receiver (org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin.Receiver)5 JavaKind (jdk.vm.ci.meta.JavaKind)4 AbstractMergeNode (org.graalvm.compiler.nodes.AbstractMergeNode)4 CallTargetNode (org.graalvm.compiler.nodes.CallTargetNode)4