-
Enhancement
-
Resolution: Fixed
-
P3
-
9
-
None
-
b107
In upcoming JDK 9 Jigsaw the access control for Unsafe.defineAnonymousClass is stricter: we cannot easily reference arbitrary classes from VM anonymous classes, see e.g. JDK-8058575. The similar thing causes troubles for Jigsaw already, see e.g. JDK-8149165.
So, we may want to follow what Lambdas are doing, and put the concatenation stubs in the same class/package, with "$$String" suffix. This should also aid debugging and dumping, because the String concat stub name would attribute to the use site.
The caveat is caching: we would need to figure out if we can reuse the classes generated for "package1" when they are used in "package2", even though they have the same signatures. Current SCF caching code is oblivious of this.
So, we may want to follow what Lambdas are doing, and put the concatenation stubs in the same class/package, with "$$String" suffix. This should also aid debugging and dumping, because the String concat stub name would attribute to the use site.
The caveat is caching: we would need to figure out if we can reuse the classes generated for "package1" when they are used in "package2", even though they have the same signatures. Current SCF caching code is oblivious of this.
- duplicates
-
JDK-8149165 IllegalAccessException thrown by indy string concat in jake
-
- Closed
-
- relates to
-
JDK-8058575 IllegalAccessError trying to access package-private class from VM anonymous class
-
- Resolved
-
-
JDK-8149165 IllegalAccessException thrown by indy string concat in jake
-
- Closed
-