IC mangling: Change mangling rules
1. Use 'x' for each parameter, which is not an inline class, every possible clash is handled by signature rather than name. This change makes more API changes binary-compatible. So, the changes are in line with the vision of inline classes are value classes, like primitives. 2. Take return type into account when mangling a function if the return type is inline class. Otherwise, boxing bridge will not be generated, which leads to CCE at runtime.
This commit is contained in:
Vendored
+4
-4
@@ -21,8 +21,8 @@ public final class InlineList {
|
||||
private synthetic method <init>(p0: java.util.List): void
|
||||
public synthetic method add(p0: int, p1: java.lang.Object): void
|
||||
public synthetic method add(p0: java.lang.Object): boolean
|
||||
public method add-_bimVNw(p0: int, p1: int): void
|
||||
public method add-jHY5zpA(p0: int): boolean
|
||||
public method add-rENGgLQ(p0: int, p1: int): void
|
||||
public method addAll(p0: int, p1: java.util.Collection): boolean
|
||||
public method addAll(p0: java.util.Collection): boolean
|
||||
public synthetic final static method box-impl(p0: java.util.List): InlineList
|
||||
@@ -37,8 +37,8 @@ public final class InlineList {
|
||||
public static method equals-impl(p0: java.util.List, p1: java.lang.Object): boolean
|
||||
public final static method equals-impl0(p0: java.util.List, p1: java.util.List): boolean
|
||||
public synthetic bridge method get(p0: int): java.lang.Object
|
||||
public method get-XAcLw3A(p0: int): int
|
||||
public static method get-XAcLw3A(p0: java.util.List, p1: int): int
|
||||
public method get-JnfgTak(p0: int): int
|
||||
public static method get-JnfgTak(p0: java.util.List, p1: int): int
|
||||
public method getSize(): int
|
||||
public static method getSize-impl(p0: java.util.List): int
|
||||
public method hashCode(): int
|
||||
@@ -63,7 +63,7 @@ public final class InlineList {
|
||||
public method removeAll(p0: java.util.Collection): boolean
|
||||
public method retainAll(p0: java.util.Collection): boolean
|
||||
public synthetic method set(p0: int, p1: java.lang.Object): java.lang.Object
|
||||
public method set-_bimVNw(p0: int, p1: int): int
|
||||
public method set-Geu8JnU(p0: int, p1: int): int
|
||||
public bridge final method size(): int
|
||||
public method subList(p0: int, p1: int): java.util.List
|
||||
public static method subList-impl(p0: java.util.List, p1: int, p2: int): java.util.List
|
||||
|
||||
Vendored
+4
-4
@@ -21,8 +21,8 @@ public final class InlineList {
|
||||
private synthetic method <init>(p0: java.util.List): void
|
||||
public synthetic bridge method add(p0: int, p1: java.lang.Object): void
|
||||
public synthetic bridge method add(p0: java.lang.Object): boolean
|
||||
public method add-_bimVNw(p0: int, p1: int): void
|
||||
public method add-jHY5zpA(p0: int): boolean
|
||||
public method add-rENGgLQ(p0: int, p1: int): void
|
||||
public method addAll(p0: int, p1: java.util.Collection): boolean
|
||||
public method addAll(p0: java.util.Collection): boolean
|
||||
public synthetic final static method box-impl(p0: java.util.List): InlineList
|
||||
@@ -37,8 +37,8 @@ public final class InlineList {
|
||||
public static method equals-impl(p0: java.util.List, p1: java.lang.Object): boolean
|
||||
public final static method equals-impl0(p0: java.util.List, p1: java.util.List): boolean
|
||||
public synthetic bridge method get(p0: int): java.lang.Object
|
||||
public method get-XAcLw3A(p0: int): int
|
||||
public static method get-XAcLw3A(p0: java.util.List, p1: int): int
|
||||
public method get-JnfgTak(p0: int): int
|
||||
public static method get-JnfgTak(p0: java.util.List, p1: int): int
|
||||
public method getSize(): int
|
||||
public static method getSize-impl(p0: java.util.List): int
|
||||
public method hashCode(): int
|
||||
@@ -63,7 +63,7 @@ public final class InlineList {
|
||||
public method removeAll(p0: java.util.Collection): boolean
|
||||
public method retainAll(p0: java.util.Collection): boolean
|
||||
public synthetic bridge method set(p0: int, p1: java.lang.Object): java.lang.Object
|
||||
public method set-_bimVNw(p0: int, p1: int): int
|
||||
public method set-Geu8JnU(p0: int, p1: int): int
|
||||
public synthetic bridge method size(): int
|
||||
public method subList(p0: int, p1: int): java.util.List
|
||||
public static method subList-impl(p0: java.util.List, p1: int, p2: int): java.util.List
|
||||
|
||||
Vendored
+3
-3
@@ -50,8 +50,8 @@ public final class InlineMap {
|
||||
public static method equals-impl(p0: java.util.Map, p1: java.lang.Object): boolean
|
||||
public final static method equals-impl0(p0: java.util.Map, p1: java.util.Map): boolean
|
||||
public bridge final method get(p0: java.lang.Object): java.lang.Object
|
||||
public method get-FSIWiWE(p0: int): IV
|
||||
public static method get-FSIWiWE(p0: java.util.Map, p1: int): IV
|
||||
public method get-qgyy0Jc(p0: int): IV
|
||||
public static method get-qgyy0Jc(p0: java.util.Map, p1: int): IV
|
||||
public method getEntries(): java.util.Set
|
||||
public static method getEntries-impl(p0: java.util.Map): java.util.Set
|
||||
public method getKeys(): java.util.Set
|
||||
@@ -66,7 +66,7 @@ public final class InlineMap {
|
||||
public static method isEmpty-impl(p0: java.util.Map): boolean
|
||||
public bridge final method keySet(): java.util.Set
|
||||
public synthetic method put(p0: java.lang.Object, p1: java.lang.Object): java.lang.Object
|
||||
public method put-pjrbk2k(p0: int, p1: double): IV
|
||||
public method put-eSoqwEg(p0: int, p1: double): IV
|
||||
public method putAll(p0: java.util.Map): void
|
||||
public method remove(p0: java.lang.Object): java.lang.Object
|
||||
public bridge final method size(): int
|
||||
|
||||
Vendored
+1
-1
@@ -50,7 +50,7 @@ public final class InlineMapEntry {
|
||||
public method hashCode(): int
|
||||
public static method hashCode-impl(p0: java.util.Map$Entry): int
|
||||
public synthetic method setValue(p0: java.lang.Object): java.lang.Object
|
||||
public method setValue-jbX5DO8(p0: double): double
|
||||
public method setValue-cYiyq8k(p0: double): double
|
||||
public method toString(): java.lang.String
|
||||
public static method toString-impl(p0: java.util.Map$Entry): java.lang.String
|
||||
public synthetic final method unbox-impl(): java.util.Map$Entry
|
||||
|
||||
+1
-1
@@ -50,7 +50,7 @@ public final class InlineMapEntry {
|
||||
public method hashCode(): int
|
||||
public static method hashCode-impl(p0: java.util.Map$Entry): int
|
||||
public synthetic bridge method setValue(p0: java.lang.Object): java.lang.Object
|
||||
public method setValue-jbX5DO8(p0: double): double
|
||||
public method setValue-cYiyq8k(p0: double): double
|
||||
public method toString(): java.lang.String
|
||||
public static method toString-impl(p0: java.util.Map$Entry): java.lang.String
|
||||
public synthetic final method unbox-impl(): java.util.Map$Entry
|
||||
|
||||
Vendored
+4
-4
@@ -50,8 +50,8 @@ public final class InlineMap {
|
||||
public static method equals-impl(p0: java.util.Map, p1: java.lang.Object): boolean
|
||||
public final static method equals-impl0(p0: java.util.Map, p1: java.util.Map): boolean
|
||||
public synthetic bridge method get(p0: java.lang.Object): java.lang.Object
|
||||
public method get-FSIWiWE(p0: int): IV
|
||||
public static method get-FSIWiWE(p0: java.util.Map, p1: int): IV
|
||||
public method get-qgyy0Jc(p0: int): IV
|
||||
public static method get-qgyy0Jc(p0: java.util.Map, p1: int): IV
|
||||
public method getEntries(): java.util.Set
|
||||
public static method getEntries-impl(p0: java.util.Map): java.util.Set
|
||||
public method getKeys(): java.util.Set
|
||||
@@ -66,11 +66,11 @@ public final class InlineMap {
|
||||
public static method isEmpty-impl(p0: java.util.Map): boolean
|
||||
public synthetic bridge method keySet(): java.util.Set
|
||||
public synthetic bridge method put(p0: java.lang.Object, p1: java.lang.Object): java.lang.Object
|
||||
public method put-pjrbk2k(p0: int, p1: double): IV
|
||||
public method put-eSoqwEg(p0: int, p1: double): IV
|
||||
public method putAll(p0: java.util.Map): void
|
||||
public bridge final method remove(p0: java.lang.Object): IV
|
||||
public synthetic bridge method remove(p0: java.lang.Object): java.lang.Object
|
||||
public method remove-i7hxwoc(p0: java.lang.Object): IV
|
||||
public method remove-Ilea9M0(p0: java.lang.Object): IV
|
||||
public synthetic bridge method size(): int
|
||||
public method toString(): java.lang.String
|
||||
public static method toString-impl(p0: java.util.Map): java.lang.String
|
||||
|
||||
+8
-8
@@ -21,10 +21,10 @@ public final class InlineMutableList {
|
||||
private synthetic method <init>(p0: java.util.List): void
|
||||
public synthetic bridge method add(p0: int, p1: java.lang.Object): void
|
||||
public synthetic bridge method add(p0: java.lang.Object): boolean
|
||||
public method add-_bimVNw(p0: int, p1: long): void
|
||||
public static method add-_bimVNw(p0: java.util.List, p1: int, p2: long): void
|
||||
public static method add-jHY5zpA(p0: java.util.List, p1: long): boolean
|
||||
public method add-jHY5zpA(p0: long): boolean
|
||||
public method add-rENGgLQ(p0: int, p1: long): void
|
||||
public static method add-rENGgLQ(p0: java.util.List, p1: int, p2: long): void
|
||||
public method addAll(p0: int, p1: java.util.Collection): boolean
|
||||
public method addAll(p0: java.util.Collection): boolean
|
||||
public static method addAll-impl(p0: java.util.List, p1: int, p2: java.util.Collection): boolean
|
||||
@@ -42,8 +42,8 @@ public final class InlineMutableList {
|
||||
public static method equals-impl(p0: java.util.List, p1: java.lang.Object): boolean
|
||||
public final static method equals-impl0(p0: java.util.List, p1: java.util.List): boolean
|
||||
public synthetic bridge method get(p0: int): java.lang.Object
|
||||
public method get-XAcLw3A(p0: int): long
|
||||
public static method get-XAcLw3A(p0: java.util.List, p1: int): long
|
||||
public method get-JnfgTak(p0: int): long
|
||||
public static method get-JnfgTak(p0: java.util.List, p1: int): long
|
||||
public method getSize(): int
|
||||
public static method getSize-impl(p0: java.util.List): int
|
||||
public method hashCode(): int
|
||||
@@ -69,13 +69,13 @@ public final class InlineMutableList {
|
||||
public method remove-jHY5zpA(p0: long): boolean
|
||||
public method removeAll(p0: java.util.Collection): boolean
|
||||
public static method removeAll-impl(p0: java.util.List, p1: java.util.Collection): boolean
|
||||
public method removeAt-XAcLw3A(p0: int): long
|
||||
public static method removeAt-XAcLw3A(p0: java.util.List, p1: int): long
|
||||
public method removeAt-JnfgTak(p0: int): long
|
||||
public static method removeAt-JnfgTak(p0: java.util.List, p1: int): long
|
||||
public method retainAll(p0: java.util.Collection): boolean
|
||||
public static method retainAll-impl(p0: java.util.List, p1: java.util.Collection): boolean
|
||||
public synthetic bridge method set(p0: int, p1: java.lang.Object): java.lang.Object
|
||||
public method set-_bimVNw(p0: int, p1: long): long
|
||||
public static method set-_bimVNw(p0: java.util.List, p1: int, p2: long): long
|
||||
public method set-Geu8JnU(p0: int, p1: long): long
|
||||
public static method set-Geu8JnU(p0: java.util.List, p1: int, p2: long): long
|
||||
public bridge final method size(): int
|
||||
public method subList(p0: int, p1: int): java.util.List
|
||||
public static method subList-impl(p0: java.util.List, p1: int, p2: int): java.util.List
|
||||
|
||||
+8
-8
@@ -21,10 +21,10 @@ public final class InlineMutableList {
|
||||
private synthetic method <init>(p0: java.util.List): void
|
||||
public synthetic bridge method add(p0: int, p1: java.lang.Object): void
|
||||
public synthetic bridge method add(p0: java.lang.Object): boolean
|
||||
public method add-_bimVNw(p0: int, p1: long): void
|
||||
public static method add-_bimVNw(p0: java.util.List, p1: int, p2: long): void
|
||||
public static method add-jHY5zpA(p0: java.util.List, p1: long): boolean
|
||||
public method add-jHY5zpA(p0: long): boolean
|
||||
public method add-rENGgLQ(p0: int, p1: long): void
|
||||
public static method add-rENGgLQ(p0: java.util.List, p1: int, p2: long): void
|
||||
public method addAll(p0: int, p1: java.util.Collection): boolean
|
||||
public method addAll(p0: java.util.Collection): boolean
|
||||
public static method addAll-impl(p0: java.util.List, p1: int, p2: java.util.Collection): boolean
|
||||
@@ -42,8 +42,8 @@ public final class InlineMutableList {
|
||||
public static method equals-impl(p0: java.util.List, p1: java.lang.Object): boolean
|
||||
public final static method equals-impl0(p0: java.util.List, p1: java.util.List): boolean
|
||||
public synthetic bridge method get(p0: int): java.lang.Object
|
||||
public method get-XAcLw3A(p0: int): long
|
||||
public static method get-XAcLw3A(p0: java.util.List, p1: int): long
|
||||
public method get-JnfgTak(p0: int): long
|
||||
public static method get-JnfgTak(p0: java.util.List, p1: int): long
|
||||
public method getSize(): int
|
||||
public static method getSize-impl(p0: java.util.List): int
|
||||
public method hashCode(): int
|
||||
@@ -69,13 +69,13 @@ public final class InlineMutableList {
|
||||
public method remove-jHY5zpA(p0: long): boolean
|
||||
public method removeAll(p0: java.util.Collection): boolean
|
||||
public static method removeAll-impl(p0: java.util.List, p1: java.util.Collection): boolean
|
||||
public method removeAt-XAcLw3A(p0: int): long
|
||||
public static method removeAt-XAcLw3A(p0: java.util.List, p1: int): long
|
||||
public method removeAt-JnfgTak(p0: int): long
|
||||
public static method removeAt-JnfgTak(p0: java.util.List, p1: int): long
|
||||
public method retainAll(p0: java.util.Collection): boolean
|
||||
public static method retainAll-impl(p0: java.util.List, p1: java.util.Collection): boolean
|
||||
public synthetic bridge method set(p0: int, p1: java.lang.Object): java.lang.Object
|
||||
public method set-_bimVNw(p0: int, p1: long): long
|
||||
public static method set-_bimVNw(p0: java.util.List, p1: int, p2: long): long
|
||||
public method set-Geu8JnU(p0: int, p1: long): long
|
||||
public static method set-Geu8JnU(p0: java.util.List, p1: int, p2: long): long
|
||||
public synthetic bridge method size(): int
|
||||
public method subList(p0: int, p1: int): java.util.List
|
||||
public static method subList-impl(p0: java.util.List, p1: int, p2: int): java.util.List
|
||||
|
||||
compiler/testData/codegen/bytecodeListing/inlineClasses/inlineCollectionOfInlineClass/mutableMap.txt
Vendored
+6
-6
@@ -51,8 +51,8 @@ public final class InlineMutableMap {
|
||||
public static method equals-impl(p0: java.util.Map, p1: java.lang.Object): boolean
|
||||
public final static method equals-impl0(p0: java.util.Map, p1: java.util.Map): boolean
|
||||
public bridge final method get(p0: java.lang.Object): java.lang.Object
|
||||
public method get-FSIWiWE(p0: int): IV
|
||||
public static method get-FSIWiWE(p0: java.util.Map, p1: int): IV
|
||||
public method get-qgyy0Jc(p0: int): IV
|
||||
public static method get-qgyy0Jc(p0: java.util.Map, p1: int): IV
|
||||
public method getEntries(): java.util.Set
|
||||
public static method getEntries-impl(p0: java.util.Map): java.util.Set
|
||||
public method getKeys(): java.util.Set
|
||||
@@ -67,13 +67,13 @@ public final class InlineMutableMap {
|
||||
public static method isEmpty-impl(p0: java.util.Map): boolean
|
||||
public bridge final method keySet(): java.util.Set
|
||||
public synthetic bridge method put(p0: java.lang.Object, p1: java.lang.Object): java.lang.Object
|
||||
public method put-pjrbk2k(p0: int, p1: double): IV
|
||||
public static method put-pjrbk2k(p0: java.util.Map, p1: int, p2: double): IV
|
||||
public method put-eSoqwEg(p0: int, p1: double): IV
|
||||
public static method put-eSoqwEg(p0: java.util.Map, p1: int, p2: double): IV
|
||||
public method putAll(p0: java.util.Map): void
|
||||
public static method putAll-impl(p0: java.util.Map, p1: java.util.Map): void
|
||||
public bridge final method remove(p0: java.lang.Object): java.lang.Object
|
||||
public method remove-FSIWiWE(p0: int): IV
|
||||
public static method remove-FSIWiWE(p0: java.util.Map, p1: int): IV
|
||||
public method remove-qgyy0Jc(p0: int): IV
|
||||
public static method remove-qgyy0Jc(p0: java.util.Map, p1: int): IV
|
||||
public bridge final method size(): int
|
||||
public method toString(): java.lang.String
|
||||
public static method toString-impl(p0: java.util.Map): java.lang.String
|
||||
|
||||
+2
-2
@@ -50,8 +50,8 @@ public final class InlineMutableMapEntry {
|
||||
public method hashCode(): int
|
||||
public static method hashCode-impl(p0: java.util.Map$Entry): int
|
||||
public synthetic bridge method setValue(p0: java.lang.Object): java.lang.Object
|
||||
public method setValue-jbX5DO8(p0: double): double
|
||||
public static method setValue-jbX5DO8(p0: java.util.Map$Entry, p1: double): double
|
||||
public method setValue-cYiyq8k(p0: double): double
|
||||
public static method setValue-cYiyq8k(p0: java.util.Map$Entry, p1: double): double
|
||||
public method toString(): java.lang.String
|
||||
public static method toString-impl(p0: java.util.Map$Entry): java.lang.String
|
||||
public synthetic final method unbox-impl(): java.util.Map$Entry
|
||||
|
||||
+6
-6
@@ -51,8 +51,8 @@ public final class InlineMutableMap {
|
||||
public static method equals-impl(p0: java.util.Map, p1: java.lang.Object): boolean
|
||||
public final static method equals-impl0(p0: java.util.Map, p1: java.util.Map): boolean
|
||||
public synthetic bridge method get(p0: java.lang.Object): java.lang.Object
|
||||
public method get-FSIWiWE(p0: int): IV
|
||||
public static method get-FSIWiWE(p0: java.util.Map, p1: int): IV
|
||||
public method get-qgyy0Jc(p0: int): IV
|
||||
public static method get-qgyy0Jc(p0: java.util.Map, p1: int): IV
|
||||
public method getEntries(): java.util.Set
|
||||
public static method getEntries-impl(p0: java.util.Map): java.util.Set
|
||||
public method getKeys(): java.util.Set
|
||||
@@ -67,14 +67,14 @@ public final class InlineMutableMap {
|
||||
public static method isEmpty-impl(p0: java.util.Map): boolean
|
||||
public synthetic bridge method keySet(): java.util.Set
|
||||
public synthetic bridge method put(p0: java.lang.Object, p1: java.lang.Object): java.lang.Object
|
||||
public method put-pjrbk2k(p0: int, p1: double): IV
|
||||
public static method put-pjrbk2k(p0: java.util.Map, p1: int, p2: double): IV
|
||||
public method put-eSoqwEg(p0: int, p1: double): IV
|
||||
public static method put-eSoqwEg(p0: java.util.Map, p1: int, p2: double): IV
|
||||
public method putAll(p0: java.util.Map): void
|
||||
public static method putAll-impl(p0: java.util.Map, p1: java.util.Map): void
|
||||
public bridge final method remove(p0: java.lang.Object): IV
|
||||
public synthetic bridge method remove(p0: java.lang.Object): java.lang.Object
|
||||
public method remove-FSIWiWE(p0: int): IV
|
||||
public static method remove-FSIWiWE(p0: java.util.Map, p1: int): IV
|
||||
public method remove-qgyy0Jc(p0: int): IV
|
||||
public static method remove-qgyy0Jc(p0: java.util.Map, p1: int): IV
|
||||
public synthetic bridge method size(): int
|
||||
public method toString(): java.lang.String
|
||||
public static method toString-impl(p0: java.util.Map): java.lang.String
|
||||
|
||||
Reference in New Issue
Block a user