Optimize ModifierImpl.AbstractPrerequisite 61/104161/2
authorRobert Varga <robert.varga@pantheon.tech>
Tue, 14 Feb 2023 10:17:31 +0000 (11:17 +0100)
committerRobert Varga <nite@hq.sk>
Tue, 14 Feb 2023 12:41:20 +0000 (12:41 +0000)
commitafb49b454f515b7e2c7207a46d94d243292c8377
treecb81fc1fc49d09d26b79cb1f29f481e93d0112a4
parent0234c1791a1581ba5f3a58f179af6a65142c1fc1
Optimize ModifierImpl.AbstractPrerequisite

Object analysis shows we are recording outer class multiple times,
leading to suboptimimal object layout. Make the class hierarchy static,
with outer class recorded in explicit field, reducing
size of PhaseModificationInNamespacePath from 40-80 (48 typical) bytes
to 32-64 (40 typical) bytes. Other subclasses observe a similar
reduction.

JIRA: YANGTOOLS-1486
Change-Id: Ifc3da86a564bc54f4247996e622787a8528422b7
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 007dd4ccf28dd4288bafbce38a00c2b8d3ec2a68)
(cherry picked from commit a9bd1a493db611489687effeaeab9f2dc5d3af32)
parser/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/ModifierImpl.java