| James Gosling, Bill Joy, and Guy Steele. The Java |
....with the Java language semantics. Preliminary evaluation of the effectiveness of these transformations show that performance improvements of 10 times and more can be achieved for array intensive Java programs. 1 Introduction and motivation Three goals of the Java (TM)1 programming language [1] and execution environment are bit for bit reproducibility of results on different platforms, safety of execution, and ease of programming and testing. A crucial component of the Java language specification for achieving the latter two goals is that a program only be allowed to access objects via ....
....implementation of this specification component requires every access to every element of an array to check the validity of all base pointers and indices involved in the access. Figure 1 shows a typical representation of a four dimensional array in Java. A naive checking of a reference to element A[1][2] 3] 4] indicated in the figure, would require four base pointer tests and four range tests: A, A[1] A[1] 2] and A[1] 2] 3] must all be tested as valid pointers; 1, 2, 3, and 4 must all be tested as valid indices along the corresponding axes of the array. If the entire array is accessed, a ....
[Article contains additional citation context not shown here]
James Gosling, Bill Joy, and Guy Steele. The Java (TM) Language Specification. Addison-Wesley, 1996.
....e ect of the non intuitiveJava memory model and the non deterministic behavior makes it dicult for a programmer to write ####### Java concurrent programs. For example, consider the code in Figure 1 (taken from Pugh [17] Under the currentJava memory model speci cation with prescient stores [8], one possible outcome of this code is X=1 and Y=1. The result is not what the programmer would expect from an intuitiveinterpretation of the original program. By the output the programmer would expect, we mean the output that comes from executing the program as written with an execution that ....
James Gosling, Bill Joy, and Guy Steele. ### #### ######## ############. Addison Wesley, 1996.
....handler completes, control flow continues as if the incomplete operation in the guarded block terminated without encountering the exception. Hence, the handler acts as an alternative operation for its guarded block. This model is the most popular, appearing in Ada, C , ML [10] Modula 3 and Java [11]. 5.3 Retrying Model The retry model combines the termination model with special handler semantics, i.e. restart the failed operation. There must be a clear beginning for the operation to be restarted. The beginning of the guarded block is usually the restart point and there is hardly any other ....
James Gosling, Bill Joy, and Guy Steele, The Java LanguageSpecification, Addison-Wesley, 1996.
....on fine grained protection domains will over perform interprocess communication. If a more efficient technology of interprocess communication is developed, we can use that technology to implement fine grained protection domains, eliminating the overhead of switching computing resources. Java [13] ensures code safety by the bytecode verifier and by the runtime checking. The verifier checks code integrity at the loading time, and Java VM (virtual machine) checks code safety at runtime. The safety of Java heavily relies on the correctness of Java VM. If Java VM has a security bug, the safety ....
Java Team, James Gosling, Bill Joy, and Guy Steele. The Java[tm] Language Spectication. Addison Wesley Longman, 1996. ISBN 0-201-6345-1.
....this paper and discuss some future work. 2 Optimization of array bounds checking A major impediment to optimizing Java is the requirement that exceptions be thrown precisely. An exception must be thrown for any attempt to dereference a null pointer or perform an out of bounds array access [17]. Because most references in computationally intense Java loops are to arrays or via pointers, most references have the potential to generate an exception. Because of the precise exception requirement, it is impossible to do code motion across potential exceptions, and in general it is impossible ....
James Gosling, Bill Joy, and Guy Steele. The Java (TM) Language Specification. Addison-Wesley, 1996.
....We now show how our framework handles exceptions. Exceptions are precise in Java, hence any code motion across the exception point should be invisible to the user program. An exception thrown by a statement is caught by the closest dynamically enclosing catch block that handles the exception [17]. One way to do data flow analysis in the presence of exceptions is to add a control flow graph edge from each statement that can throw an exception to each catch block that can potentially catch the exception, or to the exit of the method if there is no catch block for the exception. The added ....
....exceptions within methods that do not have any try catch blocks in them. Many methods in Java correspond to this case. 5. 2 Finalization Before the storage for an object is reclaimed by the garbage collector, the Java Virtual Machine invokes a special method, the finalizer, of that object [17]. The class Object, which is a 12 superclass of every other class, provides a default definition of the finalize method, which takes no action. If a class overrides the finalize method such that its this parameter is referenced, it means that an object of that class is reachable (due to the ....
[Article contains additional citation context not shown here]
James Gosling, Bill Joy, and Guy Steele. The Java (TM) Language Specification. Addison-Wesley, 1996.
....can partially evaluate themselves into ecient, specialized versions. Such a facility could be a useful addition to existing systems supporting transmissible code, such as the standard Javaenvironment. But it is not obvious whether TDPE can work for (relatively) conventional languages likeJava[8]. TDPE was originally formulated in and for Scheme [5] and has been implemented in a variety of other functional languages [15,16,1,13] It makes essential use of the polymorphic type systems, uniform data representation conventions, and higher order function support o ered by these languages. ....
James Gosling, Bill Joy, and Guy Steele. The Java ## Language Specication. The Java Series. AddisonWesley, 1996.
....this paper and discuss some future work. 2 Optimization of array bounds checking A major impediment to optimizing Java is the requirement that exceptions be thrown precisely. An exception must be thrown for any attempt to dereference a null pointer or perform an out of bounds array access [18]. Because most references in computationally intense Java loops are to arrays or via pointers, most references have the potential to generate an exception. Because of the precise exception requirement, it is impossible to do code motion across potential exceptions, and in general it is ....
James Gosling, Bill Joy, and Guy Steele. The Java (TM) Language Specification. AddisonWesley, 1996.
No context found.
James Gosling, Bill Joy, and Guy Steele. The Java
No context found.
Java Team, James Gosling, Bill Joy, and Guy Steele. The Java[tm] Language Specification. Addison Wesley Longman, 1996. ISBN 0-201-6345-1.
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