Когда я делаю некоторые модификации в моем коде, который работает на Microblaze, я иногда вижу большое расхождение во время выполнения для выполнения кода, который следует по тому же пути. Чтобы проиллюстрировать, что я на самом деле имею в виду под тем же путем, возьмем этот пример,
if ( condition )
execute_this();
else
execute_that(); // Modified this function
Так, скажем, если бы я изменил код для функции execute_that
, я бы увидел изменения во время выполнения, даже если был установлен condition
и функция execute_this
не была изменена. Что может вызвать это? Выравнивание памяти по функциям? Cache? Любая подсказка?