

They are the result of programming abstractions, such as function pointers and object-oriented class inheritance, both of which resolve to jumps with destination addresses realized at runtime. Indirect calls or branches are common occurrences at the assembly level. The second spectre exploit involves manipulating indirect branches by poisoning the BTB. Swarup Bhunia, Mark Tehranipoor, in Hardware Security, 2019 Spectre Exploit on Branch Target Buffer
