diff --git a/build/asm/4_api_version.patch b/build/asm/4_api_version.patch
new file mode 100644
index 000000000000..39637270c7c6
--- /dev/null
+++ b/build/asm/4_api_version.patch
@@ -0,0 +1,24 @@
+Index: org/objectweb/asm/ClassVisitor.java
+===================================================================
+--- org/objectweb/asm/ClassVisitor.java
++++ org/objectweb/asm/ClassVisitor.java
+@@ -78,7 +78,18 @@
+ if (api < Opcodes.ASM4 || api > Opcodes.ASM6) {
+ throw new IllegalArgumentException();
+ }
+- this.api = api;
++ this.api = Opcodes.ASM6; //[JB: use the latest API version]
++ this.cv = cv;
++ }
++
++ //[JB: use the latest API version]
++ public ClassVisitor() {
++ this(null);
++ }
++
++ //[JB: use the latest API version]
++ public ClassVisitor(final ClassVisitor cv) {
++ this.api = Opcodes.ASM6;
+ this.cv = cv;
+ }
+
diff --git a/build/asm/repackage.xml b/build/asm/repackage.xml
index 2c8c60e1b868..845c29ecf986 100644
--- a/build/asm/repackage.xml
+++ b/build/asm/repackage.xml
@@ -42,6 +42,7 @@
+
diff --git a/lib/asm-all.jar b/lib/asm-all.jar
index f3d2cf9ee2e4..581e13583d3e 100644
Binary files a/lib/asm-all.jar and b/lib/asm-all.jar differ
diff --git a/lib/src/asm-src.zip b/lib/src/asm-src.zip
index f9c89ab3b388..8984afd4150b 100644
Binary files a/lib/src/asm-src.zip and b/lib/src/asm-src.zip differ