| Serrano, M., Bordawekar, R., Midki#, S., Gupta, M.: Quicksilver: A Quasi-Static Compiler for Java. In: Proceedings of the ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA). (2000) 66--82 |
....according to whether a method is being compiled for the first time (in which case a fast non optimizing strategy is selected) or whether it is being re optimized after identification as a hot spot. Recent work has evaluated the benefits of preserving compiled code between runs of a Java vm [Serrano00] However, in earlier work on the Smalltalk vm, studies found 58 that the cost of recompilation may be less than the cost of saving and restoring the generated code and ensuring that changes to the bytecode cause re compilation to occur [Deutsch84] To evaluate dynamic compilation Hlzle ....
Mauricio Serrano, Rajesh Bordawekar, Sam Midkiff, and Manish Gupta. Quicksilver: a quasi-static compiler for Java. In Object-Oriented Programming, Systems, Languages & Applications (OOPSLA '00), volume 35(10) of ACM SIGPLAN Notices, pages 66--82, October 2000. (p 58)
....use directly the multi dimensional array package do not su er overheard. Although the compiler is not compatible with Java, this does not mean that the techniques that they developed could not be incorporated into a JVM. These techniques would be especially attractive for quasi static compilers [SBMG00] This paper extends the Ninja group s work by tackling the problem of the elimination of array bounds checks in the presence of indirection. The strategies, described in Section 4, generate classes that are incorporated into a multi dimensional array package proposed in the Java Speci cation ....
Mauricio J. Serrano, Rajesh Bordawekar, Samuel P. Midki, and Manish Gupta. Quicksilver: a quasi-static compiler for java. In Proceedings of the ACM Conference on Object-Oriented Programming, Systems, Languages and Application { OOPSLA'00, pages 66-82, 2000.
.... compiler (JIT) that combines Java s platform independence with improved application speed [3] A more radical approach is to completely avoid byte code interpretation by statically compiling byte code to executable programs [1, 6, 11] Combinations of JIT and static compilation are also possible [10]. A disadvantage of byte code compilation, however, is the computational model of the byte code which implements a stack machine [13] Mapping this (virtual) stack machine on existing CPUs (that are register based) is harder than directly generating register oriented code. Our Manta compiler thus ....
....optimization can not be implemented manually because Java lacks a corresponding syntactical construct for arrays. In order to allow proper use, objects are inlined along with their header information, including, for example, vtables for method dispatch. class A class A int [ a = new int[10]; int a[10] original class with separate array object with inlined array 2.3 Method Inlining In C like languages, function inlining is a well known optimization for avoiding the costs of function invocation. In object oriented programs it is common to have many, small methods. So ....
[Article contains additional citation context not shown here]
M. Serrano, R. Bordawekar, S. Midkiff, and M. Gupta. Quicksilver: A Quasi-Static Compiler for Java. In Proc. OOPSLA'00, pages 66--82, Minneapolis, MN, Oct. 2000.
....implemented in the TPO. We note that the use of a static compiler HPCJ represents a particular implementation choice. In principle, nothing prevents the techniques described in this article from being used in a dynamic compiler. Moreover, by using the quasi static dynamic compilation model [10], the more expensive optimization and 5 analysis techniques employed by TPO can be done off line, sharply reducing the impact of compilation overhead. HPCJ TOBEY TPO Other Front End Portable Optimizations Back End Language W Code W Code POWER PowerPC Code Machine Code Bytecode Java ....
M. J. Serrano, R. Bordawekar, S. P. Midkiff, and M. Gupta. Quicksilver: a quasi-static compiler for Java. In Proceedings of the Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA'00), pages 66 -- 82, Minneapolis, MN, USA, Oct. 2000.
....for collecting traces and running simulations. Finally, we describe the benchmarks targeted in this study. 2. 1 A JVM with a Run Time Compiler We have performed our experiments under a state of the art JVM, the Jalapeno JVM [1] 8] supported by the Quicksilver quasi static compilation system [37]. Quicksilver performs the compilation of Java bytecodesinto quasi static images (which contain persistent forms of executable machine code and auxiliary information such as exception tables and garbage collection maps) in a separate, ahead of time run. During the actual execution of an ....
....store instructions referencing object fields, arrays, and virtual method tables (all of which reside on a heap) are instrumented. References to the stack frames (which tend to have good locality) are not instrumented. The instrumentation is done during the write phase of the Quicksilver compiler [37]. In the write phase, a program is compiled as it runs. During compilation, the compiler performs the instrumentation steps and generates instrumented quasi static images. The data is collected in the read phase [37] which corresponds to a production run of the program. On each heap reference, ....
[Article contains additional citation context not shown here]
M. Serrano, R. Bordawekar, S. Midkiff, and M. Gupta. Quicksilver: A quasi-static compiler for Java. In Proc. of OOPSLA
No context found.
Serrano, M., Bordawekar, R., Midki#, S., Gupta, M.: Quicksilver: A Quasi-Static Compiler for Java. In: Proceedings of the ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA). (2000) 66--82
No context found.
M. J. Serrano, R. Bordawekar, S. P. Midki#, and M. Gupta. Quicksilver: a quasi-static compiler for Java. In Proceedings of the ACM Conference on Object-Oriented Programming, Systems, Languages, and Application -- OOPSLA'00, pages 66--82, 2000.
No context found.
M. J. Serrano, R. Bordawekar, S. P. Midki#, and M. Gupta. Quicksilver: a quasi-static compiler for Java. In Conference on Object-Oriented, pages 66--82, 2000.
No context found.
M. J. Serrano, R. Bordawekar, S. P. Midki#, and M. Gupta. Quicksilver: a quasi-static compiler for Java. In Proceedings of the ACM Conference on Object-Oriented Programming, Systems, Languages, and Application -- OOPSLA'00, pages 66--82, 2000.
No context found.
Serrano, M., Bordawekar, R., Midki#, S., Gupta, M.: Quicksilver: A Quasi-Static Compiler for Java. In: Proceedings of the ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA). (2000) 66--82
No context found.
M. Serrano, R. Bordawekar, S. Midkiff, and M. Gupta, "Quicksilver: a quasi-static compiler for Java," ACM SIGPLAN Notices, vol. 35, no. 10, pp. 66--82, Oct. 2000.
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