<?xml version="1.0" encoding="utf-8"?>
<TEI xmlns="http://www.tei-c.org/ns/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:hal="http://hal.archives-ouvertes.fr/" xmlns:gml="http://www.opengis.net/gml/3.3/" xmlns:gmlce="http://www.opengis.net/gml/3.3/ce" version="1.1" xsi:schemaLocation="http://www.tei-c.org/ns/1.0 http://api.archives-ouvertes.fr/documents/aofr-sword.xsd">
  <teiHeader>
    <fileDesc>
      <titleStmt>
        <title>HAL TEI export of lirmm-00659592</title>
      </titleStmt>
      <publicationStmt>
        <distributor>CCSD</distributor>
        <availability status="restricted">
          <licence target="https://creativecommons.org/publicdomain/zero/1.0/">CC0 1.0 - Universal</licence>
        </availability>
        <date when="2026-05-22T15:00:04+02:00"/>
      </publicationStmt>
      <sourceDesc>
        <p part="N">HAL API Platform</p>
      </sourceDesc>
    </fileDesc>
  </teiHeader>
  <text>
    <body>
      <listBibl>
        <biblFull>
          <titleStmt>
            <title xml:lang="en">Towards a Full Multiple-Inheritance Virtual Machine</title>
            <author role="aut">
              <persName>
                <forename type="first">Roland</forename>
                <surname>Ducournau</surname>
              </persName>
              <email type="md5">59311dc21593d3924f924995af89592f</email>
              <email type="domain">lirmm.fr</email>
              <idno type="idhal" notation="string">roland-ducournau</idno>
              <idno type="idhal" notation="numeric">8771</idno>
              <idno type="halauthorid" notation="string">14131-8771</idno>
              <idno type="IDREF">https://www.idref.fr/057532397</idno>
              <affiliation ref="#struct-388202"/>
            </author>
            <author role="aut">
              <persName>
                <forename type="first">Floréal</forename>
                <surname>Morandat</surname>
              </persName>
              <email type="md5">904ec2ed9548dcb1b37bd7b965def4b8</email>
              <email type="domain">lirmm.fr</email>
              <idno type="idhal" notation="numeric">850208</idno>
              <idno type="halauthorid" notation="string">235109-850208</idno>
              <affiliation ref="#struct-181"/>
              <affiliation ref="#struct-38359"/>
            </author>
            <editor role="depositor">
              <persName>
                <forename>Roland</forename>
                <surname>Ducournau</surname>
              </persName>
              <email type="md5">59311dc21593d3924f924995af89592f</email>
              <email type="domain">lirmm.fr</email>
            </editor>
          </titleStmt>
          <editionStmt>
            <edition n="v1" type="current">
              <date type="whenSubmitted">2023-06-27 16:02:35</date>
              <date type="whenModified">2026-02-12 03:25:54</date>
              <date type="whenReleased">2023-06-28 11:25:20</date>
              <date type="whenProduced">2012</date>
              <date type="whenEndEmbargoed">2023-06-27</date>
              <ref type="file" target="https://hal-lirmm.ccsd.cnrs.fr/lirmm-00659592v1/document">
                <date notBefore="2023-06-27"/>
              </ref>
              <ref type="file" subtype="greenPublisher" n="1" target="https://hal-lirmm.ccsd.cnrs.fr/lirmm-00659592v1/file/article6.pdf" id="file-4143412-3607706">
                <date notBefore="2023-06-27"/>
              </ref>
              <ref type="externalLink" target="http://www.jot.fm/issues/issue_2012_10/article6.pdf"/>
            </edition>
            <respStmt>
              <resp>contributor</resp>
              <name key="116049">
                <persName>
                  <forename>Roland</forename>
                  <surname>Ducournau</surname>
                </persName>
                <email type="md5">59311dc21593d3924f924995af89592f</email>
                <email type="domain">lirmm.fr</email>
              </name>
            </respStmt>
          </editionStmt>
          <publicationStmt>
            <distributor>CCSD</distributor>
            <idno type="halId">lirmm-00659592</idno>
            <idno type="halUri">https://hal-lirmm.ccsd.cnrs.fr/lirmm-00659592</idno>
            <idno type="halBibtex">ducournau:lirmm-00659592</idno>
            <idno type="halRefHtml">&lt;i&gt;The Journal of Object Technology&lt;/i&gt;, 2012, 11 (3), pp.1-29. &lt;a target="_blank" href="https://dx.doi.org/10.5381/jot.2012.11.3.a6"&gt;&amp;#x27E8;10.5381/jot.2012.11.3.a6&amp;#x27E9;&lt;/a&gt;</idno>
            <idno type="halRef">The Journal of Object Technology, 2012, 11 (3), pp.1-29. &amp;#x27E8;10.5381/jot.2012.11.3.a6&amp;#x27E9;</idno>
            <availability status="restricted">
              <licence target="https://creativecommons.org/licenses/by/4.0/">CC BY 4.0 - Attribution<ref corresp="#file-4143412-3607706"/></licence>
            </availability>
          </publicationStmt>
          <seriesStmt>
            <idno type="stamp" n="CNRS">CNRS - Centre national de la recherche scientifique</idno>
            <idno type="stamp" n="MAREL" corresp="LIRMM">Models And Reuse Engineering, Languages</idno>
            <idno type="stamp" n="LIRMM">Laboratoire d'Informatique de Robotique et de Microélectronique de Montpellier</idno>
            <idno type="stamp" n="MIPS">Mathématiques, Informatique, Physique et Systèmes</idno>
            <idno type="stamp" n="UNIV-MONTPELLIER">Université de Montpellier</idno>
            <idno type="stamp" n="UM-2015-2021" corresp="UNIV-MONTPELLIER">Université de Montpellier (2015-2021)</idno>
          </seriesStmt>
          <notesStmt>
            <note type="audience" n="2">International</note>
            <note type="popular" n="0">No</note>
            <note type="peer" n="1">Yes</note>
          </notesStmt>
          <sourceDesc>
            <biblStruct>
              <analytic>
                <title xml:lang="en">Towards a Full Multiple-Inheritance Virtual Machine</title>
                <author role="aut">
                  <persName>
                    <forename type="first">Roland</forename>
                    <surname>Ducournau</surname>
                  </persName>
                  <email type="md5">59311dc21593d3924f924995af89592f</email>
                  <email type="domain">lirmm.fr</email>
                  <idno type="idhal" notation="string">roland-ducournau</idno>
                  <idno type="idhal" notation="numeric">8771</idno>
                  <idno type="halauthorid" notation="string">14131-8771</idno>
                  <idno type="IDREF">https://www.idref.fr/057532397</idno>
                  <affiliation ref="#struct-388202"/>
                </author>
                <author role="aut">
                  <persName>
                    <forename type="first">Floréal</forename>
                    <surname>Morandat</surname>
                  </persName>
                  <email type="md5">904ec2ed9548dcb1b37bd7b965def4b8</email>
                  <email type="domain">lirmm.fr</email>
                  <idno type="idhal" notation="numeric">850208</idno>
                  <idno type="halauthorid" notation="string">235109-850208</idno>
                  <affiliation ref="#struct-181"/>
                  <affiliation ref="#struct-38359"/>
                </author>
              </analytic>
              <monogr>
                <idno type="halJournalId" status="VALID">1502</idno>
                <idno type="issn">1660-1769</idno>
                <title level="j">The Journal of Object Technology</title>
                <imprint>
                  <publisher>Chair of Software Engineering</publisher>
                  <biblScope unit="volume">11</biblScope>
                  <biblScope unit="issue">3</biblScope>
                  <biblScope unit="pp">1-29</biblScope>
                  <date type="datePub">2012</date>
                </imprint>
              </monogr>
              <idno type="doi">10.5381/jot.2012.11.3.a6</idno>
            </biblStruct>
          </sourceDesc>
          <profileDesc>
            <langUsage>
              <language ident="en">English</language>
            </langUsage>
            <textClass>
              <keywords scheme="author">
                <term xml:lang="en">perfect hashing</term>
                <term xml:lang="en">random simulation</term>
                <term xml:lang="en">subtype test</term>
                <term xml:lang="en">virtual machine</term>
                <term xml:lang="en">open-world assumption</term>
                <term xml:lang="en">multiple inheritance</term>
                <term xml:lang="en">method tables</term>
                <term xml:lang="en">late binding</term>
                <term xml:lang="en">dynamic loading</term>
                <term xml:lang="en">Adaptive compiler</term>
              </keywords>
              <classCode scheme="halDomain" n="info.info-pl">Computer Science [cs]/Programming Languages [cs.PL]</classCode>
              <classCode scheme="halTypology" n="ART">Journal articles</classCode>
              <classCode scheme="halOldTypology" n="ART">Journal articles</classCode>
              <classCode scheme="halTreeTypology" n="ART">Journal articles</classCode>
            </textClass>
            <abstract xml:lang="en">
              <p>Late binding and subtyping create runtime overhead for object-oriented languages, especially in the context of both multiple inheritance and dynamic loading. Recent experiments show that this overhead is marked with static, non-adaptive compilers, which work under the \emph{open-world assumption}. Therefore, dynamic, ie adaptive, compilation might present a solution to this efficiency issue. This paper presents the abstract architecture of a virtual machine and a dynamic compiler for unrestricted multiple-inheritance. This architecture involves an object representation that allows for shortcuts in the default implementations, coupled with compilation/recompilation protocols that maintain the most efficient implementations compatible with the current state of the program. The object representation proposed is based on perfect class hashing, which shortcuts to static calls or the single-subtyping implementation. Moreover, this article proposes a new methodology, based on random simulation, for evaluating the runtime efficiency and recompilation cost of the proposed protocols. The resulting experiments show that the architecture proposed should provide the same runtime efficiency as Java and .NET, thus offsetting most of the multiple-inheritance overhead.</p>
            </abstract>
          </profileDesc>
        </biblFull>
      </listBibl>
    </body>
    <back>
      <listOrg type="structures">
        <org type="researchteam" xml:id="struct-388202" status="OLD">
          <orgName>Models And Reuse Engineering, Languages</orgName>
          <orgName type="acronym">MAREL</orgName>
          <date type="end">2021-12-31</date>
          <desc>
            <address>
              <addrLine>LIRMM, 161 rue Ada, 34000 Montpellier</addrLine>
              <country key="FR"/>
            </address>
            <ref type="url">https://www.lirmm.fr/equipes/MAREL/</ref>
          </desc>
          <listRelation>
            <relation active="#struct-181" type="direct"/>
            <relation name="UMR5506" active="#struct-410122" type="indirect"/>
            <relation name="UMR5506" active="#struct-441569" type="indirect"/>
          </listRelation>
        </org>
        <org type="laboratory" xml:id="struct-181" status="OLD">
          <idno type="IdRef">139590827</idno>
          <idno type="ISNI">0000000405990488</idno>
          <idno type="RNSR">199111950H</idno>
          <idno type="ROR">https://ror.org/013yean28</idno>
          <orgName>Laboratoire d'Informatique de Robotique et de Microélectronique de Montpellier</orgName>
          <orgName type="acronym">LIRMM</orgName>
          <date type="start">1995-01-01</date>
          <date type="end">2021-12-31</date>
          <desc>
            <address>
              <addrLine>161 rue Ada - 34095 Montpellier</addrLine>
              <country key="FR"/>
            </address>
            <ref type="url">https://www.lirmm.fr</ref>
          </desc>
          <listRelation>
            <relation name="UMR5506" active="#struct-410122" type="direct"/>
            <relation name="UMR5506" active="#struct-441569" type="direct"/>
          </listRelation>
        </org>
        <org type="laboratory" xml:id="struct-38359" status="VALID">
          <orgName>Secure Software Systems</orgName>
          <orgName type="acronym">S3L</orgName>
          <desc>
            <address>
              <country key="US"/>
            </address>
          </desc>
          <listRelation>
            <relation active="#struct-147250" type="direct"/>
          </listRelation>
        </org>
        <org type="institution" xml:id="struct-410122" status="OLD">
          <idno type="ISNI">0000000120970141</idno>
          <idno type="ROR">https://ror.org/051escj72</idno>
          <orgName>Université de Montpellier</orgName>
          <orgName type="acronym">UM</orgName>
          <date type="end">2021-12-31</date>
          <desc>
            <address>
              <addrLine>163 rue Auguste Broussonnet - 34090 Montpellier</addrLine>
              <country key="FR"/>
            </address>
            <ref type="url">http://www.umontpellier.fr/</ref>
          </desc>
        </org>
        <org type="regroupinstitution" xml:id="struct-441569" status="VALID">
          <idno type="IdRef">02636817X</idno>
          <idno type="ISNI">0000000122597504</idno>
          <idno type="ROR">https://ror.org/02feahw73</idno>
          <orgName>Centre National de la Recherche Scientifique</orgName>
          <orgName type="acronym">CNRS</orgName>
          <date type="start">1939-10-19</date>
          <desc>
            <address>
              <country key="FR"/>
            </address>
            <ref type="url">https://www.cnrs.fr/</ref>
          </desc>
        </org>
        <org type="institution" xml:id="struct-147250" status="VALID">
          <idno type="ROR">https://ror.org/02dqehb95</idno>
          <orgName>Purdue University [West Lafayette]</orgName>
          <desc>
            <address>
              <addrLine>Hovde Hall, 610 Purdue Mall, West Lafayette, IN 47907</addrLine>
              <country key="US"/>
            </address>
            <ref type="url">https://www.purdue.edu/</ref>
          </desc>
        </org>
      </listOrg>
    </back>
  </text>
</TEI>