当我对在 Microblaze 上运行的代码进行一些修改时,我有时会发现运行时会出现很大的差异,以执行遵循相同路径的代码。为了说明,我所说的相同路径的真正含义,举这个例子,
if ( condition )
execute_this();
else
execute_that(); // Modified this function
所以说如果我修改了 function 的代码,execute_that
即使condition
设置了并且 functionexecute_this
没有被修改,我也会看到运行时的变化。什么会导致这种情况?函数的内存对齐?缓存?有什么线索吗?