RFR: 8293170: Improve encoding of the debuginfo nmethod section [v6]

Evgeny Astigeevich eastigeevich at openjdk.org
Mon Oct 24 21:02:50 UTC 2022


On Thu, 20 Oct 2022 12:04:32 GMT, Boris Ulasevich <bulasevich at openjdk.org> wrote:

>> The nmethod "scopes data" section is 10% of the size of nmethod. Now the data is compressed using the Pack200 algorithm, which is good for encoding small integers (LineNumberTable, etc). Using the fact that half of the data in the partition contains zeros, I reduce its size by another 30%.
>>  
>> Testing: jtreg hotspot&jdk, Renaissance benchmarks
>
> Boris Ulasevich has updated the pull request incrementally with one additional commit since the last revision:
> 
>   minor renaming. adding encoding examples table

src/hotspot/share/code/compressedStream.cpp line 175:

> 173:   write(_curr_byte << (8 - _bit_pos));
> 174:   _curr_byte = 0;
> 175:   _bit_pos = 0;

Let's extract this and call it `flush()`.

src/hotspot/share/code/compressedStream.hpp line 185:

> 183:   int position(); // method have a side effect: the current byte becomes aligned
> 184:   void set_position(int pos) {
> 185:     position();

`flush()`

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

PR: https://git.openjdk.org/jdk/pull/10025


More information about the hotspot-compiler-dev mailing list