A capability representation with embedded address and nearly-exact object bounds

A capability representation with embedded address and nearly-exact object bounds
复制标题

具有嵌入地址和近乎精确的对象边界的功能表示

DOI:
--
复制
发表时间:
2000
期刊:
影响因子:
--
通讯作者:
Tom Knight
Tom Knight
中科院分区:
--
文献类型:
--
作者:
J. Brown;Andrew Huang;Tom Knight

文献摘要

被引文献

相似文献

我们提出了一种功能格式,该格式通过同时提供四个关键功能来改进先前的功能格式。首先,地址和界限信息直接嵌入到功能表示中。其次,功能可能指向其段中的任意单词。第三,由于细分/对象大小不匹配而导致的内部碎片小于6%。使用简单的高分位分配方案,总碎片不到12%。第四,32个或更少单词的对象,例如面向对象的系统中的大多数类实例可以分配而没有碎片,因此将具有精确的硬件范围检查。这些功能使使用分配的对象使用功能保护段完全实用,从而确保了稳健的构间和绘制内记忆保护。此外,我们描述了仅增量指针的实现和应用,这些指针可为Javastyle对象/数组启用精确的仅硬件范围检查。最后,我们还演示了如何为可以通过系统例程恢复封闭段的子分类的能力。
We present a capability format which improves upon prior capability formats by simultaneously providing four key features. First, address and bounds information are embedded directly in the capability representation. Second, a capability may point to an arbitrary word in its segment. Third, internal fragmentation due to segment/object size mismatch is less than 6%; with a simple, high-locality allocation scheme, total fragmentation is less than 12%. Fourth, objects of 32 or fewer words, e.g. most class instances in object-oriented systems, may be allocated with no fragmentation and will thus have precise hardware bounds-checking. These features make it entirely practical to use a capability-guarded segment per allocated object, thus ensuring robust inter- and intra-program memory protection. Additionally, we describe the implementation and application of increment-only pointers which enable precise hardware-only bounds-checking for Javastyle objects/arrays. Finally, we also demonstrate how to generate capabilities for sub-segments from which the enclosing segment can be recovered by system routines.