Decrease memory cache usage of MJIT
MJIT makes ruby-methods faster by ordinary, but I have observed that some cases are exceptional.
I guess the one is caused by
And I guess it is related to memory caching, especially iTLB.
Attached "export-big-func.patch" makes MJIT binary code for
"super.rb" is a benchmark script with benchmark_driver.
"benchmark.log" is a result of super.rb.
"benchmark-with-perf.log" is another result with
PERF_STAT environment variable.
The results are merely in my environment and depend to a large part on machine specs.
invokesuper can get faster with exported
vm_search_super_method(), but I think it is not enough.
perf stat shows that there are still many iTLB-load-misses.
I believe MJIT can grow fast with good care for CPU memory cache, not only iTLB but also L1 / L2 and so on.