Modern data plane applications are usually with large code, causing the i-cache to miss frequently during execution. To this end, we apply a new execution model on these applications that splits them into i-cache-friendly stages, and reuse the code of each stage on multiple packets. Experiments on snort3 show that i-cache misses are reduced by 72.2%, and throughput increases by 25.0%.