[REG2.064a] Issue 11269 - Union initialization on 64-bit platforms

http://d.puremagic.com/issues/show_bug.cgi?id=11269

<del>Revert a part of #2605.</del>
Refactoring and improvements following #2605.