src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.asm/src/org/graalvm/compiler/asm/Label.java
--- a/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.asm/src/org/graalvm/compiler/asm/Label.java Thu Jun 27 03:10:52 2019 +0200
+++ b/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.asm/src/org/graalvm/compiler/asm/Label.java Thu Jun 27 03:33:44 2019 +0200
@@ -26,6 +26,8 @@
import java.util.ArrayList;
+import org.graalvm.compiler.debug.GraalError;
+
/**
* This class represents a label within assembly code.
*/
@@ -71,7 +73,9 @@
* {@link #addPatchAt(int, Assembler)}.
*/
protected void bind(int pos, Assembler asm) {
- assert pos >= 0;
+ if (pos < 0) {
+ throw new GraalError("Cannot bind label to negative position %d", pos);
+ }
this.position = pos;
if (patchPositions != null) {
for (int i = 0; i < patchPositions.size(); ++i) {