. The support for precise exceptions in Java, combined with frequent checks for runtime exceptions, leads to severe limitations on the compiler's ability to perform program optimizations that involve reordering of instructions. This paper presents a novel framework that allows a compiler to relax these constraints. We first present an algorithm using dynamic analysis, and a variant using static analysis, to identify the subset of program state that need not be preserved if an exception is thrown. This allows many spurious dependence constraints between potentially excepting instructions (PEIs) and writes into variables to be eliminated. Our dynamic algorithm is particularly suitable for dynamically dispatched methods in objec...
Static analysis tools cannot detect violations of application-specific rules. They can be extended w...
Exception handling is a powerful and widely-used program-ming language abstraction for constructing ...
Exception handling mechanisms provided by programming languages are intended to ease the difficulty ...
Java exception checks are designed to ensure that any faulting instruction causing a hardware except...
Current JDK Java compiler relies on programmer's declarations (by throws clauses) for checking ...
Current JDK Java compiler relies on programmer’s declarations (bythrows clauses) for checking agains...
Abstract. It is difficult to write programs that behave correctly in the presence of exceptions. We ...
In this project, an incremental checkpointing mechanism is developed for Java. By making the abstrac...
The Java programming environment uses a highly-developed virtual machine (VM) to execute its program...
Analysis techniques, such as control flow, data flow, and control dependence, are used for a variet...
In general, modern programs are large and complex and it is essential that they should be highly rel...
Exceptions are the preferred method for error handling in object-oriented languages like Java. Curre...
Exception handling mechanisms provided by programming languages are intended to ease the difficulty...
One of the challenges present to a native code Java compiler is Java’s frequent use of runtime excep...
Abstract. Aggressive optimization of programs often relies on analysis and trans-formation that cuts...
Static analysis tools cannot detect violations of application-specific rules. They can be extended w...
Exception handling is a powerful and widely-used program-ming language abstraction for constructing ...
Exception handling mechanisms provided by programming languages are intended to ease the difficulty ...
Java exception checks are designed to ensure that any faulting instruction causing a hardware except...
Current JDK Java compiler relies on programmer's declarations (by throws clauses) for checking ...
Current JDK Java compiler relies on programmer’s declarations (bythrows clauses) for checking agains...
Abstract. It is difficult to write programs that behave correctly in the presence of exceptions. We ...
In this project, an incremental checkpointing mechanism is developed for Java. By making the abstrac...
The Java programming environment uses a highly-developed virtual machine (VM) to execute its program...
Analysis techniques, such as control flow, data flow, and control dependence, are used for a variet...
In general, modern programs are large and complex and it is essential that they should be highly rel...
Exceptions are the preferred method for error handling in object-oriented languages like Java. Curre...
Exception handling mechanisms provided by programming languages are intended to ease the difficulty...
One of the challenges present to a native code Java compiler is Java’s frequent use of runtime excep...
Abstract. Aggressive optimization of programs often relies on analysis and trans-formation that cuts...
Static analysis tools cannot detect violations of application-specific rules. They can be extended w...
Exception handling is a powerful and widely-used program-ming language abstraction for constructing ...
Exception handling mechanisms provided by programming languages are intended to ease the difficulty ...