Java Runtime Optimization for Copying Arrays on AArch64.

Siri Sahithi Ponangi,Gerhard W. Dueck,Kenneth B. Kent,Daryl Maier, Kazuhiro Konno

MECO(2023)

引用 0|浏览11
暂无评分
摘要
One of the architectures supported by OpenJ9, the AArch64 platform, is widely used in electronic devices because of its reasonable price and resource efficiency. This work adds an optimization in the Just-In-Time (JIT) compiler of OpenJ9 for AArch64, that copies arrays efficiently. The optimizing JIT compiler function, arraycopy Evaluator, separates inlinable code for better performance. Making use of Vector Floating Point registers helps in copying up to 128 bits of any data type in a single load/store instruction. While copying, the situations where primitive values are copied or Garbage Collection checks are required to access the reference fields are handled. We evaluate the results using the BumbleBench Microbenchmarking test framework. We investigate the trace files and utilize the Perf tool to identify the causes of unexpected Benchmark results. We achieve an up to tenfold increase in performance.
更多
查看译文
关键词
AArch64,ARM,Eclipse OpenJ9,Java,JVM,Eclipse OMR,Managed Runtimes,Language Virtual Machines,Language Runtimes,JIT,Just-in-Time Compilers
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要