RFR: 8199736: Define WIN32_LEAN_AND_MEAN before including windows.h (original) (raw)
David Holmes david.holmes at oracle.com
Sun Mar 25 23:03:59 UTC 2018
- Previous message: RFR: 8199736: Define WIN32_LEAN_AND_MEAN before including windows.h
- Next message: RFR: 8199736: Define WIN32_LEAN_AND_MEAN before including windows.h
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Hi Robin,
On 23/03/2018 10:37 PM, Robin Westberg wrote:
Hi Kim & Erik,
Certainly makes sense to define it from the build system, I’ve updated the patch accordingly: Full: http://cr.openjdk.java.net/~rwestberg/8199736/webrev.01/ <http://cr.openjdk.java.net/~rwestberg/8199736/webrev.01/> Incremental: http://cr.openjdk.java.net/~rwestberg/8199736/webrev.00-01/ <http://cr.openjdk.java.net/~rwestberg/8199736/webrev.00-01/>
I'm a little unclear on the hotspot changes. If we define WIN32_LEAN_AND_MEAN then certain APIs like sockets are excluded from windows.h so we then have to include the specific header files like winsock2.h - is that right?
src/hotspot/share/interpreter/bytecodes.cpp
I'm curious about this change. u_short comes from types.h on non-Windows, is it simply missing on Windows (at least once we have WIN32_LEAN_AND_MEAN defined) ?
src/hotspot/share/utilities/ostream.cpp
1029 #endif 1030 #if defined(_WINDOWS)
Using elif could be marginally faster given the two sets of conditions are mutually exclusive.
Thanks, David
(Not quite sure if the definition belongs where I put it or a bit later where most other windows-specific JVM flags are defined, but seemed reasonable to put it close to where it is defined for the JDK libraries).
Best regards, Robin
On 22 Mar 2018, at 16:52, Kim Barrett <kim.barrett at oracle.com> wrote:
On Mar 22, 2018, at 10:34 AM, Robin Westberg <robin.westberg at oracle.com> wrote:
Hi all, Please review the following change that defines WIN32LEANANDMEAN [1] before including windows.h. This marginally improves build times, and makes it possible to include winsock2.h. Issue: https://bugs.openjdk.java.net/browse/JDK-8199736 <https://bugs.openjdk.java.net/browse/JDK-8199736> Webrev: http://cr.openjdk.java.net/~rwestberg/8199736/webrev.00/ <http://cr.openjdk.java.net/~rwestberg/8199736/webrev.00/> Testing: hs-tier1 Best regards, Robin [1] https://msdn.microsoft.com/en-us/library/windows/desktop/aa383745%28v=vs.85%29.aspx#fasterbuildswithsmallerheaderfiles <https://msdn.microsoft.com/en-us/library/windows/desktop/aa383745(v=vs.85).aspx#fasterbuildswithsmallerheaderfiles> I think the addition of the WIN32LEANANDMEAN definition should be done through the build system, so that it applies everywhere.
- Previous message: RFR: 8199736: Define WIN32_LEAN_AND_MEAN before including windows.h
- Next message: RFR: 8199736: Define WIN32_LEAN_AND_MEAN before including windows.h
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]