> Apparently method handle linking doesn't impose extra checks on constructor > invocation, so the special logic for the serialization constructor to call > superclass constructor in MagicAccessorImpl can be removed altogether with > old core reflection implementation. > > Serialization and sun.reflect.ReflectionFactory tests pass. May be worth to > think about the long-term treatment of > ReflectionFactory.newConstructorForSerialization, as creating partial object > is inherently unsafe, and behavior of > `newConstructorForSerialization(ArrayList.class, > String.class.getDeclaredConstructor(String.class))` etc. (which is accepted > for now) may have unpredictable side effects. > > #1830 has a similar patch; this one doesn't touch proxies and updates to the > new post-JEP 416 reflection implementation.
Chen Liang has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains three commits: - Merge branch 'master' into explore/mh-serial-constructor - Remove invalid assertion (via sun.reflect.ReflectionFactory) - 8307575: Migrate the serialization constructor accessors to Method Handles ------------- Changes: https://git.openjdk.org/jdk/pull/13853/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=13853&range=02 Stats: 124 lines in 8 files changed: 52 ins; 40 del; 32 mod Patch: https://git.openjdk.org/jdk/pull/13853.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/13853/head:pull/13853 PR: https://git.openjdk.org/jdk/pull/13853