Skip to content

Files

Latest commit

9a12b8a · May 26, 2023

History

History
48 lines (37 loc) · 1.96 KB

IL_FAQ.md

File metadata and controls

48 lines (37 loc) · 1.96 KB

Overview

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.

Do monenter & monexit trees have to be anchored to a 'treetop'?

Detailed question:

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?

Answer:

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.