IP Library Patent Application 11478908
Patent Application
App. No. 11/478,908

Methods, systems, and computer program products for enabling cross language access to an addressable entity in an execution environment

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
11/478,908
Abstract

Methods, systems, and computer program products for enabling cross language access of an addressable entity in an execution environment are disclosed. According to one method, an unresolved reference entity is detected in a first object code generated from first source code written in a first programming language, where a portion of the first object code using the unresolved reference entity is generated by a compiler of the first source code using an execution model associated with an addressable entity referenced by the unresolved reference entity. An addressable entity is located in a second object code generated from second source code written in a second programming language, where the located addressable entity has an associated alias symbol from a namespace of the first programming language. It is determined whether the located addressable entity is the referenced addressable entity by matching a symbol associated with the unresolved reference entity with the alias symbol associated with the located addressable entity. In response to determining that the symbol associated with the unresolved reference entity matches the alias symbol, the unresolved reference entity is resolved to the located addressable entity using an identifier, wherein the identifier is associated with a storage area associated with the located addressable entity and wherein the located addressable entity is generated by a compiler of the second source code and conforms to the execution model used by the compiler of the first source code to generate the portion of the first object code using the referenced addressable entity. The portion of the first object code using the resolved reference entity is allowed to access the located addressable entity via the storage area associated with the identifier as a result of the use of the shared execution model by the compilers of the first and second source code.

Claims (72)

1 . A method for enabling cross language access to an addressable entity in an execution environment, the method comprising:

Detecting an unresolved reference entity in a first object code generated from first source code written in a first programming language, wherein a portion of the first object code using the unresolved reference entity is generated by a compiler of the first source code using an execution model associated with an addressable entity referenced by the unresolved reference entity;

locating an addressable entity in a second object code generated from second source code written in a second programming language, wherein the located addressable entity has an associated alias symbol from a namespace of the first programming language;

determining whether the located addressable entity is the referenced addressable entity by matching a symbol associated with the unresolved reference entity with the alias symbol associated with the located addressable entity; and

in response to determining that the symbol associated with the unresolved reference entity matches the alias symbol:

resolving the unresolved reference entity to the located addressable entity using an identifier, wherein the identifier is associated with a storage area associated with the located addressable entity and wherein the located addressable entity is generated by a compiler of the second source code and conforms to the execution model used by the compiler of the first source code to generate the portion of the first object code using the referenced addressable entity and

allowing the portion of the first object code using the resolved reference entity to access the located addressable entity via the storage area associated with the identifier as a result of the use of the shared execution model by the compilers of the first and second source code.

2 . The method of claim 1 wherein the first and second object code use the same execution model.

3 . The method of claim 1 wherein the first and second object code use different execution models and wherein allowing the portion of the first object code using the resolved reference entity to access the located addressable entity includes associating an invocation record conforming to a shared execution model with an instance of the addressable entity and allowing the first object code to access the located addressable entity via the invocation record.

4 . The method of claim 1 wherein the located addressable entity comprises at least one of a data construct, an instruction, and a set of instructions.

5 . A method for enabling cross language access to an addressable entity in an execution environment, the method comprising:

detecting an unresolved reference entity in a first object code generated from first source code written in a first programming language, wherein a portion of the first object code using the unresolved reference entity is generated by a compiler of the first source code using an execution model associated with an addressable entity referenced by the unresolved reference entity and the unresolved reference entity has an associated alias symbol from a namespace of a second programming language;

locating an addressable entity in a second object code generated from second source code written in the second programming language;

determining whether the located addressable entity is the referenced addressable entity by matching the alias symbol associated with the unresolved reference entity with a symbol associated with the located addressable entity; and

in response to determining that the symbol associated with the addressable entity matches the alias symbol:

resolving the unresolved reference entity to the located addressable entity using an identifier, wherein the identifier is associated with a storage area associated with the located addressable entity and wherein the located addressable entity is generated by a compiler of the second source code and conforms to the execution model used by the compiler of the first source code to generate the portion of the first object code using the referenced addressable entity; and

allowing the portion of the first object code using the resolved reference entity to access the located addressable entity via the storage area associated with the Identifier as a result of the use of the shared execution model by the compilers of the first and second source code.

6 . The method of claim 5 wherein the first and second object code use the same execution model.

