| Tip, F., Sweeney, P.F.: Class hierarchy specialization. In: Proceedings of OOPSLA '97. Volume 32(10) of ACM SIGPLAN Notices., Atlanta, Georgia, USA, ACM press (1997) 271--285 |
....the work presented in this paper. 6.3 Other Languages Previous work [23, 19] describes object models for C , primarily addressing complications due to multiple inheritance. C does not support synchronization, hashing, and garbage collection at the language level. Tip and Sweeney [27] describe how C class hierarchy specialization can improve the efficiency of object layout. In a subsequent study [24] they show that a significant number of data members are never actually used at run time, and can be identified and removed at compile time. 7 Conclusions We have shown that a ....
TIP, F., AND 8WEENEY, P. F. Class hierarchy specialization. In OOPSLA'97 Conference Proceedings: Object-Oriented Programming Systems, Languages, and Applications (Denver, Colorado, Oct. 1997). SIGPLANNotices, 32, 10, 271 285.
.... be controlled using the specialization class framework [12] A specialization class provides specialization information about a class in the program, by indicating what information is 1 Unneeded class members can be removed in a subsequent pass, for example using class hierarchy specialization [9]. known and what methods to specialize. Specialization classes are non intrusive in that they are separate from the main program. A collection of specialization classes that together specify a complete specialization scenario (i.e. all configuration parameters of a program component) can be ....
F. Tip and P. Sweeney. Class hierarchy specialization. In OOPSLA'97 [3], pages 271--285.
....the performance of the overall system and Java applications. A large collection of work addresses optimizations specific to object oriented languages, such as class analysis, both intraprocedural [8] and interprocedural (see related work in [15] class hierarchy analysis and optimizations [22, 20], 9 receiver class prediction [13, 16, 7] method specialization [22] and call graph construction (see related work in [15] Other optimizations relevant to Java include bounds check elimination [18] and semantic inlining [23] 6 Conclusions The use of Java in many important server ....
.... collection of work addresses optimizations specific to object oriented languages, such as class analysis, both intraprocedural [8] and interprocedural (see related work in [15] class hierarchy analysis and optimizations [22, 20] 9 receiver class prediction [13, 16, 7] method specialization [22], and call graph construction (see related work in [15] Other optimizations relevant to Java include bounds check elimination [18] and semantic inlining [23] 6 Conclusions The use of Java in many important server applications brings with it several requirements that are specific to executing ....
Frank Tip and Peter F. Sweeney. Class hierarchy specialization. In ACM Conference on Object-Oriented Programming Systems, Languages, and Applications, 1997.
....lattice 2 . One can easily imagine how the above information might be used as the basis for restructuring the class hierarchy. One possibility would be for a tool to automatically generate restructured source code from the information provided by the lattice, similar to the approach taken in [35, 36]. However, from a redesign perspective, we believe that an interactive approach would be more appropriate. For example, the programmer doing the restructuring job may decide that the data member socialSecurityNumber should be retained in the class hierarchy because it may be needed later. In the ....
....variables are de ned as follows: ClassVars(P) f v j v is a variable in P; TypeOf(P; v) C; for some class C in P g ClassPtrVars(P) f p j p is a variable in P; TypeOf(P; p) C; for some class C in P g The attributes of our domain are class members. Following the de nitions of [35, 36], we will distinguish between de nitions and declarations of members. We de ne these terms as follows: The de nition of a member comprises a member s signature (interface) as well as the executable code in its body, whereas the declaration of a member only represents its signature. This ....
[Article contains additional citation context not shown here]
Frank Tip and Peter F. Sweeney. Class hierarchy specialization. Technical Report RC21111, IBM T.J. Watson Research Center, February 1998. Submitted for publication.
....lattice 2 . One can easily imagine how the above information might be used as the basis for restructuring the class hierarchy. One possibility would be for a tool to automatically generate restructured source code from the information provided by the lattice, similar to the approach taken in [35, 36]. However, from a redesign perspective, we believe that an interactive approach would be more appropriate. For example, the programmer doing the restructuring job may decide that the data member socialSecurityNumber should be retained in the class hierarchy because it may be needed later. In the ....
....variables are de ned as follows: ClassVars(P) f v j v is a variable in P; TypeOf(P; v) C; for some class C in P g ClassPtrVars(P) f p j p is a variable in P; TypeOf(P; p) C; for some class C in P g The attributes of our domain are class members. Following the de nitions of [35, 36], we will distinguish between de nitions and declarations of members. We de ne these terms as follows: The de nition of a member comprises a member s signature (interface) as well as the executable code in its body, whereas the declaration of a member only represents its signature. This ....
[Article contains additional citation context not shown here]
Frank Tip and Peter Sweeney. Class hierarchy specialization. In Proceedings of the Twelfth Annual Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA'97), pages 271-285, Atlanta, GA, 1997. ACM SIGPLAN Notices 32(10).
....statically analyzing the programs at compile time. The information computed by data flow analysis has many important applications such as static resolution of dynamically dispatched calls [PR96] side e#ect analysis [LRZ93] testing [RW85] program slicing [Tip96, TCFR97] program specialization [TS97] and aggressive compiler optimization [ASU86] Iterative data flow analysis as defined in [MR90a] is a fixed point calculation for recursive equations defined on a graph representing a program, that safely approximates the meet over all paths solution (MOP) of a data flow problem. The graph ....
F. Tip and P. F. Sweeney. Class hierarchy specialization. In Proceedings of OOPSLA'97: Conference on Object-oriented Programming Systems, Languages and Applications, pages 271--285, October 1997.
....the performance of the overall system and Java applications. A large collection of work addresses optimizations specific to object oriented languages, such as class analysis, both intraprocedural [10] and interprocedural (see related work in [20] class hierarchy analysis and optimizations [37, 35], receiver class prediction [16, 21, 9] method specialization [37] and call graph construction (see related work in [20] Other optimizations relevant to Java include bounds check elimination [30] and semantic inlining [39] 12 Conclusions and Future Work The use of Java in many important ....
.... collection of work addresses optimizations specific to object oriented languages, such as class analysis, both intraprocedural [10] and interprocedural (see related work in [20] class hierarchy analysis and optimizations [37, 35] receiver class prediction [16, 21, 9] method specialization [37], and call graph construction (see related work in [20] Other optimizations relevant to Java include bounds check elimination [30] and semantic inlining [39] 12 Conclusions and Future Work The use of Java in many important server applications depends on the availability of a JVM that ....
Frank Tip and Peter F. Sweeney. Class hierarchy specialization. In ACM Conference on Object-Oriented Programming Systems, Languages, and Applications, 1997.
....e 0 .m and is a read access) or (e is a expression of the form e 0 .m) then access to data member from expression. similar for expressions. 20] let X be the type of e 0 ; 21] let C = Lookup(X, m) m may occur in a base class of X [22] mark data member C: m live ; [23] else if (e is an expression of the form e 0 .Y : m and is a read access) or (e is a expression of the form e 0 .Y : m) then access to data member from expression using : operator. similar for expressions. 24] let C = Lookup(Y , m) m may occur in a base class of Y [25] ....
.... on the issue of determining and eliminating unused methods, and the usefulness of these optimizations has been demonstrated [5, 19] The work described in the present paper was motivated in part by previous work for removing unused data members and inheritance relations from C class hierarchies [22, 23]. Class hierarchy slicing [22] is capable of eliminating unused inheritance relations in addition to classes, data members and methods. For the example program of Figure 1, class hierarchy slicing would be able to eliminate the unnecessary inheritance relation between class C and class A. This ....
[Article contains additional citation context not shown here]
Tip, F., and Sweeney, P. F. Class hierarchy specialization. In Proceedings of the Eleventh Annual Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA'97) (Atlanta, GA, 1997), pp. 271--285. ACM SIGPLAN Notices 32(10).
....program would compute the value 20. Lack of space prevents us from presenting our approach to these problems in detail, but the essence of our solution consists of merging the types of variables in such a way that no irrepresentable structures can arise (this mechanism will be discussed in [24]) To this end, we add a phase to the algorithm where constraint elements are partitioned into equivalence classes; elements that occur in the same equivalence class must have the same type. Roughly speaking, two variables x and y occur in the same equivalence class if (i) P contains assignments ....
....until all use of multiple inheritance is eliminated. 4.7 Justification In this section, we argue that class hierarchy specialization is a semantics preserving program transformation. Due to space limitations, we only state the essential properties here, without proofs (details may be found in [24]) In order to show that behavior is preserved, we need to reason about corresponding lookup and typecast operations in the original and the specialized subobject graphs. To this end, we use the mapping that was introduced in Section 4.2: we will say that a subobject n in N corresponds to a ....
TIP, F., AND SWEENEY, P. F. Class hierarchy specialization. Technical report, IBM, 1997. Forthcoming.
....of virtual method calls into direct method calls, and ffl a reduction of the duplication of literals across the constant pools of different classes (this will be discussed in more detail in Section 2. 6) The class hierarchy transformations used in Jax are an adaptation of the ones in [21, 22], where they serve as a simplification phase after the generation of specialized class hierarchies (the relationship with this work will be discussed in Section 4) One of the simplest transformations is the removal of an uninstantiated class that does not have any derived classes, 4 public void ....
TIP, F., AND SWEENEY, P. F. Class hierarchy specialization. Tech. Rep. RC21111, IBM T.J. Watson Research Center, February 1998. 17
....of virtual method calls into direct method calls, and ffl a reduction of the duplication of literals across the constant pools of different classes (this will be discussed in more detail in Section 2. 6) The class hierarchy transformations used in Jax are an adaptation of the ones in [21, 22], where they serve as a simplification phase after the generation of specialized class hierarchies (the relationship with this work will be discussed in Section 4) One of the simplest transformations is the removal of an uninstantiated class that does not have any derived classes, 4 public void ....
....and that Java programmers use static final fields to define constants. Java compilers propagate these constants so that no accesses to these fields remain, but the fields themselves are not actually removed. The class hierarchy transformations used by Jax were originally proposed byTipand Sweeney [21] in the context of specializing class hierarchies. The purpose of specialization is to remove members from objects. Ignoring a number of details, the specialization algorithm constructs a new class hierarchy in which a new class is constructed for each variable and each member in the program. ....
TIP, F., AND SWEENEY, P. Class hierarchy specialization. In Proceedings of the Twelfth Annual Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA'97) (Atlanta, GA, 1997), pp. 271--285. ACM SIGPLAN Notices 32(10).
....of virtual method calls into direct method calls. ffl Merging classes may reduce of the duplication of literals across the constant pools of different classes (this will be discussed in more detail in Section 2. 6) The class hierarchy transformations used in Jax are an adaptation of the ones in [23, 24], where they serve as a simplification phase after the generation of specialized class hierarchies (the relationship with this work will be discussed in Section 4) One of the simplest transformations is the removal of an uninstantiated class that does not have any derived classes, and that does ....
Tip, F., and Sweeney, P. F. Class hierarchy specialization. Tech. Rep. RC21111, IBM T.J. Watson Research Center, February 1998. 14
....of virtual method calls into direct method calls. ffl Merging classes may reduce of the duplication of literals across the constant pools of different classes (this will be discussed in more detail in Section 2. 6) The class hierarchy transformations used in Jax are an adaptation of the ones in [23, 24], where they serve as a simplification phase after the generation of specialized class hierarchies (the relationship with this work will be discussed in Section 4) One of the simplest transformations is the removal of an uninstantiated class that does not have any derived classes, and that does ....
....that Java programmers use static final fields to define constants. Java compilers propagate these constants so that no accesses to these fields remain, but the fields themselves are not actually removed. The class hierarchy transformations used by Jax were originally proposed by Tip and Sweeney [23] in the context of specializing class hierarchies. The purpose of specialization is to remove members from objects. Ignoring a number of details, the specialization algorithm constructs a new class hierarchy in which a new class is constructed for each variable, method, and field in the program. ....
Tip, F., and Sweeney, P. Class hierarchy specialization. In Proceedings of the Twelfth Annual Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA '97) (Atlanta, GA, 1997), pp. 271--285. ACM SIGPLAN Notices 32(10).
No context found.
Tip, F., Sweeney, P.F.: Class hierarchy specialization. In: Proceedings of OOPSLA '97. Volume 32(10) of ACM SIGPLAN Notices., Atlanta, Georgia, USA, ACM press (1997) 271--285
No context found.
F. Tip and P. F. Sweeney. Class hierarchy specialization. Acta Informatica, 36:927--982, 2000.
No context found.
Frank Tip and Peter F. Sweeney. Class hierarchy specialization. Acta Informatica, 36(12):927--982, 2000. 4
No context found.
F. Tip and P. Sweeney. Class hierarchy specialization. OOPSLA'97.
No context found.
F. Tip and P. F. Sweeney. Class hierarchy specialization. In T. Bloom, editor, OOPSLA'97, pages 271--285, Atlanta, Georgia, October 1997.
No context found.
Tip, F., and Sweeney, P. F. Class hierarchy specialization. In Bloom [5], pp. 271-- 285.
No context found.
Frank Tip and Peter F. Sweeney, "Class hierarchy specialization", in Proceedings of the twelth annual conference on object-oriented programming systems, languages, and applications (OOPSLA'97), ACM SIGPlan Notices, v. 32 n. 10, pp 271 -- 285, October 1997
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC