Patent US1791498A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5369766A Expired / Lapsed US ⏱️ 0.0 years remaining

Object-oriented loader system with support for different load formats

Assignee: Apple Inc
•
Filing: 1993-03-25
•
Granted: 1994-11-29
•
Expires: 2013-03-25
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and apparatus for an innovative object oriented framework system is disclosed. The system uses an innovative load architecture for a framework application and provides a system and method for dynamically linking load modules at runtime. The preferred embodiment employs a collection of load modules, each of which contains functions, static data, and classes to make the load modules appear as if they were statically linked together. However, code executing in one load module can perform operations on another load modules code, such as: calling a function, or obtaining a pointer to a function; accessing static data or obtaining a pointer to the static data; calling any public or protected member function of a class to obtain a pointer or access a public or protected data member of the class; or cast to any base of an object of a class.

Inventors

  • 👤 Russell T. Nakano
  • 👤 Andrew G. Heninger

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-23 11:02
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/44; G06F9/445; G06F9/44521; G06F9/448; G06F9/4488

Claims Analysis

Total Claims: 25
Claim 1
Independent Claim 125 words
An apparatus for processing a plurality of load modules in a computer, said plurality of load modules created by a plurality of development environments resulting in different load module formats, comprising: (a) the computer; (b) a storage in the computer; (c) processing means in the computer for loading a first object-oriented load module of a first format in said address space; (d) processing means in the computer for loading a second load module which can be non-object-oriented of a second format in said address space; and (e) processing means in the computer for having said first object-oriented load module and said second load module execute in said address space and utilize portions of said second load module for execution of said first object-oriented load module.
Claim 2
Independent Claim 125 words
An apparatus for processing a plurality of load modules in a computer, said plurality of load modules created by a plurality of development environments resulting in different load module formats, comprising: (a) the computer; (b) a storage in the computer; (c) processing means in the computer for loading a first object-oriented load module of a first format in said address space; (d) processing means in the computer for loading a second load module which can be non-object-oriented of a second format in said address space; and (e) processing means in the computer for having said first object-oriented load module and said second load module execute in said address space and utilize portions of said second load module for execution of said first object-oriented load module.
Claim 3
Dependent Claim 42 words
An apparatus for processing a plurality of load modules in an address space as recited in claim 1, wherein the processing means in element (e) include means for said first object-oriented load module to call a function in said second load module.
Claim 4
Dependent Claim 45 words
An apparatus for processing a plurality of load modules in an address space as recited in claim 1, wherein the processing means in element (e) include means for said first object-oriented load module to obtain a pointer to a function in said second load module.
Claim 5
Dependent Claim 43 words
An apparatus for processing a plurality of load modules in an address space as recited in claim 1, wherein the processing means in element (e) include means for said first object-oriented load module to access exported static data in said second load module.
Claim 6
Dependent Claim 46 words
An apparatus for processing a plurality of load modules in an address space as recited in claim 1, wherein the processing means in element (e) include means for said first object-oriented load module to obtain a pointer to exported static data in said second load module.
Claim 7
Dependent Claim 45 words
An apparatus for processing a plurality of load modules in an address space as recited in claim 1, wherein the processing means in element (e) include means for said first object-oriented load module to call any function of a class in said second load module.
Claim 8
Dependent Claim 23 words
An apparatus for processing a plurality, of load modules in an address space as recited in claim 6, wherein the call is virtual.
Claim 9
Dependent Claim 43 words
An apparatus for processing a plurality of load modules in an address space as recited in claim 1, wherein the processing means in element (e) include means for Said first object-oriented load module to cast to any base in a second load module.
Claim 10
Dependent Claim 23 words
An apparatus for processing a plurality of load modules in an address space as recited in claim 8, wherein the base is virtual.
Claim 11
Dependent Claim 43 words
An apparatus for processing a plurality of load modules in an address space as recited in claim 1, wherein the processing means in element (e) include means for said first object-oriented load module to enable a load address in said second load module.
Claim 12
Dependent Claim 44 words
An apparatus for processing a plurality of load modules in an address space as recited in claim 1, wherein the processing means in element (e) include means for said first object-oriented load module to link to an address space in said second load module.
Claim 13
Dependent Claim 44 words
An apparatus for processing a plurality of load modules in an address space as recited in claim 11, wherein the processing means in element (e) include means for specifying address space requirements above said first object-oriented load module below said first object-oriented load module.
Claim 14
Dependent Claim 25 words
An apparatus for processing a plurality Of load modules in an address space as recited in claim 1, including a cache for storing static data.
Claim 15
Dependent Claim 27 words
An apparatus for processing a plurality of load modules in an address space as recited in claim 1, including a loader semaphore for coordinating load module loading.
Claim 16
Independent Claim 86 words
A method for processing a plurality of load modules in a computer with an address space, said plurality of load modules created by a plurality of development environments resulting in different load module formats, comprising the steps of: (a) storing a first object-oriented load module of a first format in said address space; (b) storing a second load module which can be non-object-oriented of a second format in said address space; and (c) performing operations resident in said second load module in said first load module.
Claim 17
Independent Claim 86 words
A method for processing a plurality of load modules in a computer with an address space, said plurality of load modules created by a plurality of development environments resulting in different load module formats, comprising the steps of: (a) storing a first object-oriented load module of a first format in said address space; (b) storing a second load module which can be non-object-oriented of a second format in said address space; and (c) performing operations resident in said second load module in said first load module.
Claim 18
Dependent Claim 43 words
A method for processing a plurality of load modules in a computer with an address space as recited in claim 15, wherein step (c) includes the step of calling a function resident in said second load module from said first object-oriented load module.
Claim 19
Dependent Claim 46 words
A method for processing a plurality of load modules in a computer with an address space as recited in claim 15, wherein step (c) includes the step of obtaining a pointer to a function resident in said second load module from said first object-oriented load module.
Claim 20
Dependent Claim 44 words
A method for processing a plurality of load modules in a computer with an address space as recited in claim 15, wherein step (c) includes the step of accessing exported static data resident in said second load modified from said first object-oriented load module.
Claim 21
Dependent Claim 47 words
A method for processing a plurality of load modules in a computer with an address space as recited in claim 15, wherein step (c) includes the step of obtaining a pointer to exported static data resident in said second load module from said first object-oriented load module.
Claim 22
Dependent Claim 47 words
A method for processing a plurality, of load modules in a computer with an address space as recited in claim 15, wherein step (c) includes the step of allowing calling any function of a class resident in said second load module from said first object-oriented load module.
Claim 23
Dependent Claim 26 words
A method for processing a plurality of load modules in a computer with an address space as recited in claim 20, wherein the call is virtual.
Claim 24
Dependent Claim 44 words
A method for processing a plurality. Of load modules in a computer with an address space as recited in claim 15, wherein step (c) includes the step of casting to any base resident in said second load module from said first object-oriented load module.
Claim 25
Dependent Claim 29 words
A method for processing a plurality, of load modules in a computer with an address space as recited in claim 22, wherein the cast to any base is virtual.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1997-11-28 1998-05-30 1998-11-29 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2001-11-28 2002-05-30 2002-11-29 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2005-11-28 2006-05-30 2006-11-29 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag