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

Evgeny Astigeevich eastigeevich at openjdk.org
Mon Oct 3 20:38:26 UTC 2022


On Fri, 23 Sep 2022 14:32:12 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 with a new target base due to a merge or a rebase. The pull request now contains four commits:
> 
>  - warning fix and name fix
>  - optimize the encoding
>  - fix
>  - 8293170: Improve encoding of the debuginfo nmethod section

src/hotspot/share/compiler/oopMap.hpp line 377:

> 375:   OopMapValue current()                 { return _omv; }
> 376: #ifdef ASSERT
> 377:   int stream_position()                 { return _stream.position(); }

This change is an example that something is wrong with the design.
There is a concrete class `CompressedReadStream` with expected behaviour of `position`: no changes to `_stream`.  We have to break this contract to be able to compile `OopMapStream`.

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

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


More information about the hotspot-compiler-dev mailing list