Switching (back) to MSVC (Re: [Vm-dev] What generates disabledPlugins.c?0

Juan Vuletich juan at jvuletich.org
Thu Jul 22 16:00:13 UTC 2010


Andreas Raab wrote:
>
> On 7/22/2010 4:55 AM, David T. Lewis wrote:
>> On Wed, Jul 21, 2010 at 08:49:19PM -0700, Eliot Miranda wrote:
>>> But the more serious issue is that the configure in VMMaker is only 
>>> suitable
>>> for linux.  I guess that the right thing to do for FreeBSD is to run 
>>> make in
>>> platforms/unix/config to generate a FreeBSD-specific configure.  But 
>>> I'm out
>>> of my depth when it comes to autoconf.
>>
>> Note that Ian moved to CMake for the unix builds, so autoconf is no 
>> longer
>> used for building from the SVN trunk. In addition, Geoffroy Couprie has
>> developed this further such that the VM can be built for both unix and
>> Windows targets, see thread here:
>>
>>   
>> http://lists.squeakfoundation.org/pipermail/vm-dev/2010-May/004574.html
>>
>> It's up to Ian and Andreas to say if they want to pursue this direction,
>> but if you need the Cog build process to be more platform independent
>> this would be a good thing to consider.
>
> Personally, I'll be moving the Windows build back into MS land. All 
> the reasons for using the MingW/GCC tool chain are gone by now:
> * Availability of the tool chain: There have been free versions of 
> MSVC for years now, so this is no longer an issue.
> * Performance of the VM: With the JIT, the performance difference 
> between the compilers no longer matters.
> * Size of difficulty of the install: New versions of MingW are no 
> easier to install than Cygwin or other monsters.
>
> On the other hand, there are some exceptionally good reasons to use MSVC:
> * Debugging: Did you know that MSVC now has seemless in-place editing? 
> When I worked on SqueakSSL, I was shocked to find that an access 
> violation was simply presented as a break point and after fixing it 
> the compiler patched the code in place without restarting Squeak, and 
> it worked!
> * Up-to-date headers and libraries: SqueakSSL wouldn't compile on 
> *any* version of MingW or Cygwin due to the absence / lack of 
> correctness of the headers and missing libraries even though the APIs 
> are 5+ years old.
> * Consistent use of runtime libraries: For some external linkage, 
> having the latest MSVC platform libraries available is important.
>
> At this point the advantage is clearly with the MS tool chain and the 
> only hurdle is that I'll have to update all the makefiles etc.
>
> Cheers,
>   - Andreas

Hi Andreas,

A few possible issues:

I heard that the MS tools can't reasonably be used with less than 2Gb of 
ram and a fast processor. I've been regularly using the Win VM building 
setup suggested by you for years on a P3 with 1Gb of memory. And my 
current Win environment is a 1Gb VirtualBox inside a 2.5Gb Mac. I know, 
I could dual boot to Win, to have the full 2.5Gb for it...

Besides, Cog does not generate native code for every CompiledMethod in 
the system, so I wonder if there would be a visible performance loss 
leaving GCC.

Cheers,
Juan Vuletich


More information about the Vm-dev mailing list