← Back to Patent Explorer
US5875335A Expired / Lapsed US ⏱️ 0.0 years remaining

Parameter marshaling techniques for dynamic object-oriented programming languages

Assignee: Apple Inc
•
Filing: 1996-09-30
•
Granted: 1999-02-23
•
Expires: 2016-09-30
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract When a method implemented in native compiled code is called from a object-oriented program, the parameters associated with that method are marshaled to convert them from the format of the object-oriented code into one which is appropriate for the compiled code. The marshaling of parameters is carried out in dependence upon the particular type of object with which the parameters are associated. When an aggregate object is marshaled, a pointer to the object is adjusted to point directly to variables for an instance of that object. When an array is marshaled, the pointer is adjusted to point to its individual elements.

Inventors

  • 👤 Patrick C. Beard

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-30 22:44
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/44; G06F9/448; G06F9/4488; G06F9/449; G06F9/4482; G06F9/4484

Claims Analysis

Total Claims: 26
Claim 1
Independent Claim 187 words
In a computer which executes a program written in a first, object-oriented program language, a system for marshaling object parameters for executing a method in an other program written in a second program language, comprising: means for calling a method in said other program and passing a parameter to said method; means for determining if said parameter is a reference to a first type of object comprising a reference to a class definition and one or more instance variables; means responsive to a determination that said parameter is a reference to said first type of object, for adjusting said reference to point to said instance variables and for passing the adjusted reference to said method as the parameter; means for determining if said parameter is a reference to a second type of object comprising a reference to a class definition and an array of elements; and means responsive to a determination that said parameter is a reference to said second type of object, for adjusting said reference to point to said elements in said array and for passing the adjusted reference to said method as the parameter.
Claim 2
Dependent Claim 187 words
In a computer which executes a program written in a first, object-oriented program language, a system for marshaling object parameters for executing a method in an other program written in a second program language, comprising: means for calling a method in said other program and passing a parameter to said method; means for determining if said parameter is a reference to a first type of object comprising a reference to a class definition and one or more instance variables; means responsive to a determination that said parameter is a reference to said first type of object, for adjusting said reference to point to said instance variables and for passing the adjusted reference to said method as the parameter; means for determining if said parameter is a reference to a second type of object comprising a reference to a class definition and an array of elements; and means responsive to a determination that said parameter is a reference to said second type of object, for adjusting said reference to point to said elements in said array and for passing the adjusted reference to said method as the parameter.
Claim 3
Dependent Claim 119 words
In a computer which executes a program written in a first, object-oriented program language, a system for marshaling object parameters for executing a method in an other program written in a second program language, comprising: means for calling a method in said other program and passing a parameter to said method; means for determining if said parameter is a reference to a predetermined type of object comprising a reference to a class definition and one or more instance variables; and means responsive to a determination that said parameter is a reference to said predetermined type of object, for adjusting said reference to point to said instance variables and for passing the adjusted reference to said method as the parameter.
Claim 4
Dependent Claim 119 words
In a computer which executes a program written in a first, object-oriented program language, a system for marshaling object parameters for executing a method in an other program written in a second program language, comprising: means for calling a method in said other program and passing a parameter to said method; means for determining if said parameter is a reference to a predetermined type of object comprising a reference to a class definition and one or more instance variables; and means responsive to a determination that said parameter is a reference to said predetermined type of object, for adjusting said reference to point to said instance variables and for passing the adjusted reference to said method as the parameter.
Claim 5
Dependent Claim 120 words
In a computer which executes a program written in a first, object-oriented program language, a system for marshaling object parameters for executing a method in an other program written in a second program language, comprising: means for calling a method in said other program and passing a parameter to said method; means for determining if said parameter is a reference to a predetermined type of object comprising a reference to a class definition and an array of elements; and means responsive to a determination that said parameter is a reference to said predetermined type of object, for adjusting said reference to point to said elements in said array and for passing the adjusted reference to said method as the parameter.
Claim 6
Dependent Claim 120 words
In a computer which executes a program written in a first, object-oriented program language, a system for marshaling object parameters for executing a method in an other program written in a second program language, comprising: means for calling a method in said other program and passing a parameter to said method; means for determining if said parameter is a reference to a predetermined type of object comprising a reference to a class definition and an array of elements; and means responsive to a determination that said parameter is a reference to said predetermined type of object, for adjusting said reference to point to said elements in said array and for passing the adjusted reference to said method as the parameter.
Claim 7
Dependent Claim 119 words
A computer-executed method for marshaling parameters prior to the execution of a native method in a computer, comprising the steps of: determining whether a parameter is an object; if the parameter is an object, detecting whether the object is of a first type or a second type, in which the second type of object includes an array of elements; adjusting a reference to the object to refer directly to instance variables of the object when the object is detected to be of the first type; adjusting the reference to refer to the elements of the array for the object when the object is detected to be of the second type; and passing the adjusted reference to the native method.
Claim 8
Dependent Claim 119 words
A computer-executed method for marshaling parameters prior to the execution of a native method in a computer, comprising the steps of: determining whether a parameter is an object; if the parameter is an object, detecting whether the object is of a first type or a second type, in which the second type of object includes an array of elements; adjusting a reference to the object to refer directly to instance variables of the object when the object is detected to be of the first type; adjusting the reference to refer to the elements of the array for the object when the object is detected to be of the second type; and passing the adjusted reference to the native method.
Claim 9
Dependent Claim 91 words
A computer-executed method for marshaling parameters prior to the execution of a native method in a computer, comprising the steps of: calling a native method and obtaining a parameter to be passed to the native method; determining whether the parameter is a value or a reference to an object which contains data in addition to values; if the parameter is determined to be a reference to an object, adjusting said reference to refer directly to values of the object; and passing the adjusted reference to the native method as the parameter.
Claim 10
Dependent Claim 91 words
A computer-executed method for marshaling parameters prior to the execution of a native method in a computer, comprising the steps of: calling a native method and obtaining a parameter to be passed to the native method; determining whether the parameter is a value or a reference to an object which contains data in addition to values; if the parameter is determined to be a reference to an object, adjusting said reference to refer directly to values of the object; and passing the adjusted reference to the native method as the parameter.
Claim 11
Dependent Claim 25 words
The method of claim 5 wherein said object includes an array of elements, and wherein the adjusted reference refers directly to elements of the array.
Claim 12
Dependent Claim 153 words
In a computer, a system for marshaling parameters for executing a method, comprising: means for calling a method and passing a parameter to said method; means for determining if said parameter is a reference to a first type of object comprising an identification and one or more data items; means responsive to a determination that said parameter is a reference to said first type of object, for adjusting said reference to point to said data items and for passing the adjusted reference to said method as the parameter; means for determining if said parameter is a reference to a second type of object comprising an identification and an array of elements; and means responsive to a determination that said parameter is a reference to said second type of object, for adjusting said reference to point to said elements in said array and for passing the adjusted reference to said method as the parameter.
Claim 13
Dependent Claim 153 words
In a computer, a system for marshaling parameters for executing a method, comprising: means for calling a method and passing a parameter to said method; means for determining if said parameter is a reference to a first type of object comprising an identification and one or more data items; means responsive to a determination that said parameter is a reference to said first type of object, for adjusting said reference to point to said data items and for passing the adjusted reference to said method as the parameter; means for determining if said parameter is a reference to a second type of object comprising an identification and an array of elements; and means responsive to a determination that said parameter is a reference to said second type of object, for adjusting said reference to point to said elements in said array and for passing the adjusted reference to said method as the parameter.
Claim 14
Dependent Claim 24 words
The system of claim 7 wherein said identification for at least one of said types of objects comprises a reference to a class definition.
Claim 15
Dependent Claim 15 words
The system of claim 7 wherein said data items comprise instance variables for the object.
Claim 16
Dependent Claim 90 words
In a computer, a system for marshaling object parameters for executing a method, comprising: means for calling a method and passing a parameter to said method; means for determining if said parameter is a reference to a predetermined type of object comprising an identification and one or more data items; and means responsive to a determination that said parameter is a reference to said predetermined type of object, for adjusting said reference to point to said data items and for passing the adjusted reference to said method as the parameter.
Claim 17
Dependent Claim 90 words
In a computer, a system for marshaling object parameters for executing a method, comprising: means for calling a method and passing a parameter to said method; means for determining if said parameter is a reference to a predetermined type of object comprising an identification and one or more data items; and means responsive to a determination that said parameter is a reference to said predetermined type of object, for adjusting said reference to point to said data items and for passing the adjusted reference to said method as the parameter.
Claim 18
Dependent Claim 15 words
The system of claim 10 wherein said identification comprises a reference to a class definition.
Claim 19
Dependent Claim 15 words
The system of claim 10 wherein said data items comprise instance variables for the object.
Claim 20
Dependent Claim 91 words
In a computer, a system for marshaling object parameters for executing a method, comprising: means for calling a method and passing a parameter to said method; means for determining if said parameter is a reference to a predetermined type of object comprising an identification and an array of elements; and means responsive to a determination that said parameter is a reference to said predetermined type of object, for adjusting said reference to point to said elements in said array and for passing the adjusted reference to said method as the parameter.
Claim 21
Dependent Claim 91 words
In a computer, a system for marshaling object parameters for executing a method, comprising: means for calling a method and passing a parameter to said method; means for determining if said parameter is a reference to a predetermined type of object comprising an identification and an array of elements; and means responsive to a determination that said parameter is a reference to said predetermined type of object, for adjusting said reference to point to said elements in said array and for passing the adjusted reference to said method as the parameter.
Claim 22
Dependent Claim 15 words
The system of claim 13 wherein said identification comprises a reference to a class definition.
Claim 23
Dependent Claim 116 words
A computer-readable medium containing a computer program which executes the following steps: determining whether a parameter to be passed to a computer-implemented method is an object; if the parameter is an object, detecting whether the object is of a first type or a second type, in which the second type of object includes an array of elements; adjusting a reference to the object to refer directly to instance variables of the object when the object is detected to be of the first type; adjusting the reference to refer to the elements of the array for the object when the object is detected to be of the second type; and passing the adjusted reference to the method.
Claim 24
Dependent Claim 116 words
A computer-readable medium containing a computer program which executes the following steps: determining whether a parameter to be passed to a computer-implemented method is an object; if the parameter is an object, detecting whether the object is of a first type or a second type, in which the second type of object includes an array of elements; adjusting a reference to the object to refer directly to instance variables of the object when the object is detected to be of the first type; adjusting the reference to refer to the elements of the array for the object when the object is detected to be of the second type; and passing the adjusted reference to the method.
Claim 25
Dependent Claim 80 words
A computer-readable medium containing a computer program which executes the following steps: calling a computer-implemented method and obtaining a parameter to be passed to the method; determining whether the parameter is a value or a reference to an object which contains data in addition to values; if the parameter is determined to be a reference to an object, adjusting said reference to refer directly to values of the object; and passing the adjusted reference to the method as the parameter.
Claim 26
Dependent Claim 80 words
A computer-readable medium containing a computer program which executes the following steps: calling a computer-implemented method and obtaining a parameter to be passed to the method; determining whether the parameter is a value or a reference to an object which contains data in addition to values; if the parameter is determined to be a reference to an object, adjusting said reference to refer directly to values of the object; and passing the adjusted reference to the method as the parameter.

References Cited (Backward Citations)

US5367685A Cited
US5613148A Cited
US5715460A Cited
US5630131A Cited
US5692183A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-02-22 2002-08-24 2003-02-23 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-02-22 2006-08-24 2007-02-23 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-02-22 2010-08-24 2011-02-23 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag