RFR: 8305321: Remove unused exports in java.desktop [v3]

Alexey Ivanov aivanov at openjdk.org
Wed Oct 11 17:39:19 UTC 2023


On Thu, 5 Oct 2023 16:29:26 GMT, Daniel Jeliński <djelinski at openjdk.org> wrote:

>> Please review this patch that removes a number of unused exports from java.desktop native libraries.
>> 
>> In most cases I removed JNIEXPORT from methods and variables that are only used within a single shared library. Other than that:
>> - removed `getSunFontIDs` that was reportedly used by rasterizer; as far as I could tell, rasterizer project is dead now, but if that's incorrect I can restore that export.
>> - removed `colorValueID` in X11Color; that field was not used.
>> - removed `J2dTraceInit` from header file. That method is only used internally by `J2dTraceImpl`.
>> 
>> The methods `Transform_GetInfo` and `Transform_transform` are declared in GraphicsPrimitiveMgr, but are only used in TransformHelper. Let me know if I should move them to where they are used.
>> 
>> The method `img_makePalette`, currently located in `share/native/libawt/awt/image/cvutils/img_colors.c`, is only used by `unix/native/common/awt/X11Color.c`; it could be moved to the same directory to avoid exporting the method from libawt. The files `img_colors.[ch]` do not have any references to other files in `cvutils`.
>> 
>> Manually verified that the exports are no longer present after these changes. Tier1-3 and client libs tests still pass.
>
> Daniel Jeliński 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 four additional commits since the last revision:
> 
>  - Merge remote-tracking branch 'origin' into desktop-exports
>  - Merge remote-tracking branch 'origin' into desktop-exports
>  - Make J2dTraceInit static
>  - Remove unnecessary exports

> The method img_makePalette, currently located in share/native/libawt/awt/image/cvutils/img_colors.c, is only used by unix/native/common/awt/X11Color.c; it could be moved to the same directory to avoid exporting the method from libawt. The files img_colors.[ch] do not have any references to other files in cvutils.

Isn't `X11Color.c` linked into `libawt`? I expect that it is. In this case, `img_makePalette` doesn't need to be exported, just declared in the header.

> The methods Transform_GetInfo and Transform_transform are declared in GraphicsPrimitiveMgr, but are only used in TransformHelper. Let me know if I should move them to where they are used.

I don't know the history… If they're not used anywhere else, we can move them to where they're used and declare them static there. But I don't have a strong opinion here.

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

PR Comment: https://git.openjdk.org/jdk/pull/13261#issuecomment-1758168753


More information about the client-libs-dev mailing list