< prev index next >
src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/spi/VirtualizerTool.java
Print this page
*** 23,32 ****
--- 23,33 ----
package org.graalvm.compiler.nodes.spi;
import java.util.List;
import org.graalvm.compiler.debug.DebugContext;
+ import org.graalvm.compiler.debug.GraalError;
import org.graalvm.compiler.graph.Node;
import org.graalvm.compiler.nodes.ValueNode;
import org.graalvm.compiler.nodes.java.MonitorIdNode;
import org.graalvm.compiler.nodes.virtual.VirtualObjectNode;
import org.graalvm.compiler.options.OptionValues;
*** 89,101 ****
/**
* Sets the entry (field or array element) with the given index in the virtualized object.
*
* @param index the index to be set.
* @param value the new value for the given index.
! * @param unsafe if true, then mismatching value {@link JavaKind}s will be accepted.
! */
! void setVirtualEntry(VirtualObjectNode virtualObject, int index, ValueNode value, boolean unsafe);
ValueNode getEntry(VirtualObjectNode virtualObject, int index);
void addLock(VirtualObjectNode virtualObject, MonitorIdNode monitorId);
--- 90,110 ----
/**
* Sets the entry (field or array element) with the given index in the virtualized object.
*
* @param index the index to be set.
* @param value the new value for the given index.
! * @param accessKind the kind of the store which might be different than
! * {@link VirtualObjectNode#entryKind(int)}.
! * @return true if the operation was permitted
! */
! boolean setVirtualEntry(VirtualObjectNode virtualObject, int index, ValueNode value, JavaKind accessKind, long offset);
!
! default void setVirtualEntry(VirtualObjectNode virtualObject, int index, ValueNode value) {
! if (!setVirtualEntry(virtualObject, index, value, null, 0)) {
! throw new GraalError("unexpected failure when updating virtual entry");
! }
! }
ValueNode getEntry(VirtualObjectNode virtualObject, int index);
void addLock(VirtualObjectNode virtualObject, MonitorIdNode monitorId);
< prev index next >