This is a work in progress FAQ to capture questions and answers on TR's IL. New entries will be added as questions are identified in issues, code reviews, etc. Over time this will become a comprehensive overview of TR IL.
From issue 475:
A log of java/lang/StringBuffer.length()I
shows:
n13n monent jitMethodMonitorEntry[#178 helper Method]
n18n ==>aRegLoad
...
n10n treetop
n9n monexit jitMethodMonitorExit[#33 helper Method]
n18n ==>aRegLoad
Is there a reason for this asymmetry between monent
and monexit
? Are there cases where monexit
is not under a treetop
?
Both monenter
& monexit
can be at the top level. They are also allowed to be under a treetop
as well.
They may show up under a treetop
when they are under a NULLCHK
that gets replaced by a treetop
.