RFR: 8008243: Zero: Implement fast bytecodes [v2]
coleenp at openjdk.java.net
Thu Oct 21 11:25:06 UTC 2021
On Tue, 19 Oct 2021 16:05:38 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:
>> I actually look through the machine code for that file very often (as `perf record` / `perf report` for understanding where the bottlenecks are), and there seem to be little to gain w.r.t. code quality. I suspect out-of-line service functions would improve code density, but I also suspect the `BytecodeInterpreter::run` is so large, most non-trivial inlining fails. I'd need to do a much larger investigation if we can re-massage the code to maybe optimize it.
>> Meanwhile, I would like to keep these defines, as they fit the current style of helper "methods".
> Ah, also, notice `JVMTI_ENABLED`? That one is the template argument, which means when nothing JVMTI-like is enabled in runtime (like actual JVMTI hooks), the whole block is compiled away from `BytecodeInterpreter::run</* jvmti_enabled = */ false>`.
ok, I wasn't as worried about performance as much as I dislike looking at such a long function. But I don't look at this often so it's up to you.
More information about the hotspot-runtime-dev