RFR(S): 8027480 - Build Windows x64 fastdebug builds using /homeparams

Daniel D. Daugherty daniel.daugherty at oracle.com
Wed Aug 20 13:47:30 UTC 2014


 > http://cr.openjdk.java.net/~ctornqvi/webrev/8027480/webrev.00/

General Comment

The MSDN note says:

 > /homeparams does imply a performance disadvantage, because it
 > does require a cycle to load the register parameters on to the stack.

Do we have any idea how much of a change? Do we care? I'm presuming
the increased debuggability is worth it.

make/windows/makefiles/vm.make
     line 38: !else
     line 39: CXX_FLAGS=$(CXX_FLAGS) /D "ASSERT" /homeparams
     line 40: !endif
         The above block will also apply to an "ia64" build.
         We don't support that anymore, but I don't know if
         any licensees support it.

src/share/tools/ProjectCreator/BuildConfig.java
     No comments.

src/share/tools/ProjectCreator/WinGammaPlatformVC10.java
     line 373: if(!platformName.equals("Win32")) {
     line 374:     addAttr(rv, "AdditionalOptions", "/homeparams");
         The above block will also apply to an "ia64" build.

src/share/tools/ProjectCreator/WinGammaPlatformVC7.java
src/share/tools/ProjectCreator/WinGammaPlatformVC8.java
     Do we need to do anything about the new, but unused
     platform to make lint-like tools not squawk?

Thumbs up.

Dan


On 8/19/14 5:39 PM, Christian Tornqvist wrote:
> Hi everyone,
>
>   
>
> This change adds /homeparams
> (http://msdn.microsoft.com/en-us/library/6exwh0y6.aspx) to compiler flags
> when building fastdebug on Windows x64. This causes the compiler to generate
> code to spill the first 4 arguments to the stack (they're normally only
> passed in registers), which should make it easier to debug.
>
>   
>
> I also changed the ProjectCreator to enable building with this using Visual
> Studio. The size of jvm.dll increases with about 3% (about 504k increase).
>
>   
>
> Verified that it builds correctly using Visual Studio and JPRT, the
> generation of the spill code has been verified by comparing prologue code
> for several functions in the JVM with/without using /homeparams.
>
>   
>
> Webrev:
>
> http://cr.openjdk.java.net/~ctornqvi/webrev/8027480/webrev.00/
>
>   
>
> Bug:
>
> https://bugs.openjdk.java.net/browse/JDK-8027480
>
>   
>
> Thanks,
>
> Christian
>
>   
>



More information about the hotspot-dev mailing list