Back-Branch Polling is for yield points insertion at back branches of certain kinds of loops to enable safe thread suspension. Several approaches are implemented there:
2 - path analysis based on searching of pairs \[isOnThreadInterruptablePath\]\->\[!isOnThreadInterruptablePath\] |
4 - "1" + suspension flag addr \[TLS base + offset\] is calculated before the loop header |
They can be switched using the following: jit.arg.bbp=[0-6]
Possible improvement
It may have sence to try BBPolling at earlier stages - in HLO. To clarify one need to implemet HLO pass for this and find the best position (from the performance POV) for it in the HLO path.
implementation file: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32BBPolling.cpp