RFR: 8336275: Move common Method and Constructor fields to Executable

David Holmes dholmes at openjdk.org
Tue Jul 16 22:27:52 UTC 2024


On Tue, 16 Jul 2024 03:45:36 GMT, Chen Liang <liach at openjdk.org> wrote:

> Move fields common to Method and Field to executable, which simplifies implementation. Removed useless transient modifiers as Method and Field were never serializable.

Hotspot changes look good. Core-libs do too but I will leave that for libs folk to approve

src/java.base/share/classes/java/lang/reflect/Executable.java line 54:

> 52: public abstract sealed class Executable extends AccessibleObject
> 53:     implements Member, GenericDeclaration permits Constructor, Method {
> 54:     // fields injected by hotspot

If a field is listed here then it is NOT injected by hotspot.

src/java.base/share/classes/java/lang/reflect/Method.java line 73:

> 71:  */
> 72: public final class Method extends Executable {
> 73:     // fields injected by hotspot

Again not injected

-------------

Marked as reviewed by dholmes (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/20188#pullrequestreview-2181384669
PR Review Comment: https://git.openjdk.org/jdk/pull/20188#discussion_r1680112370
PR Review Comment: https://git.openjdk.org/jdk/pull/20188#discussion_r1680113161


More information about the core-libs-dev mailing list