| X. Leroy. The effectiveness of type-based unboxing. In Workshop on Types in Compilation, Amsterdam, June 1997. ACM SIGPLAN. Published as Boston College Computer Science Dept. Technical Report BCCS-97-03. |
....scale well to large programs. And perhaps the biggest problem was that our compiler took an inordinate amount of time to optimize the code. In the end, there wasn t clear evidence that intensional polymorphism was what lead to the performance improvements compared to this whole program optimizer [24, 9] Nonetheless, the TIL compiler showed that, if we were willing to be aggressive in the elimination of polymorphism and other optimizations, we could achieve spectacular speedups, while maintaining accurate type information through to the back end. 3. THE INFLUENCE OF TIL Later SML compiler ....
X. Leroy. The effectiveness of type-based unboxing. In Workshop on Types in Compilation, Amsterdam, June 1997. ACM SIGPLAN. Published as Boston College Computer Science Dept. Technical Report BCCS-97-03.
....as follows: int ix; boolean found; found,ix] search( a, 42 ) Finally, tuples can be used as array subscripts. Our extended Java dialect, Spar Java, also contains support for multi dimensional arrays, and tuples can be a very convenient accessing an array. For example: int a[ new int[9,9]; int2] v = 1,1] a v = 12; causes 12 to be assigned to array element a[1,1] For more information on this aspect of our language extensions see [13] 3. FORMAL DEFINITION In this section we define the syntax and semantics of tuples as a set of extensions to the second edition of the Java ....
....WORK Instead of explicitly using lightweight classes in one form or the other, a compiler could also try to recognize the required circumstances, and label classes (or class instances) as lightweight. This is called object inlining or unboxing. Although some success has been reported on this [8, 9], the required analysis is complicated. Also, the transformation does not always result in more efficient code, so the compiler must consider the tradeoffs carefully. Alternatively, the decision can be left to the programmer by providing explicit lightweight classes. As far as we know, the most ....
X. Leroy. The effectiveness of type-based unboxing. In Proceedings of the Workshop "Types in Compilation", Amsterdam, June 1997.
....point numbers and small tuples and records. His work is more general in that he applies unboxing to polymorphic code, while we require that data types be non polymorphic in order to unbox them. His work is less general in that he only addresses the unboxing optimization. In more recent work, Leroy [14] suggests that local unboxing based on dataflow analysis and the creation of inlined function preludes and postludes to perform non local unboxing can be as efficient as the type based unboxing described in his previous work. Other work on unboxing also explores various tradeoffs in the design ....
LEROY, X. The effectiveness of type-based unboxing. In Workshop on Types in Compilation (June 1997), Technical Report BCCS-97-03, Computer Science Department, Boston College.
....point numbers and small tuples and records. His work is more general in that he applies unboxing to polymorphic code, while we require that data types be non polymorphic in order to unbox them. His work is less general in that he only addresses the unboxing optimization. In more recent work, Leroy [15] suggests that local unboxing based on dataflow analysis and the creation of inlined function preludes and postludes to perform non local unboxing can be as efficient as the type based unboxing described in his previous work. Other work on unboxing also explores various tradeoffs in the design ....
LEROY, X. The effectiveness of type-based unboxing. In Workshop on Types in Compilation (June 1997), Technical Report BCCS-97-03, Computer Science Department, Boston College.
....point numbers and small tuples and records. His work is more general in that he applies unboxing to polymorphic code, while we require that data types be non polymorphic in order to unbox them. His work is less general in that he only addresses the unboxing optimization. In more recent work, Leroy [14] suggests that local Copyright c 2002 John Wiley Sons, Ltd. Concurrency: Pract. Exper. 2002; 14:1 22 KAVA 21 unboxing based on dataflow analysis and the creation of inlined function preludes and postludes to perform non local unboxing can be as efficient as the type based unboxing described in ....
LEROY, X. The effectiveness of type-based unboxing. In Workshop on Types in Compilation (June 1997), Technical Report BCCS-97-03, Computer Science Department, Boston College.
....unboxing eliminates a level of indirection in accessing data, e.g. replacing an array of pointers to floats by an array of floats, but then access to entries requires that their size be known in order to compute offsets. When the entries are of datum type then this can be inferred from the type [HM95, Ler97] but in general, if the entries are themselves structured, e.g. arrays, then type inference is insufficient, and a proper shape analysis is required. FISh is already able to handle polydimensional arrays, and is being extended to cope with inductive types, such as lists. A more subtle benefit of ....
X. Leroy. The effectiveness of type-based unboxing. In Abstracts from the
....improvements, resulted in a 33 speedup from the numbers previously reported [Rep01] even without LCPS. 9 We used ocamlopt version 3.00 and gcc version 2.91.66 with the O2 option. 13 These loops are preserved in the IR and result in code that is similar to that produced by a C compiler [Ler97] so we also measured OCAML versions of our benchmarks, written both with for loops and with tail recursion. There are a couple of conclusions that we can draw from the OCAML numbers; first, the tail recursive MOBY code, when compiled with LCPS enabled, is competitive with the OCAML for loop code ....
Leroy, X. The effectiveness of type-based unboxing. In Workshop Types in Compilation '97. Technical report BCCS-97-03, Boston College, Computer Science Department, June 1997.
....the LCPS transformation (the OCAML [Ler00] TIL [TMC 96, Tar96] and RML [OT98] compilers do not) The OCAML system provides for loops over integer intervals as a language feature. These loops are preserved in the IR and result in code that is similar to that produced by a C compiler [Ler97] but the OCAML compiler (Version 3.00) does not flatten nested loops when they are expressed using recursion. Kelsey describes a technique for combining functions in a CPSbased framework [Kel95] In his framework, he annotates abstractions with either proc, cont, or jump, where jump is used to ....
Leroy, X. The effectiveness of type-based unboxing. In Workshop Types in Compilation '97. Technical report BCCS-97-03, Boston College, Computer Science Department, June 1997.
....is fundamental to most tools that rewrite executable files, e.g. instrumentation tools such as pixie and atom. Because of this assumption, it turns out that the current version of alto is unable to handle executables generated by some functional language implementations, such as Objective Caml [27]. 2. It assumes that the top of stack pointer resides in a particular register and behaves as expected, i.e. always points to the current top of stack. 3. It assumes that the text segment is not modified in the course of execution (see below) Since alto does not currently support dynamically ....
X. Leroy, "The Effectiveness of Type-Based Unboxing", Workshop on Types in Compilation '97, Amsterdam, 1997.
....the LCPS transformation (the OCAML [Ler00] TIL [TMC 96, Tar96] and RML [OT98] compilers do not) The OCAML system provides for loops over integer intervals as a language feature. These loops are preserved in the IR and result in code that is similar to that produced by a C compiler [Ler97] but the OCAML compiler (Version 3.00) does not flatten nested loops when they are expressed using recursion. Kim, Yi and Danvy have used selective CPS transformation as a technique for replacing SML s exception raising and handling mechanisms with continuation operations [KYD98] Unlike LCPS, ....
Leroy, X. The effectiveness of type-based unboxing. In Workshop Types in Compilation '97. Technical report BCCS-97-03, Boston College, Computer Science Department, June 1997.
....from the simplicity of Leroy s scheme. Interestingly, Leroy has recently suggested that it may be more effective to leave objects in their wrapped state at all times, and employ local optimizations to reduce the cost of wrapping, rather than to employ a full fledged coercion based approach [27]. CHAPTER 4. REPRESENTATION ANALYSIS 33 4.4 Type Passing Approaches Another approach suggested by Morrisett et al. is to pass types at run time [33, 43] In such an approach, a program can discover an object s representation by inspecting the run time representation of the type. As a ....
....they be (recursively) boxed at all times. The disadvantage of this approach is that additional time and space is required for constructing, passing and analyzing type descriptors at run time. Shao and Leroy have claimed that the cost of this heavy weight run time type analysis is considerable [38, 27]. A more serious problem is that it may be impossible to call functions with different argument types in the first place Shao s vararg problem [38] In Java, for example, a function which takes an int argument can only be passed an int the virtual machine does not permit an object with ....
Xavier Leroy. The effectiveness of type-based unboxing. In Proceedings of Workshop on Types in Compilation, June 1997.
....does not appear to be so straightforward. For instance, since we chose a type erasure interpretation of polymorphism, adding floats to the language requires a boxing translation. However, recent work by Leroy suggests that it is only important to unbox floats in arrays and within compilation units [23], which is readily doable in our framework. Efficient support for sums and arrays is not straightforward either. For sums, the critical issue is making the projection and testing of data constructors explicit. For arrays (and other sequences) the issue is that the index for a subscript or update ....
X. Leroy. The effectiveness of type-based unboxing. In Workshop on Types in Compilation, Amsterdam, June 1997. ACM SIGPLAN. Published as Boston College Computer Science Dept. Technical Report BCCS-97-03.
....of its arguments, providing a more refined specialisation than one based just on the type [HM95] In contrast to the approximations provided by program analyses based on abstract interpretation [CC77] FiSh obtains exact shapes of data. Similarly, unboxing of polymorphic function parameters (e.g. Ler97] becomes moot, so our system gives a kind of radical unboxing . Also, FiSh s stack discipline obviates the need for garbage collection. Tofte and Talpin s regions inference is an attempt to gain the benefits of stack discipline in ML, while still allowing a global store [TT94] An ....
X. Leroy. The effectiveness of type-based unboxing. In Abstracts from the 1997 Workshop on Types in Compilation (TIC97). Boston College Computer Science Department, June 1997.
....typechecking, we have initially opted for fixed code sequences but are exploring the implications of the more complicated type systems. Finally, since we chose a type erasure interpretation of polymorphism, adding floats to the language requires a boxing translation. However, recent work by Leroy [24] suggests that it is only important to unbox floats in arrays and within compilation units, which is easily done in our framework. 9 Summary We have given a compiler from System F to a statically typed assembly language. The type system for the assembly language ensures that source level ....
Xavier Leroy. The effectiveness of type-based unboxing. In Workshop on Types in Compilation, Amsterdam, June 1997. ACM SIGPLAN. Published as Boston College Computer Science Dept. Technical Report BCCS-97-03.
....typechecking, we have initially opted for fixed code sequences but are exploring the implications of the more complicated type systems. Finally, since we chose a type erasure interpretation of polymorphism, adding floats to the language requires a boxing translation. However, recent work by Leroy [23] suggests that it is only important to unbox floats in arrays and within compilation units, which is easily done in our framework. 7 Summary We have given a compiler from System F to a statically typed assembly language. The type system for the assembly language ensures that source level ....
X. Leroy. The effectiveness of type-based unboxing. In Workshop on Types in Compilation, Amsterdam, June 1997. ACM SIGPLAN. Published as Boston College Computer Science Dept. Technical Report BCCS-97-03.
....an expensive operation. Staticallytyped languages whose type system is too flexible to allow this determination of size information in all cases (e.g. because of polymorphism, type abstraction, or subtyping) make it more difficult, but not impossible, to exploit unboxed data representations: see [31, 21, 34, 16, 39, 22, 33, 28] for various approaches. Guarantees provided by the type system can also enable powerful program optimizations. For instance, in a strongly typed language (whose type system does not allow casts between incompatible types) two pointers that have incompatible types cannot alias, i.e. cannot ....
Xavier Leroy. The effectiveness of type-based unboxing. In Workshop Types in Compilation '97. Technical report BCCS-97-03, Boston College, Computer Science Department, June 1997.
No context found.
X. Leroy. The effectiveness of type-based unboxing. In Workshop on Types in Compilation, Amsterdam, June 1997. ACM SIGPLAN. Published as Boston College Computer Science Dept. Technical Report BCCS-97-03.
No context found.
X. Leroy. The effectiveness of type-based unboxing. In Abstracts from the 1997 Workshop on Types in Compilation (TIC97). Boston 23 College Computer Science Department, June 1997.
No context found.
X. Leroy. The effectiveness of type-based unboxing. In Abstracts from the 1997 Workshop on Types in Compilation (TIC97). Boston College Computer Science Department, June 1997.
No context found.
Xavier Leroy. The effectiveness of type-based unboxing. In Proceedings of Workshop on Types in Compilation, June 1997.
No context found.
X. Leroy, "The effectiveness of type-based unboxing," in Workshop on Types in Compilation, June 1997.
No context found.
X. Leroy. The effectiveness of type-based unboxing. In Proc. of the Workshop "Types in Compilation", Amsterdam, The Netherlands, June 1997.
No context found.
X. Leroy. The effectiveness of type-based unboxing. In Abstracts from the 1997 Workshop on Types in Compilation (TIC97). Boston College Computer Science Department, June 1997.
No context found.
X. Leroy. The effectiveness of type-based unboxing. In Workshop Types in Compilation'97, June 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