A method and apparatus for accelerating the execution of an object oriented
computer program having a plurality of objects. In one embodiment, each of
the objects includes an object header and object data which are stored in
a memory. Moreover, each of the objects is associated with a corresponding
set of methods (or functions). A typical object oriented program only
maintains one copy of a method which is accessed by more than one object.
However, in the present invention, each method is copied and stored in a
memory, such that each object has a dedicated set of methods stored in
memory. For example, if a first object and a second object require access
to the same method, then a first copy of this method is provided for the
first object, and a second copy of this method is provided for the second
object. Providing each object with a dedicated set of methods minimizes
the levels of indirection required to access the methods, and thereby
accelerates the execution of instructions which access the objects.
Метод и прибор для ускорения исполнения предмета ориентировали компьутерную программу имея множественность предметов. В одно воплощение, каждый из предметов вклюает коллектор предмета и данные по предмета которые хранятся в памяти. Сверх того, каждый из предметов связано с соответствуя комплектом методов (или функций). Типичным программа ориентированная предметом только поддерживает один экземпляр метода достиган больше чем одним предметом. Однако, в присытствыющем вымысле, каждый метод скопирован и сохранен в памяти, таком что каждый предмет имеет преданный комплект методов, котор хранят в памяти. Например, если первый предмет и второй предмет требуют доступа к такому же методу, то первый экземпляр этого метода обеспечивает для первого предмета, и второй экземпляр этого метода обеспечен для второго предмета. Обеспечивать каждый предмет с преданным комплектом методов уменьшает уровни косвенности необходимо, что достигл методов, и таким образом ускоряет ход исполнения инструкций которые достигают предметов.