7 . The method of claim 5 wherein the first and second object code use different execution models and wherein allowing the portion of the first object code using the resolved reference entity to access the located addressable entity includes generating an invocation record conforming to a shared execution model with an instance of the addressable entity and allowing the first object code to access the located addressable entity via the invocation record.

8 . The method of claim 5 wherein the located addressable entity comprises at least one of a data construct, an instruction, and a set of instructions.

9 . A system for enabling cross language access to an addressable entity in an execution environment, the system comprising:

an execution environment configured for

detecting an unresolved reference entity in a first object code generated from first source code written in a first programming language, wherein a portion of the first object code using the unresolved reference entity conforms to an execution model used by a compiler of the first source code using an execution model associated with a referenced addressable entity;

locating an addressable entity in a second object code generated from second source code written in a second programming language, wherein the located addressable entity has an associated alias symbol from a namespace of the first programming language;

determining whether the located addressable entity is the referenced addressable entity by matching a symbol associated with the unresolved reference entity with the alias symbol associated with the located addressable entity; and

in response to determining that the symbol associated with the unresolved reference entity matches the alias symbol:

resolving the unresolved reference entity to the located addressable entity using an identifier, wherein the identifier is associated with a storage area associated with the located addressable entity and wherein the located addressable entity is generated by a compiler of the second source code and conforms to the execution model used by the compiler of the first source code to generate the portion of the first object code using the referenced addressable entity; and

allowing the portion of the first object code using the resolved reference entity to access the located addressable entity via the storage area associated with the identifier as a result of the use of the shared execution model by the compilers of the first and second source code.

10 . The system of claim 9 wherein the first and second object code use the same execution model.

11 . The system of claim 9 wherein the first and second object code use different execution models and wherein allowing the portion of the first object code using the resolved reference entity to access the located addressable entity includes associating an invocation record conforming to a shared execution model with an instance of the addressable entity and allowing the first object code to access the addressable entity via the invocation record.

12 . The system of claim 9 wherein the located addressable entity comprises at least one of a data construct, an instruction, and a set of instructions.

13 . A system for enabling cross language access to an addressable entity in an execution environment, the system comprising:

an execution environment configured for:

detecting an unresolved reference entity in a first object code generated from first source code written in a first programming language, wherein a portion of the first object code using the unresolved reference entity is generated by a compiler of the first source code using an execution model associated with an addressable entity referenced by the unresolved reference entity and the unresolved reference entity has an associated alias symbol from a namespace of a second programming language;

locating an addressable entity in a second object code generated from second source code written in the second programming language;

determining whether the located addressable entity is the referenced addressable entity by matching the alias symbol associated with the unresolved reference entity with a symbol associated with the located addressable entity;

in response to determining that the symbol associated with the addressable entity matches the alias symbol:

resolving the unresolved reference entity to the located addressable entity using an identifier, wherein the identifier is associated with a storage area associated with the located addressable entity and wherein the located addressable entity is generated by a compiler of the second source code and conforms to the execution model used by the compiler of the first source code to generate the portion of the first object code using the referenced addressable entity; and

allowing the portion of the first object code using the resolved reference entity to access the located addressable entity via the storage area associated with the identifier as a result of the use of the shared execution model by the compilers of the first and second source code.

14 . The system of claim 13 wherein the first and second object code use the same execution model.

15 . The system of claim 13 wherein the first and second object code use different execution models and wherein allowing the portion of the first object code using the resolved reference entity to access the located addressable entity includes generating an invocation record conforming to a shared execution model with an instance of the addressable entity and allowing the first object code to access the located addressable entity via the invocation record.

16 . The system of claim 13 wherein the located addressable entity comprises at least one of a data construct, an instruction, and a set of instructions.

17 . A system for enabling cross language access to an addressable entity in an execution environment, the system comprising:

an execution environment including:

means for detecting an unresolved reference entity in a first object code generated from first source code written in a first programming language, wherein a portion of the first object code using the unresolved reference entity is generated by a compiler of the first source code using an execution model associated with an addressable entity referenced by the unresolved reference entity;

means for locating a symbol associated with an addressable entity in a second object code generated from second source code written in a second programming language, wherein the located addressable entity has an associated alias symbol from a namespace of the first programming language;

means for determining whether the located addressable entity is the referenced addressable entity by matching a symbol associated with the unresolved reference entity with the alias symbol associated with the located addressable entity; and

