Request for review (M) 7017824: Add support for creating 64-bit Visual Studio projects

Staffan Larsen staffan.larsen at
Fri Feb 11 00:06:11 PST 2011

Thanks Bengt. Answers inline.


From: Bengt Rutisson 
Sent: den 11 februari 2011 07:17
To: hotspot-dev at
Subject: Re: Request for review (M) 7017824: Add support for creating 64-bit Visual Studio projects


Looks good, Staffan! I tried creating an x64 project and it works excellent. 

A couple of questions:

* Do we have to allow duplicates file names due to the closed src ( 238-244)?


Yes. If the closed dir is present, I will prefer those files (see BuildConfig.getPreferredPaths()). 

* Are the Eclipse autogenerated methods in needed? Should they be included?


Yes, I started doing .equals on the filters (see makeFilters()) and just let eclipse do the implementation for me.

* When I bild an x64 project in Visual Studio I get to choose between Win32 and x64 in the platform drop down list. The Win32 platform does not build (expected behaviour). Could that be removed from the drop down? This is not important it is easy to select x64, so no show stopper.


I wish it could be removed. It's not present in the vcproj files so it is something that visual studio adds all by itself.

And minor thing. Copyright year should be 2011 for all files.


Will fix!

Thanks for fixing this!

On 2011-02-10 16:06, Staffan Larsen wrote: 



The current make\windows\create.bat script can only create visual studio projects for 32-bit targets (Win32), it should also be possible to create 64-bit targets (x64).


This fix generates two different project files, one for 32-bit target and one for 64-bit targets. While it would be great to have both targets in the same project, the current tools are not written in a way that makes it easy to fix this. The simple solution is two different projects: vs-i486\jvm.vcproj and vs-amd64\jvm.vcproj.


The create.bat script will dete! ct which target to create by checking which version of the cl.exe compiler is in the PATH. 


I have also removed the define of MSC_VER when invoking the complier. Instead the define _MSC_VER is used, which is defined by the compiler.




-------------- next part --------------
An HTML attachment was scrubbed...

More information about the hotspot-dev mailing list