Flexible Bytecode for Linking in .NET

  • Authors:
  • Alex Buckley;Michelle Murray;Susan Eisenbach;Sophia Drossopoulou

  • Affiliations:
  • Department of Computing, Imperial College London;Department of Computing, Imperial College London;Department of Computing, Imperial College London;Department of Computing, Imperial College London

  • Venue:
  • Electronic Notes in Theoretical Computer Science (ENTCS)
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

Dynamic linking in modern execution environments like .NET is considerably more sophisticated than in the days of C shared libraries on UNIX. One aspect of this sophistication is that .NET assemblies embed type information about dynamically linked resources. This type information implicitly represents compile-time assumptions about the resources available at run-time. However, the resources available at run-time may differ from those available at compile-time. For example, the execution environment on a mobile phone might provide fewer, simpler classes than on a desktop PC. As bytecode cannot adapt to its execution environment, component reuse is restricted and development costs are increased. We have designed and implemented a ''flexible'' dynamic linking scheme that binds bytecode as late as possible to the assemblies and classes available in a .NET execution environment. We describe the scheme's integration with the .NET linking infrastructure, review important design decisions and report on experiences with the ''Rotor'' shared source version of .NET.