When printing the compilations with PrintPirAfterOpt, the order of nested compilations is not consistent.
This can be observed by running the benchmark -f harness.r --args bounce_nonames_simple 15 35 with
PIR_DEBUG=PrintPirAfterOpt,PrintToStdout
and then with
RIR_RECORD=rec.rds RIR_RECORD_FILTER=Invoke,Deopt,Compile,TypeFeedback PIR_DEBUG=PrintPirAfterOpt,PrintToStdout
on commit 4c778d7.
For the compilation of execute, the functions are logged in a different orders.
This is because recording creates and preserves SEXPs, thus modifies the R memory.
Also the order of closing footers does not correspond to the order of opening headers.