update BackendUtils.classfileVersionMap#23954
Conversation
ba0b8c3 to
dd87778
Compare
| 14 -> asm.Opcodes.V14, | ||
| 15 -> asm.Opcodes.V15, | ||
| 16 -> asm.Opcodes.V16, | ||
| 17 -> asm.Opcodes.V17, |
There was a problem hiding this comment.
Add a comment here:
//java 8~16 support has been dropped`
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
54a2f0c to
eee5ebf
Compare
WojciechMazur
left a comment
There was a problem hiding this comment.
LGTM, thank you for these changes.
Potentially we can also remove the now deadcode logic for String Concat used in JDK8
scala3/compiler/src/dotty/tools/backend/jvm/BCodeBodyBuilder.scala
Lines 1306 to 1326 in 6bdf209
However it can also be done in the follow up. I leave the decision up to you, we'd most likely merge it tomorrow and backport to 3.8.0-RC5
| "append(D)Ljava/lang/StringBuilder;", | ||
| "append(Ljava/lang/StringBuffer;)Ljava/lang/StringBuilder;", | ||
| "append(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;", | ||
| "append(Ljava/lang/Object;)Ljava/lang/StringBuilder;", // test that we're not using the [C overload |
| class StringInterpolatorOptTest extends DottyBytecodeTest { | ||
| import ASMConverters._ | ||
|
|
||
| private def convertInvokeDynamicArray(i: Instruction): Instruction = |
There was a problem hiding this comment.
I believe this is converting arrays to lists for structural equality of InvokeDynamic, but bsmArgs shouldn't have Array...
It turned out this is the consequence of a long-time bug in AsmConverters 😄 The following diff should fix without convertInvokeDynamicArray.
diff --git a/compiler/test/dotty/tools/backend/jvm/AsmConverters.scala b/compiler/test/dotty/tools/backend/jvm/AsmConverters.scala
index c751937bd9..dfa7ed25ab 100644
--- a/compiler/test/dotty/tools/backend/jvm/AsmConverters.scala
+++ b/compiler/test/dotty/tools/backend/jvm/AsmConverters.scala
@@ -148,7 +148,7 @@ object ASMConverters {
private def convertBsmArgs(a: Array[Object]): List[Object] = a.iterator.map({
case h: asm.Handle => convertMethodHandle(h)
- case _ => a // can be: Class, method Type, primitive constant
+ case x => x // can be: Class, method Type, primitive constant
}).toList
private def convertMethodHandle(h: asm.Handle): MethodHandle = MethodHandle(h.getTag, h.getOwner, h.getName, h.getDesc, h.isInterface)eee5ebf to
2b92b26
Compare
2b92b26 to
042bd3f
Compare
|
Backports #23954 to the 3.8.0-RC5. PR submitted by the release tooling. [skip ci]
Backports #23954 to the 3.8.1-RC1. PR submitted by the release tooling.
delete old versions
https://www.scala-lang.org/news/next-scala-lts-jdk.html
StringConcatFactoryby default #24781