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

It adds 0-4 additional stack movs in function prologue code which should
have a very low impact, it's only on debug/fastdebug builds.

> 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.

I've changed the checks in vm.make and WinGammaPlatformVC10.java

> Do we need to do anything about the new, but unused  platform to make
lint-like tools not squawk?

I'll open a new bug to clean up the VC7/8/9 files in ProjectCreator.

New webrev:
http://cr.openjdk.java.net/~ctornqvi/webrev/8027480/webrev.01/

Thanks,
Christian

-----Original Message-----
From: Daniel D. Daugherty [mailto:daniel.daughe...@oracle.com] 
Sent: Wednesday, August 20, 2014 9:48 AM
To: Christian Tornqvist
Cc: hotspot-...@openjdk.java.net
Subject: Re: RFR(S): 8027480 - Build Windows x64 fastdebug builds using
/homeparams

 > 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
>
>   
>


Reply via email to