これらは, C2 JIT Compiler 内の処理フェーズを表すクラス. より具体的に言うと, 文字列操作(java.lang.Stringの操作)の最適化処理を表すクラス.
Phase クラスの具象サブクラスの1つ.
文字列(java.lang.Stringオブジェクト)の作成処理を最適化する.
(より具体的に言うと, java.lang.StringBuffer.toString() と java.lang.StringBuilder.toString() の最適化を行う模様. これらのメソッドで文字列が作成されている場合に, まとめられる concatnate 操作を 1つにまとめて処理を高速化する)
((cite: hotspot/src/share/vm/opto/stringopts.hpp))
class PhaseStringOpts : public Phase {
Compile::Compile( ciEnv* ci_env, C2Compiler* compiler, ciMethod* target, int osr_bci, bool subsume_loads, bool do_escape_analysis ) 内で(のみ)使用されている.
See: here for details
PhaseStringOpts クラス内で使用される補助クラス(ResourceObjクラス).
PhaseStringOpts が最適化対象とするメソッド呼び出しを表すクラス. (より具体的に言うと, java.lang.StringBuffer.toString() の呼び出し箇所, あるいは java.lang.StringBuilder.toString() の呼び出し箇所を表す). 1つの StringConcat オブジェクトが 1つの呼び出し箇所に対応する.
((cite: hotspot/src/share/vm/opto/stringopts.cpp))
class StringConcat : public ResourceObj {
以下の箇所で(のみ)生成されている.
See: here for details
This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.