Re: LocalVariablesSorter performance

Eirik Bjørsnøs (via asm Mailing List) <[email protected]> Thu, 18 Feb 2021 13:56:39 +0100
Newsgroups gmane.comp.java.objectweb.asm
Message-ID <CA+pBWhvB7e112NGr93dsrx05eyPF+v-j9oxysGWTue_NVGt1XA@mail.gmail.com>
This is a multi-part message in MIME format...

------------=_1613653011-24413-11
Content-Type: multipart/alternative; boundary="0000000000007eae0005bb9bde3a"

--0000000000007eae0005bb9bde3a
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, Feb 17, 2021 at 3:46 PM Eirik Bj=C3=B8rsn=C3=B8s <[email protected]>=
 wrote

> This being highly anecdotal, I'll see if I can reproduce this again with a
> new demo.
>

I revisited the out-of-order variables approach using ASM and came to the
conclusion that it doesn't play well with compressed stack frames

Stack frames must introduce local variables in slot order. I guess one
could rewrite all compressed frames to full frames (filling in 'top' locals
as needed for any uninitialized frames), but that would be complex and just
as expensive as ClassReader.EXPAND_FRAMES which we are trying to replace.

Eirik.

--0000000000007eae0005bb9bde3a
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr">On Wed, Feb 17, 2021 at 3:46 PM Eirik Bj=
=C3=B8rsn=C3=B8s &lt;<a href=3D"mailto:[email protected]">[email protected]</=
a>&gt; wrote<br></div><div class=3D"gmail_quote"><blockquote class=3D"gmail=
_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204=
,204);padding-left:1ex"><div dir=3D"ltr"><div class=3D"gmail_quote"><div>Th=
is being highly=C2=A0anecdotal, I&#39;ll see if I can reproduce this again =
with a new demo.=C2=A0<br></div></div></div></blockquote><div><br></div><di=
v><div>I revisited the out-of-order variables approach using ASM and came t=
o the conclusion that it doesn&#39;t play well with compressed stack frames=
</div><div><br></div><div>Stack frames must introduce local variables in sl=
ot order. I guess one could rewrite all compressed frames to full frames (f=
illing in &#39;top&#39; locals as needed for any uninitialized frames), but=
 that would be complex and just as expensive as ClassReader.EXPAND_FRAMES w=
hich we are trying to replace.</div><div><br></div></div><div>Eirik.=C2=A0<=
/div></div></div>

--0000000000007eae0005bb9bde3a--

------------=_1613653011-24413-11
Content-Type: text/plain; charset="UTF-8"
Content-Disposition: inline
Content-Transfer-Encoding: 8bit


-- 
You receive this message as a subscriber of the [email protected] mailing list.
To unsubscribe: mailto:[email protected]
For general help: mailto:[email protected]?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws

------------=_1613653011-24413-11--