Cyclic reference counting by typed reference fields

  • Authors:
  • J. Morris Chang;Wei-Mei Chen;Paul A. Griffin;Ho-Yuan Cheng

  • Affiliations:
  • Department of Electrical and Computer Engineering, Iowa Sate University, Ames, IA 50011, USA;Department of Electronic Engineering, National Taiwan University of Science and Technology, Taipei 106, Taiwan;Department of Electrical and Computer Engineering, Iowa Sate University, Ames, IA 50011, USA;Department of Electronic Engineering, National Taiwan University of Science and Technology, Taipei 106, Taiwan

  • Venue:
  • Computer Languages, Systems and Structures
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

Reference counting strategy is a natural choice for real-time garbage collection, but the cycle collection phase which is required to ensure the correctness for reference counting algorithms can introduce heavy scanning overheads. This degrades the efficiency and inflates the pause time required for garbage collection. In this paper, we present two schemes to improve the efficiency of reference counting algorithms. First, in order to make better use of the semantics of a given program, we introduce a novel classification model to predict the behavior of objects precisely. Second, in order to reduce the scanning overheads, we propose an enhancement for cyclic reference counting algorithms by utilizing strongly-typed reference features of the Java language. We implement our proposed algorithm in Jikes RVM and measure the performance over various Java benchmarks. Our results show that the number of scanned objects can be reduced by an average of 37.9% during cycle collection phase.