CTOC에서 자바 바이트코드 최적화를 위한 Value Numbering

Value Numbering for Java Bytecodes Optimization in CTOC

  • 김기태 (인하대학교 컴퓨터정보공학과) ;
  • 김지민 (인하대학교 컴퓨터정보공학과) ;
  • 김제민 (인하대학교 컴퓨터정보공학과) ;
  • 유원희 (인하대 컴퓨터공학부)
  • 발행 : 2006.12.31

초록

CTOC에서 SSA Form으로 변경된 표현식에 대해 최적화를 적용하기 위해선 중복된 표현식을 제거하여야 한다. 본 논문에서는 이를 위해 VN(Value Numbering)을 적용하였다. VN을 수행하기 위해서 우선 SSA Form 형태로 정보를 유지하는 SSAGraph를 생성하고, 그래프에서 동등한 노드를 찾은 후, SCC(Strong1y Connected Component)를 생성한다. SCC를 통해 동등한 노드에 같은 valnum을 설정하게 된다. VN을 수행한 결과 SSA Form 수행 과정에서 추가되었던 많은 노드에 대한 제거를 확인할 수 있었다. 설정된 valnum은 최적화와 타입 추론에 적용된다.

Redundant expressions must be eliminated in order to apply optimization for expressions in SSA Form from CTOC. This paper applied VN(Value Numbering) for this purpose. In order to carry out VN, SSAGraph must be first generated to maintain the information in the SSA Form, equivalent nodes must be found and SCC(Strongly Connected Component) generated. Equivalent nodes are assigned with an identical valnum through SCC. We could confirm elimiations for many nodes that added at SSA Form process after VN. The valnum can be applied in optimization and type inference.

키워드