|
|
|
|
|
by manilafolder
2597 days ago
|
|
Hi, for Intel processors, the renamer can detect instructions that will always result in a zero (zero-idioms or dependency breaking idioms). As a result, the renamer will not send the instruction to the execution engine. Basically, just think of this as repointing your registers to a register that's always zero. Note this only appears for the value zero. This is one of the reasons you're supposed to wipe out sensitive data with random numbers, not zeros. Also note that your compiler may copy data to the stack whenever it wants to. So even wiping out data with random numbers may not wipe out the copied data that lives (momentarily) on the stack. https://webcourse.cs.technion.ac.il/234267/Winter2015-2016/h... |
|