< prev index next >
src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.java/src/org/graalvm/compiler/java/FrameStateBuilder.java
Print this page
*** 741,750 ****
--- 741,757 ----
/* Writing the second slot of a two-slot value invalidates the first slot. */
locals[i - 1] = null;
}
locals[i] = x;
if (slotKind.needsTwoSlots()) {
+ if (i < locals.length - 2 && locals[i + 2] == TWO_SLOT_MARKER) {
+ /*
+ * Writing a two-slot marker to an index previously occupied by a two-slot value:
+ * clear the old marker of the second slot.
+ */
+ locals[i + 2] = null;
+ }
/* Writing a two-slot value: mark the second slot. */
locals[i + 1] = TWO_SLOT_MARKER;
} else if (i < locals.length - 1 && locals[i + 1] == TWO_SLOT_MARKER) {
/*
* Writing a one-slot value to an index previously occupied by a two-slot value: clear
< prev index next >