When running PIR_LLVM_OPT_LEVEL=0 PIR_DEOPT_CHAOS=100000 PIR_DEOPT_CHAOS_NO_RETRIGGER=1 /home/rihafilip/r/rir/external/custom-r/bin/R -f ./test.r --no-init-file,
where ./test.r is attached, when we are deopting, a SEXP of type promise is recorded into the callees type feedback.
From native JITed code, the deoptImpl is called with deoptTrigger being a promise.
When running
PIR_LLVM_OPT_LEVEL=0 PIR_DEOPT_CHAOS=100000 PIR_DEOPT_CHAOS_NO_RETRIGGER=1 /home/rihafilip/r/rir/external/custom-r/bin/R -f ./test.r --no-init-file
,where
./test.r
is attached, when we are deopting, a SEXP of type promise is recorded into the callees type feedback.From native JITed code, the
deoptImpl
is called withdeoptTrigger
being a promise.Attachments: promise_tf.zip
Pir After Optimization:
Deopt log: