RFR: 8299061: Using lambda to optimize GraphKit::compute_stack_effects() [v2]
Kim Barrett
kbarrett at openjdk.org
Wed Dec 21 00:58:49 UTC 2022
On Tue, 20 Dec 2022 19:55:31 GMT, Xin Liu <xliu at openjdk.org> wrote:
>> Some bytecodes donot need rsize in GraphKit::compute_stack_effects().
>> This change defines rsize as a lambda and avoid computation if it's not in use.
>>
>> We utilize CTW($openjdk/test/hotspot/jtreg/testlibrary/ctw/dist) to test this patch.
>> We compile 2 builtin modules: java.base and jdk.compiler(javac).
>>
>>
>> JAVA_OPTIONS="-XX:+CITime -XX:-TieredCompilation" ./ctw.sh modules:java.base
>> JAVA_OPTIONS="-XX:+CITime -XX:-TieredCompilation" ./ctw.sh modules:jdk.compiler
>>
>> For jdk.compiler module, the average compilation speed increases from 13236 bytes/s to 13303 bytes/s, or +0.51%.
>> For java.base module, the average compilation speed is almost same(+0.3%)
>>
>>
>> | java.base | before | after | diff |
>> |---------------------------|-----------|-----------|-------|
>> | C2 Compile Time(s) | 341.218 | 339.75 | |
>> | Parse Time(s) | 125.403 | 125.034 | |
>> | ratio of parse | 36.75% | 36.80% | |
>> | throughput(bytes/s) | 11841.628* | 11876.831 | 0.30% |
>> | Average compilation speed | 11779 | 11816 | 0.31% |
>> | Total compiled methods | 58148 | 58158 | |
>> | | | | |
>>
>>
>> | jdk.compiler | before | after | |
>> |---------------------------|-----------|-----------|-------|
>> | C2 Compile Time(s) | 66.486 | 66.087 | |
>> | Parse Time(s) | 21.877 | 21.731 | |
>> | ratio of parse | 32.90% | 32.88% | |
>> | throughput(bytes/s) | 14342.883 | 14436.494 | 0.65% |
>> | Average compilation speed | 13236 | 13303 | 0.51% |
>> | Total compiled methods | 13734 | 13730 | |
>> | | | | |
>>
>>
>> *Throughtput is reported from Tier4 row. It's very close to 'Average compilation speed' but not exactly same. eg. here is from java.base module.
>>
>>
>> before:
>> Tier4 {speed: 11841.628 bytes/s; standard: 339.754 s, 4014210 bytes, 58115 methods; osr: 0.345 s, 13109 bytes, 33 methods; nmethods_size: 52147560 bytes; nmethods_code_size: 32146360 bytes}
>> after:
>> Tier4 {speed: 11876.831 bytes/s; standard: 338.350 s, 4009949 bytes, 58126 methods; osr: 0.368 s, 12951 bytes, 32 methods; nmethods_size: 52122744 bytes; nmethods_code_size: 32124952 bytes}
>
> Xin Liu has updated the pull request incrementally with one additional commit since the last revision:
>
> further simplify the lambda based on the feedbacks of reviewers.
Looks good.
-------------
Marked as reviewed by kbarrett (Reviewer).
PR: https://git.openjdk.org/jdk/pull/11737
More information about the hotspot-compiler-dev
mailing list