169e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal<html>
269e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal<body>
369e17611504376e4d4603925f8528dfc890fd2c6Luis SigalBytecode Analysis API.
469e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal
569e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal<p>This package provides an API for performing data-flow analysis on a method's bytecode.
669e17611504376e4d4603925f8528dfc890fd2c6Luis SigalThis allows the user to determine the type state of the stack and local variable table 
769e17611504376e4d4603925f8528dfc890fd2c6Luis Sigalat the start of every instruction. In addition this API can be used to validate 
869e17611504376e4d4603925f8528dfc890fd2c6Luis Sigalbytecode, find dead bytecode, and identify unnecessary checkcasts.
969e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal
1069e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal<p>The users of this package must know the specifications of
1169e17611504376e4d4603925f8528dfc890fd2c6Luis Sigalclass file and Java bytecode.  For more details, read this book:
1269e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal
1369e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal<ul>Tim Lindholm and Frank Yellin,
1469e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal"The Java Virtual Machine Specification 2nd Ed.",
1569e17611504376e4d4603925f8528dfc890fd2c6Luis SigalAddison-Wesley, 1999.
1669e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal</ul>
1769e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal
1869e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal</body>
1969e17611504376e4d4603925f8528dfc890fd2c6Luis Sigal</html>
20