On Mon, 7 Aug 2023 06:42:41 GMT, Julian Waters <jwat...@openjdk.org> wrote:

>> We should set the -permissive- flag for the Microsoft Visual C compiler, as 
>> was requested by the now backed out 
>> [JDK-8241499](https://bugs.openjdk.org/browse/JDK-8241499). It can be done 
>> with some effort, given that the significantly stricter gcc can now compile 
>> an experimental Windows JDK as of 2023, and will serve to significantly cut 
>> down on monstrosities in ancient Windows code
>
> Julian Waters has updated the pull request with a new target base due to a 
> merge or a rebase. The incremental webrev excludes the unrelated changes 
> brought in by the merge/rebase. The pull request contains 22 additional 
> commits since the last revision:
> 
>  - Mismatched declaration in D3DGlyphCache.cpp
>  - Fields in awt_TextComponent.cpp
>  - reinterpret_cast needed in AccessBridgeJavaEntryPoints.cpp
>  - Qualifiers in awt_PrintDialog.h should be removed
>  - Likewise for awt_DnDDT.cpp
>  - awt_ole.h include order issue in awt_DnDDS.cpp
>  - Revert awt_ole.h
>  - Earlier fix in awt_ole.h was not complete
>  - Merge branch 'openjdk:master' into patch-10
>  - Likewise for awt_Frame.cpp
>  - ... and 12 more: https://git.openjdk.org/jdk/compare/c9dcbf20...51230f3d

Hi Julian,

Cursory review. I stopped halfway in when I noticed that I had no idea why many 
of the changes were done. They did not seem to have an obvious connection to 
the title of the JBS, and I did not find an explanation.

I also find the usage of "monstrosities" unnecessary. It is very much a matter 
of taste - to me, nothing in the code you changed looks monstrous.

Cheers, Thomas

src/hotspot/os/windows/os_windows.cpp line 2888:

> 2886: LONG WINAPI topLevelUnhandledExceptionFilter(struct 
> _EXCEPTION_POINTERS* exceptionInfo) {
> 2887:   if (!InterceptOSException) {
> 2888:     DWORD exception_code = 
> exceptionInfo->ExceptionRecord->ExceptionCode;

I find this less clearer than the original code, that didn't use negation - it 
was clear that InterceptOSException leads to immediate bailout.

What is the problem, the goto? Is that just your personal taste, or is the 
compiler complaining? If the latter, I would vote for duplicating the return 
statement here (and this would count as an example where discarding 
out-of-fashion statements like goto actually makes the code worse).

src/java.desktop/windows/native/libawt/windows/awt_Canvas.cpp line 216:

> 214:     {
> 215:         PDATA pData;
> 216:         JNI_CHECK_PEER_GOTO(canvas, ret);

Here, and other places: why this scope?

src/java.desktop/windows/native/libawt/windows/awt_DnDDS.cpp line 48:

> 46: 
> 47: #include "jlong.h"
> 48: #include "awt.h"

Why the reordering of includes?

src/java.desktop/windows/native/libawt/windows/awt_DnDDT.cpp line 34:

> 32: #include "sun_awt_windows_WDropTargetContextPeer.h"
> 33: #include "awt_Container.h"
> 34: #include "awt_ole.h"

Why?

-------------

PR Review: https://git.openjdk.org/jdk/pull/15096#pullrequestreview-1568088318
PR Review Comment: https://git.openjdk.org/jdk/pull/15096#discussion_r1287629714
PR Review Comment: https://git.openjdk.org/jdk/pull/15096#discussion_r1287630358
PR Review Comment: https://git.openjdk.org/jdk/pull/15096#discussion_r1287631591
PR Review Comment: https://git.openjdk.org/jdk/pull/15096#discussion_r1287632623

Reply via email to