'edge_annotate' - annotates HIR with profile information collected by edge profiler
The optimization reads profile information from collected by edge profile collector and sets execution count and edge probability values for every node and edge in Control Flow Graph.
There are 2 ways of mapping of profile information to the methods IR:
1) IR based profile mapping
2) Bytecode based profile mapping
To use IR based profile mapping compiler must ensure that the IR of the method is the same as it was during edge_instrument phase.
Bytecode based profile mapping is compiler independent. The 'key' for a counter is a 32-bit value composed from 16-bit offsets in bytecode: jump-offset and target-offset.