Quick look at JavaFX methods above the HotSpot inlining threshold
Scott Palmer
swpalmer at gmail.com
Tue Nov 4 02:05:15 UTC 2014
JITWatch looks like an interesting project.
Where did you get the information about the 325 byte limit? The data I found indicated that the default limit was *much* smaller.
From this page: http://docs.oracle.com/javase/8/docs/technotes/tools/windows/java.html#BABDDFII
-XX:MaxInlineSize=size
Sets the maximum bytecode size (in bytes) of a method to be inlined. Append the letter k or K to indicate kilobytes, m or M to indicate megabytes, g or G to indicate gigabytes. By default, the maximum bytecode size is set to 35 bytes:
-XX:MaxInlineSize=35
It would be interesting to see how adjusting some of those parameters affects performance. Does JITWatch have tools for measuring that sort of thing?
Cheers,
Scott
> On Nov 3, 2014, at 6:42 PM, Chris Newland <cnewland at chrisnewland.com> wrote:
>
> Hi all,
>
> As part of the JITWatch[1] project I've written a tool called JarScan
> which counts the bytecode size of methods in a jar and logs those methods
> which are above HotSpot's 325 byte size threshold for inlining methods it
> determines are "hot".
>
> In jfxrt.jar from Oracle's JDK 1.8.0_25 on Linux x86_64 there are 774
> methods above the threshold which I've listed in this gist:
> https://gist.github.com/chriswhocodes/c474e49f0d111757dbf2
>
> A lot of these won't be found in hot code but perhaps the methods under
> com.sun.javafx.geom and javafx.scene.transform could be candidates for
> examination with JIT compilation in mind?
>
> Has anybody on the list done any experiments in this area? If not I'll try
> and find some time to see if there are any gains to be made by trimming
> methods (in the OpenJFX source) to fit inside the inlining threshold.
>
> Cheers,
>
> Chris
> @chriswhocodes
>
> [1] https://github.com/AdoptOpenJDK/jitwatch
>
More information about the openjfx-dev
mailing list