Method and system for shared object data member zones
Abstract
Methods, computer-readable media, and systems for sharing duplicate data between objects in object-oriented applications are provided. In some illustrative embodiments, a method for sharing data member zones of objects in a software application executing on a processor is provided. The method includes instantiating a first object comprising a first plurality of data members and instantiating a second object comprising a second plurality of data members. The method further includes defining a first shared data member zone comprising a first portion of the first plurality of data members and a second portion of the second plurality of data members, and modifying a value of a data member in the first portion, the modification making the value available to a read access of a corresponding data member in the second portion.
Claims
exact text as granted — not AI-modified1 . A method for sharing data member zones of objects in a software application executing on a processor, the method comprising:
instantiating a first object comprising a first plurality of data members; instantiating a second object comprising a second plurality of data members; defining a first shared data member zone comprising a first portion of the first plurality of data members and a second portion of the second plurality of data members; and modifying a value of a data member in the first portion, the modification making the value available to a read access of a corresponding data member in the second portion.
2 . The method of claim 1 , wherein modifying a value further comprises propagating the value to a physical memory location of the corresponding data member.
3 . The method of claim 2 , wherein
defining a first shared data member zone further comprises setting a consistency attribute of the first portion to indicate whether modifications of data members in the first portion should be propagated, and propagating the value further comprises propagating the value if the consistency attribute is set to indicate that modifications should be propagated.
4 . The method of claim 2 , wherein
defining a first shared data member zone further comprises setting a consistency attribute of the data member in the first portion to indicate whether modifications to the data member should be propagated, and propagating the value further comprises propagating the value if the consistency attribute of the data member is set to indicate that modifications should be propagated.
5 . The method of claim 1 , wherein
defining a first shared data member zone further comprises configuring the first object to cause an access of the data member in the first portion to access a physical memory location of the corresponding data member in the second portion, and modifying a value further comprises placing the value in the physical memory location.
6 . The method of claim 5 , wherein configuring the first object further comprises causing a pointer field in a header of the first object to point to the second portion.
7 . The method of claim 1 , further comprising:
instantiating a third object comprising a third plurality of data members; defining a second shared data member zone comprising a third portion of the third plurality of data members, a subset of the first portion, and a subset of the second portion, wherein the third plurality and the subsets are the same size; and modifying a value of a data member in the third portion, the modification making the value available to a read access of a corresponding data member in the subset of the first portion and a corresponding data member in the subset of the second portion.
8 . The method of claim 7 , wherein modifying a value of a data member in the third portion further comprises propagating the value to a physical memory location of the corresponding data member in the subset of the first portion and a physical memory location of the corresponding data member in the subset of the second portion.
9 . The method of claim 8 , wherein
defining a second shared data member zone further comprises setting a consistency attribute of the third portion to indicate whether modifications of data members in the third portion should be propagated, and propagating the value to the physical memory locations of the corresponding data members in the subsets of the first and second portions further comprises propagating the value if the consistency attribute is set to indicate that modifications should be propagated.
10 . The method of claim 7 , wherein
defining a second shared data member zone further comprises configuring the third object to cause an access of the data member in the third portion to access a physical memory location of the corresponding data member in the subset of the second portion, and modifying a value of a data member in the third portion further comprises placing the value in the physical memory location of the corresponding data member in the subset of the second portion.
11 . The method of claim 10 , wherein configuring the third object further comprises causing a pointer field in a header of the third object to point to the subset of the second portion.
12 . The method of claim 1 , wherein the first object and the second object are Java objects.
13 . A computer-readable medium storing a software program that, when executed by a processor, performs a method for sharing data member zones of objects comprising:
instantiating a first object comprising a first plurality of data members; instantiating a second object comprising a second plurality of data members; defining a first shared data member zone comprising a first portion of the first plurality of data members and a second portion of the second plurality of data members; and modifying a value of a data member in the first portion, the modification making the value available to a read access of a corresponding data member in the second portion.
14 . The computer-readable medium of claim 13 , wherein modifying a value further comprises propagating the value to a physical memory location of the corresponding data member.
15 . The computer-readable medium of claim 14 , wherein
defining a first shared data member zone further comprises setting a consistency attribute of the first portion to indicate whether modifications of data members in the first portion should be propagated, and propagating the value further comprises propagating the value if the consistency attribute is set to indicate that modifications should be propagated.
16 . The method of claim 14 , wherein
defining a first shared data member zone further comprises setting a consistency attribute of the data member in the first portion to indicate whether modifications to the data member should be propagated, and propagating the value further comprises propagating the value if the consistency attribute of the data member is set to indicate that modifications should be propagated.
17 . The computer-readable medium of claim 13 , wherein
defining a first shared data member zone further comprises configuring the first object to cause an access of the data member in the first portion to access a physical memory location of the corresponding data member in the second portion, and modifying a value further comprises placing the value in the physical memory location.
18 . The computer-readable medium of claim 17 , wherein configuring the first object further comprises causing a pointer field in a header of the first object to point to the second portion.
19 . The computer-readable medium of claim 13 , wherein the first object and the second object are Java objects.
20 . A system, comprising:
a processor; an implementation of an object oriented language configured to execute on the processor; and a software program configured to execute on the implementation of the object-orientated language, wherein the software program is configured to instantiate a first object comprising a first plurality of data members, to instantiate a second object comprising a second plurality of data members, to define a first shared data member zone comprising a first portion of the first plurality of data members and a second portion of the second plurality of data members, and to modify a value of a data member in the first portion, the modification making the value available to a read access of a corresponding data member in the second portion.
21 . The system of claim 20 , wherein the software program is further configured to modify a value by propagating the value to a physical memory location of the corresponding data member.
22 . The system of claim 21 , wherein the software program is further configured to define a first shared data member zone by setting a consistency attribute of the first portion to indicate whether modifications of data members in the first portion should be propagated, and propagating the value further comprises propagating the value if the consistency attribute is set to indicate that modifications should be propagated.
23 . The system of claim 21 , wherein the software program is further configured to define a first shared data member zone by setting a consistency attribute of the data member in the first portion to indicate whether modifications to the data member should be propagated, and propagating the value further comprises propagating the value if the consistency attribute of the data member is set to indicate that modifications should be propagated.
24 . The system of claim 20 , wherein the software program is further configured
to define a first shared data member zone by configuring the first object to cause an access of the data member in the first portion to access a physical memory location of the corresponding data member in the second portion, and to modify a value by placing the value in the physical memory location.
25 . The system of claim 24 , wherein configuring the first object further comprises causing a pointer field in a header of the first object to point to the second portion.
26 . The system of claim 20 , wherein the implementation of the object-oriented language comprises a Java virtual machine.
27 . The system of claim 20 , wherein the system comprises a mobile device.Join the waitlist — get patent alerts
Track US2006026200A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.