means for, in response to determining that the symbol associated with the unresolved reference entity matches the alias symbol:

resolving the unresolved reference entity to the located addressable entity using an identifier, wherein the identifier is associated with a storage area associated with the located addressable entity is generated by a complier of the second source code and conforms to the execution model used by the compiler of the first source code to generate the portion of the first object code using the referenced addressable entity; and

allowing the portion of the first object code using the resolved reference entity to access the located addressable entity via the storage area associated with the identifier as a result of the use of the shared execution model by the compilers of the first and second source code.

18 . A system for enabling cross language access to an addressable entity in an execution environment, the system comprising:

an execution environment including:

means for detecting an unresolved reference entity in a first object code generated from first source code written in a first programming language, wherein a portion of the first object code using the unresolved reference entity is generated by a compiler of the first source code using an execution model associated with an addressable entity referenced by the unresolved reference entity and the unresolved reference entity has an associated alias symbol from a namespace of a second programming language;

means for locating an addressable entity in a second object code generated from second source code written in the second programming language;

means for determining whether the located addressable entity is the referenced addressable entity by matching the alias symbol associated with the unresolved reference entity with a symbol associated with the located addressable entity; and

means for, in response to determining that the symbol matches the alias symbol:

resolving the unresolved reference to the located addressable entity using an identifier, wherein the identifier is associated with a storage area associated with the located addressable entity is generated by a complier of the second source code and conforms to the execution model used by the compiler of the first source code to generate the portion of the first object code using the referenced addressable entity; and

allowing the portion of the first object code using the resolved reference entity to access the located addressable entity via the storage area associated with the identifier as a result of the use of the shared execution model by the compilers of the first and second source code.

19 . A computer program product comprising computer instructions embodied in a computer readable medium for performing steps comprising:

detecting an unresolved reference entity in a first object code generated from first source code written in a first programming language, wherein a portion of the first object code using the unresolved reference entity is generated by a compiler of the first source code using an execution model associated with an addressable entity referenced by the unresolved reference entity;

locating a an addressable entity in a second object code generated from second source code written in a second programming language, wherein the located addressable entity has an associated alias symbol from a namespace of the first programming language;

determining whether the located addressable entity is the referenced addressable entity by matching a symbol associated with the unresolved reference entity with the alias symbol associated with the located addressable entity; and

in response to determining that the symbol associated with the unresolved reference entity matches the alias symbol:

resolving the unresolved reference entity to the located addressable entity using an identifier, wherein the identifier is associated with a storage area associated with the located addressable entity and wherein the located addressable entity is generated by a compiler of the second source code and conforms to the execution model used by the compiler of the first source code to generate the portion of the object code using the referenced addressable entity; and

allowing the portion of the first object code using the resolved reference entity to access the located addressable entity via the storage area associated with the identifier as a result of the use of the shared execution model by the compilers of the first and second source code.

20 . A computer program product comprising computer instructions embodied in a computer readable medium for performing steps comprising:

detecting an unresolved reference entity in a first object code generated from first source code written in a first programming language, wherein a portion of the first object code using the unresolved reference entity is generated by a compiler of the first source code using an execution model associated with an addressable entity referenced by the unresolved reference entity and the unresolved reference entity has an associated alias symbol from a namespace of a second programming language;

locating an addressable entity in a second object code generated from second source code written in the second programming language;

determining whether the located addressable entity is the referenced addressable entity by matching the alias symbol associated with the unresolved reference with a symbol associated with the located addressable entity; and

in response to determining that the symbol associated with the addressable entity matches the alias symbol:

resolving the unresolved reference entity to the located addressable entity using an identifier, wherein the identifier is associated with a storage area associated with the located addressable entity and wherein the located addressable entity is generated by a compiler of the second source code and conforms to the execution model used by the compiler of the first source code to generate the portion of the object code using the referenced addressable entity; and

allowing the portion of the first object code using the resolved reference entity to access the located addressable entity via the storage area associated with the identifier as a result of the use of the shared execution model by the compilers of the first and second source code.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 11, 2017
From: OKRALABS LLC
To: SCENERA TECHNOLOGIES, LLC
Reel/Frame 044358/0633 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 7, 2006
From: MORRIS, ROBERT P.
To: OKRALABS, LLC
Reel/Frame 018213/0835 →