64-bit Support : Q: How do I convert my 32-bit Image or ICs to 64-bit?

Q: How do I convert my 32-bit Image or ICs to 64-bit?
Problem
I have an existing 32-bit image (or set of ICs) that I would like to convert to 64-bit. What tools are available to do this?
Solution
There are several options to accomplish this.
Before we continue, there is a fundamental pre-condition that must be satisfied for any image or IC to be converted successfully. Any bindings (Smalltalk glue code used to call/model external functions and data) in your application MUST be 64-bit clean. In other words, the bindings must accurately describe the data-types for functions and structures when run within a 64-bit context. For example, older code may use #uint32 (an unsigned 32-bit integer) as the data type for a pointer. In a 32-bit context, it will run just fine, but a 32-bit integer is not large enough to describe a pointer in 64-bit...so your converted 64-bit program will probably just crash. These are semantic changes that, if present, you must apply manually. There is no cleansing tool which can auto-magically determine the data-types to arbitrary external functions, without additional info, and launder the dirty code 64-bit clean.
The 64-bit virtual machine will actually auto-convert 32-bit images and ICs on the fly. This can be useful in scenarios where you have an existing 32-bit runtime you don't want to repackage or perhaps are unable to package. Maybe you have existing 32-bit ICs that you want to load in a 64-bit environment. This conversion is detected and performed by the virtual machine at runtime without requiring you to do anything. Depending on the size of the image or ICs, there may be some measurable translation cost as it loads.
If the translation cost of auto-conversion is significant, the 64-bit install of VA Smalltalk comes with a powerful tool called 'convic.exe' that will permanently convert 32-bit images and ICs to 64-bit offline.
Here is an example of converting every 32-bit IC from the 8.6.3 distribution into 64-bit ICs:
convic.exe –icInPath="C:\VA Smalltalk\8.6\icsrn863"
-icOutPath="C:\icsrn863_64"
Here is an example of converting a working 8.6.3 image. Notice that the 32-bit ICs are still required as input:
convic.exe –icRoot="C:\VA Smalltalk\8.6\icsrn863"
–ic="C:\863_32\abt.icx" –icOutPath="C:\863_64"