The code in lcm.cpp that builds the kill projection for a call always uses the register_save_policy and never considers the c_reg_save_policy. Most of the time this is ok in our current world because usually they are sufficiently compatible that it makes no difference. However there are differences on intel because of the way we handle EBP that can make the code that generates stubs think that values can be left in EBP because EBP is marked NS in the register_save_policy.
|