Your code looks good and it resolves the reported defect.
> -----Original Message----- > From: Daniel D. Daugherty > Sent: Friday, August 02, 2013 4:36 PM > To: hotspot-runtime-...@openjdk.java.net; > serviceability-...@openjdk.java.net; build-dev > Subject: code review (round 0) request for VS2010 IDE fix (8016601) > > Greetings, > > I have have a proposed fix for the following bug: > > 8016601 Unable to build hsx24 on Windows using project creator and > Visual Studio > http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8016601 > https://jbs.oracle.com/bugs/browse/JDK-8016601 > > Here are the HSX-25 webrev URLs: > > OpenJDK: http://cr.openjdk.java.net/~dcubed/8016601-webrev/0-hsx25/ > Internal: http://javaweb.us.oracle.com/~ddaugher/8016601-webrev/0-hsx25/ > > Testing: > - JPRT windows_i586 and windows_x64 build and test > - local windows_i586 cmd line builds for: > {OpenJDK, Oracle} x {Client, Server} VM x {product, debug, fastdebug} > - local windows_i586 VS2010 builds for > {OpenJDK, Oracle} x {Client, Server, Tiered} VM x {product, debug, > fastdebug} > - local windows_x64 VS2010 builds for > {OpenJDK, Oracle} x {Client, Server, Tiered} VM x {product, debug, > fastdebug} > Thanks to Ron for doing the windows_x64 testing > > Gory details are below. As always, comments, questions and suggestions are > welome. > > Dan > > > Gory Details: > > Build fixes: > - VS2010 IDE builds are working again; fixes this failure mode: > > 1>D:\hotspot_src\hsx\24\hotspot_14_jun\build\vs-i486\compiler2\debug\obj > 1>ectCountEventSender.obj > : warning LNK4042: object specified more than once; extras ignored > 1>D:\hotspot_src\hsx\24\hotspot_14_jun\build\vs-i486\compiler2\debug\err > 1>orReporter.obj > : warning LNK4042: object specified more than once; extras ignored > 1> Creating library > D:\hotspot_src\hsx\24\hotspot_14_jun\build\vs-i486\compiler2\debug\jvm.lib > and object > D:\hotspot_src\hsx\24\hotspot_14_jun\build\vs-i486\compiler2\debug\jvm.exp > 1>jfrRequestables.obj : error LNK2019: unresolved external symbol > "public: static void __cdecl > ObjectCountEventSender::disable_requestable_event(void)" > (?disable_requestable_event@ObjectCountEventSender@@SAXXZ) referenced in > function "public: > virtual void __thiscall VM_GC_SendObjectCountEvent::doit(void)" > (?doit@VM_GC_SendObjectCountEvent@@UAEXXZ) > 1>jfrRequestables.obj : error LNK2019: unresolved external symbol > "public: static void __cdecl > ObjectCountEventSender::enable_requestable_event(void)" > (?enable_requestable_event@ObjectCountEventSender@@SAXXZ) referenced in > function "public: > virtual void __thiscall VM_GC_SendObjectCountEvent::doit(void)" > (?doit@VM_GC_SendObjectCountEvent@@UAEXXZ) > 1>D:\hotspot_src\hsx\24\hotspot_14_jun\build\vs-i486\compiler2\debug\jvm > 1>.dll > : fatal error LNK1120: 2 unresolved externals > > - The ProjectCreator tool is modified to support two new options: > '-relativeAltSrcInclude' and '-altRelativeInclude'. Here's an > example use of the new options: > > -relativeAltSrcInclude src\closed > -altRelativeInclude share\vm > > which means config the project with some alternate source files in > src\closed\share\vm that will replace the corresponding files in > src\share\vm. > > For example, src\closed\share\vm\utilities\errorReporter.cpp replaces > src\share\vm\utilities\errorReporter.cpp. In the VS2010 IDE, you'll > still be able to see src\share\vm\utilities\errorReporter.cpp in the > project source browser, but the icon will indicate that the file is > excluded from the project. > > The ProjectCreator tool's file tree walking logic is modified to keep > track of each alternate source file that is found. If a corresponding > regular source file is found, then the regular source file is > excluded from the project in favor of the alternate source version. > > - VS2010 cmd line build no longer issue the following linker warnings: > > link.exe @C:\Users\lfoltan\AppData\Local\Temp\nm9B65.tmp > errorReporter.obj : warning LNK4042: object specified more than once; > extras ignored > objectCountEventSender.obj : warning LNK4042: object specified more than > once; extras > ignored > > Misc cleanups: > > - removed more "core" config support from various makefiles and scripts; > the "core" config is vestigal and was mostly removed years ago; the > "core" config is not the same as the "minimalvm" config. > - removed extra references to ${ALTSRC}/share/vm/jfr objects > - added some "AltSrc" versus "OpenJDK" identification to messages where > files are auto-generated > - added some missing copyright headers >