IVT: An efficient method for sharing subtype polymorphic objects

Yu Ping Wang, Xu Qiang Hu, Zi Xin Zou, Wende Tan, Gang Tan

Research output: Contribution to journalArticlepeer-review

3 Citations (Scopus)

Abstract

Shared memory provides the fastest form of inter-process communication. Sharing polymorphic objects between different address spaces requires solving the issue of sharing pointers. In this paper, we propose a method, named Indexed Virtual Tables (IVT for short), to share polymorphic objects efficiently. On object construction, the virtual table pointers are replaced with indexes, which are used to find the actual virtual table pointers on dynamic dispatch. Only a few addition and load instructions are needed for both operations. Experimental results show that the IVT can outperform prior techniques on both object construction time and dynamic dispatch time. We also apply the proposed IVT technique to several practical scenarios, resulting the improvement of overall performance.

Original languageEnglish
Article numberA130
JournalProceedings of the ACM on Programming Languages
Volume3
Issue numberOOPSLA
DOIs
Publication statusPublished - Oct 2019
Externally publishedYes

Keywords

  • Inter-process communication
  • Preprocessors & parsers
  • Shared memory management
  • Virtual table

Fingerprint

Dive into the research topics of 'IVT: An efficient method for sharing subtype polymorphic objects'. Together they form a unique fingerprint.

Cite this