IP Library Granted Patent US 8,943,462
Granted Patent B2
US 8,943,462 · App. 13/930,127 · Granted Jan 27, 2015

Type instances

View Patent ↗
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 8,943,462
App. No.
13/930,127
Granted
Jan 27, 2015
Kind
B2
Abstract

The present disclosure involves systems, software, and computer implemented methods for operating on type instances. One example method includes identifying a reference to a type instance during execution of a child control flow. The child control flow is associated with one or more ancestor control flows. One or more stack frames associated with the ancestor control flows are searched for a prior instantiation of the type instance. Access to the prior instantiation of the type instance in an identified stack frame associated with an identified ancestor control flow is provided in response to determining that the prior instantiation of the type instance exists in the identified stack frame. A new instance of the type instance is instantiated in a stack frame associated with the child control flow in response to determining that the prior instantiation of the type instance does not exist in the one or more stack frames.

Claims (34)

1. A method comprising:

identifying a reference to a type instance during execution of a first child control flow in a process, wherein the first child control flow is associated with one or more ancestor control flows;

searching one or more ancestor memory stack frames associated with the one or more ancestor control flows for a prior instantiation of the type instance;

providing access to the prior instantiation of the type instance in an identified ancestor memory stack frame associated with an identified ancestor control flow in response to determining that the prior instantiation of the type instance exists in the identified ancestor memory stack frame; and

instantiating a new instance of the type instance in a memory stack frame associated with the first child control flow for use during execution of the first child control flow in the process in response to determining that the prior instantiation of the type instance does not exist in the one or more ancestor memory stack frames.

2. The method of claim 1 , wherein use of the new instance of the type instance is limited to use within the first child control flow.

3. The method of claim 2 , wherein the first child control flow includes one or more internal child control flows, and wherein the new instance of the type instance is available for use to the one or more internal child control flows.

4. The method of claim 2 , wherein a lifecycle of a particular new type instance is managed by a runtime framework executing the first child control flow.

5. The method of claim 1 , further comprising deleting the memory stack frame associated with the first child control flow in response to the first child control flow completing execution.

6. The method of claim 1 , wherein providing access to the prior instantiation of the type instance in the identified ancestor memory stack frame comprises providing access to memory space in the identified ancestor memory stack frame occupied by the prior instantiation of the type instance.

7. The method of claim 1 , wherein the first child control flow includes two or more instantiated type instance references.

8. The method of claim 1 , wherein the one or more ancestor memory stack frames are searched in an order from youngest to oldest, starting with starting with a memory stack frame associated with the parent of the first child control flow.

9. The method of claim 1 , wherein a type instance comprises a regular instance of a class accessible syntactically using the name of the class.

10. The method of claim 1 , wherein the prior instantiation of the type instance is limited to use within the identified ancestor control flow and descendants of the identified ancestor control flow.

11. The method of claim 1 , wherein the new instance of the type instance is not accessible to a sibling control flow that is a sibling of the first child control flow.

12. A system comprising:

one or more computers associated with an enterprise portal; and

a computer-readable medium coupled to the one or more computers having instructions stored thereon which, when executed by the one or more computers, cause the one or more computers to perform operations comprising:

identifying a reference to a type instance during execution of a first child control flow in a process, wherein the first child control flow is associated with one or more ancestor control flows;

searching one or more ancestor memory stack frames associated with the one or more ancestor control flows for a prior instantiation of the type instance;

providing access to the prior instantiation of the type instance in an identified ancestor memory stack frame associated with an identified ancestor control flow in response to determining that the prior instantiation of the type instance exists in the identified ancestor memory stack frame; and

instantiating a new instance of the type instance in a memory stack frame associated with the first child control flow for use during execution of the first child control flow in the process in response to determining that the prior instantiation of the type instance does not exist in the one or more ancestor memory stack frames.

13. The system of claim 12 wherein use of the new instance of the type instance is limited to use within the first child control flow.

14. The system of claim 13 , wherein the first child control flow includes one or more internal child control flows, and wherein the new instance of the type instance is available for use to the one or more internal child control flows.

15. The system of claim 13 , wherein a lifecycle of a particular new type instance is managed by a runtime framework executing the first child control flow.

16. The system of claim 12 , further comprising deleting the memory stack frame associated with the first child control flow in response to the first child control flow completing execution.

17. A computer program product encoded on a non-transitory storage medium, the product comprising non-transitory, computer readable instructions for causing one or more processors to perform operations comprising:

identifying a reference to a type instance during execution of a first child control flow in a process, wherein the first child control flow is associated with one or more ancestor control flows;

searching one or more ancestor memory stack frames associated with the one or more ancestor control flows for a prior instantiation of the type instance;

providing access to the prior instantiation of the type instance in an identified ancestor memory stack frame associated with an identified ancestor control flow in response to determining that the prior instantiation of the type instance exists in the identified ancestor memory stack frame; and

instantiating a new instance of the type instance in a memory stack frame associated with the first child control flow for use during execution of the first child control flow in the process in response to determining that the prior instantiation of the type instance does not exist in the one or more ancestor memory stack frames.

18. The product of claim 17 wherein use of the new instance of the type instance is limited to use within the first child control flow.

19. The product of claim 18 , wherein the first child control flow includes one or more internal child control flows, and wherein the new instance of the type instance is available for use to the one or more internal child control flows.

20. The product of claim 18 , wherein a lifecycle of a particular new type instance is managed by a runtime framework executing the first child control flow.

Assignments (2)
CHANGE OF NAME Recorded Aug 26, 2014
From: SAP AG
To: SAP SE
Reel/Frame 033625/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 1, 2013
From: HELLER, JONATHAN; SCHEJTER, LIOR; ZILBERMAN KUBOVSKY, INBAL
To: SAP AG
Reel/Frame 031316/0674 →