Skip to content

Instantly share code, notes, and snippets.

@xuwei-k
Last active September 22, 2023 07:48
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save xuwei-k/a5e5ddce2ed4d9c4409633b8931166c6 to your computer and use it in GitHub Desktop.
Save xuwei-k/a5e5ddce2ed4d9c4409633b8931166c6 to your computer and use it in GitHub Desktop.
public java.lang.String x(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
0: aload_1
1: invokedynamic #27, 0 // InvokeDynamic #0:makeConcatWithConstants:(Ljava/lang/String;)Ljava/lang/String;
6: areturn
public java.lang.String x(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
0: new #13 // class java/lang/StringBuilder
3: dup
4: ldc #14 // int 3
6: invokespecial #18 // Method java/lang/StringBuilder."<init>":(I)V
9: ldc #20 // String zzz
11: invokevirtual #24 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
14: aload_1
15: invokevirtual #24 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
18: invokevirtual #28 // Method java/lang/StringBuilder.toString:()Ljava/lang/String;
21: areturn
  • これの説明 scala/scala#9556
  • A.scala をScala 2.13.12で、それぞれJDK 11で --release:8--release:11 使ってcompileして、それを javap -v A した結果の一部
class A {
def x(y: String): String = "zzz" + y
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment