On Mon, 12 Jun 2023 11:20:40 GMT, Adam Sotona <asot...@openjdk.org> wrote:
>> Classfile context object and multi-state options have been discussed at >> https://mail.openjdk.org/pipermail/classfile-api-dev/2023-May/000321.html >> This patch implements the proposed changes in Classfile API and fixes all >> affected code across JDK sources and tests. >> >> Please review. >> >> Thanks, >> Adam > > Adam Sotona has updated the pull request incrementally with two additional > commits since the last revision: > > - Revert "removal of ClassHierarchyImpl.DEFAULT_RESOLVER" > esolver.java > - Revert "proposed semi-synchronized caching, where the map is not locked > during delegate call" > > This reverts commit ae2877512d978468743bcaa7e0f596729f12ee72. I've fixed stack map generator dispatching code and reverted the cache-related changes to focus on performance regression caused by the Classfile context introduction and unfortunately it is still there. Affected by at least 12% regression are all code transformations, with the worst case AdHocAdapt.transform LIFT2 (22% regression). Detailed profiling shows regressions in self-time spent in code transformation lambda calls, for example `ChainedCodeBuilder::with` only calls `consumer.accept` and in ~30s benchmark it spent 2s in self-time (which is half of the whole regression). ------------- PR Comment: https://git.openjdk.org/jdk/pull/14180#issuecomment-1587575761