On Mon, 11 Nov 2024 17:23:56 GMT, Maurizio Cimadamore <mcimadam...@openjdk.org> 
wrote:

>> Per Minborg 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 six additional 
>> commits since the last revision:
>> 
>>  - Add mixed test
>>  - Merge branch 'master' into ms-fill-bench-sizes
>>  - Use static arrays
>>  - Revert changes from other branch
>>  - Add benchmark
>>  - Add benchmarks
>
> IIUC, this benchmark is designed to test what happens in the case where a 
> bulk operation is executed on a segment whose type is not known e.g. through 
> type profiling (e.g. polluted case). Note that in this case (MIXED) the fact 
> that we can't rely on which segment it is (and hence on whether it has a 
> certain scope or not, and what the base object is) would greatly dominate the 
> cost of branch misprediction, which I saw mentioned here. In extreme cases of 
> profile pollution it is very possible for a method to be optimized under the 
> assumption that e.g. the method is always executed on off-heap segments, and 
> then hit an on-heap segment, which will perform horribly.
> 
> We have test cases such as these in `LoopOverPolluted[Segments/Buffer]`. It 
> makes sense to test something similar for bulk access too.

@mcimadamore I've added a suggestion (at 
https://github.com/openjdk/jdk/pull/22010#discussion_r1836806492) on how to 
make sure that the type profile is polluted and shared by all the `fill` 
invocations (although only perfasm + perfnorm or TypeProfile logging will tell 
us if it has worked as expected) - sadly I had to rely on DONTINLINE :"( 
Said that, resetting the "inlining budget"  with a not inlined frame is still 
brittle and should be verified by adding profiling or printinlining inspection 
(or just perfasm, searching for callq/call, manually)

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

PR Comment: https://git.openjdk.org/jdk/pull/22010#issuecomment-2469936358

Reply via email to