Bonds do not produce dividends, they produce interest - which is 100% taxable. From a purely tax-efficient perspective, it would be best to hold bonds in registered accounts (such as RRSP or TFSA).
Canadian stocks issue dividends which are then subject to the dividend gross-up and tax-credit scheme, which effectively reduces the amount of tax you pay on the dividend. Once again, from a purely tax-efficient perspective, it would be best to hold Canadian equities in a non-registered account.
Also, you can make changes within your TFSA during the year, and even withdrawal or transfer out of your TFSA to reposition your portfolio. Any withdrawals can be re contributed the following year.
This is not to say you should structure your portfolio based purely on asset location. Equities have historically outperformed bonds and have the ability produce large capital gains over time which can effectively be eliminated by being held in a registered account.
Hopefully this helps.