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.
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 35withand then with
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.