Skip to content

Commit 34a3579

Browse files
committed
prcs 1.2.0.dev.4:
empty
1 parent d6e60d2 commit 34a3579

File tree

7 files changed

+99
-60
lines changed

7 files changed

+99
-60
lines changed

CHANGES

+19-21
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,22 @@
1-
Improvements in version 1.0.1
1+
Improvements in version 1.2.0 (Thu Sep 28 21:41:16 EDT 2000)
2+
3+
1. An annotation framework is included in this release.
4+
2. A clean implementation of VTA is finally included in Soot.
5+
3. New implementation of typing system included
6+
- contains nice integer typing system.
7+
4. HashChain has a fast 'contains' method.
8+
(this was announced on the soot mailing list)
9+
5. A branched flow analysis framework is present.
10+
- This allows different results to be propagated on
11+
different edges of a branch.
12+
6. Implemented an Array Bounds Check and a Null Pointer Check algorithm.
13+
The new option '-A' annotates class files with analysis results.
14+
- See the new annotation tutorials.
15+
7. Other minor bugs were zapped.
16+
17+
(release by Feng Qian)
18+
19+
Improvements in version 1.0.1 (not released)
220

321
1. Eliminated useless Directed interface.
422

@@ -175,23 +193,3 @@ Raja Vallee-Rai
175193
Sable Research Group
176194

177195

178-
-----------------------------------------------------------------------------
179-
180-
Improvements in the second release (version 1.2.0)
181-
Thu Sep 28 21:41:16 EDT 2000
182-
183-
1) An annotation framework is added to this release.
184-
2) New implementation of VTA.
185-
3) New implementation of typing system, which has a nice interger typing system.
186-
4) HashChain has a fast 'contains' method.
187-
5) Fix some other minor bugs.
188-
6) We have branched flow analysis framework now.
189-
7) Implement an Array Bounds Check and a Null Pointer Check algorithm.
190-
A new option '-A' can annotate class files with analysis results.
191-
192-
Feng Qian
193-
194-
195-
196-
197-

TODO

+8-12
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,10 @@
1-
For the next release of Soot, we will improve the whole-program analysis
2-
features.
1+
Open problems (as of 1.2.0):
32

4-
improve soot.toolkits.graph.Block so that we keep a state counter for
5-
the Body and don't trample stuff; this is needed to keep the BlockLength up
6-
to date. Actually, that is somewhat complicated.
3+
1. improve our naming scheme to make Soot run on Macintosh.
4+
2. improve the invoke graph builder.
5+
3. include an interprocedural flow analysis framework
6+
and improve the whole-program analysis features.
7+
4. improve soot.toolkits.graph.Block so that we keep a state counter for
8+
the Body and don't trample stuff; this is needed to keep the
9+
BlockLength up to date. Actually, that is somewhat complicated.
710

8-
------------------------------------------------
9-
Version 1.1.0
10-
Next release to do:
11-
1) improve the temporary file name scheme to make the Soot run
12-
on Macintosh.
13-
2) improve the invoke graph builder.
14-
3) interprocedural flow analysis framework.

background5.gif

-1.03 KB
Binary file not shown.

background6.gif

334 Bytes
Loading

credits

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
Soot Credits
22

33

4-
Soot Maintainers: Raja Vallee-Rai, Patrick Lam
4+
Soot Maintainers: Raja Vallee-Rai, Patrick Lam, Feng Qian
55

66

77
-------------------- Soot Contributors ------------------------
@@ -26,6 +26,7 @@ Patrick Lam (plam@sable.mcgill.ca)
2626
Feng Qian (fqian@sable.mcgill.ca)
2727
- array bounds check and annotation
2828
- contributed to documentation writing
29+
- prepared 1.2.0 release
2930

3031
Patrice Pominville (patrice@sable.mcgill.ca)
3132
- Soot infrastructure
@@ -47,7 +48,6 @@ Clark Verbrugge (clarkv@ca.ibm.com)
4748
Felix Kwok
4849
- VTA re-implementation
4950

50-
5151
-------------------- Funding Acknowledgements ------------------
5252

5353
Funding support provided by:

index.html

+69-24
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
<html>
22
<head><title>Soot: a Java Optimization Framework</title></head>
33

4-
<body background="background5.gif" TEXT="#000000" BGCOLOR="#F3F3F3" LINK="#0000CC">
4+
<body background="background6.gif" TEXT="#000000" BGCOLOR="#F3F3F3" LINK="#0000CC">
55

66
<table border=0 cellpadding=0 cellspacing=3>
77

88
<TR>
99

1010
<!--LeftHandTable-->
1111

12-
<TD ALIGN=LEFT VALIGN=TOP ROWSPACE="1" WIDTH=135>
12+
<TD ALIGN=LEFT VALIGN=TOP ROWSPACE="1" WIDTH=160>
1313

1414
<p><font face="helvetica,arial" size="+1"><b>Soot Home</b></font>
1515

@@ -34,7 +34,7 @@
3434
<center>
3535
<a name="top"><b><font face="helvetica,arial" size="+2">Soot: a Java Optimization Framework</font></b></center></a> <br>
3636
<center>
37-
<a name="top"><b><font face="helvetica,arial" size="+1">Latest version: 1.0.0</font></b></center></a> <br><br>
37+
<a name="top"><b><font face="helvetica,arial" size="+1">Latest version: 1.2.0</font></b></center></a> <br><br>
3838

3939
<!--Introduction-->
4040
<a name="introduction"> <table width=100%> <tr>
@@ -81,17 +81,49 @@
8181
<p>The Soot Framework is an evolving research project. Our goal is to produce a
8282
highly robust framework for optimizing Java which is easy to use.
8383

84+
<!-- Release 1.2.0 -->
85+
<p>The 1.2.0 release is our second official release. The major new feature
86+
in 1.2.0 is support for classfile annotation (courtesy of Feng Qian and
87+
Patrice Pominville). There is also an improved typing system, due to
88+
Etienne Gagnon. Variable-Type Analysis was cleanly reimplemented and
89+
we have included it in our release of Soot for the first time.
90+
We also fixed a few bugs reported against version 1.0.0.
91+
92+
<p>In the future, we will develop a mechanism to support
93+
whole-program analysis based on a program's call graph.
94+
95+
<!-- Release 1.0.0
8496
<p>This release is our first official release. We believe it to be quite solid,
8597
and have tested it on a set of 266 benchmarks.
8698
8799
<p>In the future, we hope to improve support for whole-program analysis.
88100
We will also develop more transformations for use with Soot.
101+
-->
89102

90103
</blockquote>
91104

92105
<br>
93106

94107
<!--ProjectStatus-->
108+
109+
<a name="projectStatus"> <table width=100%> <tr>
110+
<td width=97% align=left><b><font face="helvetica,arial" size="+1">Major improvements in version 1.2.0</b></font></td></a>
111+
<td width=3% align=left><font size="-2"><a href="#top">top</a></td>
112+
</table>
113+
114+
<blockquote>
115+
This is a subset of changes in version 1.2.0; a more complete listing is in the CHANGES file.
116+
117+
<p>1. An annotation framework was added to the project.
118+
119+
<p>2. A new implementation of the typing system is included.
120+
121+
<p>2. A clean implementation of VTA is finally included in Soot.
122+
123+
</blockquote>
124+
125+
<!-- Status of release 1.0.0
126+
95127
<a name="projectStatus"> <table width=100%> <tr>
96128
<td width=97% align=left><b><font face="helvetica,arial" size="+1">Improvements in version 1.0.0</b></font></td></a>
97129
<td width=3% align=left><font size="-2"><a href="#top">top</a></td>
@@ -102,17 +134,20 @@
102134
103135
<p>1. Fixed bug with original name recovery.
104136
105-
<p>2. Added documentation (see <a href="http://www.sable.mcgill.ca/soot/tutorial">some tutorials</a>.)
137+
<p>2. Added documentation (see <a href="tutorial">some tutorials</a>.)
106138
107139
<p>3. Added static class synchronizer.
108140
109141
</blockquote>
110142
143+
-->
144+
111145
<br>
112146

113147

114148

115149
<!--Download-->
150+
116151
<a name="download"> <table width=100%> <tr>
117152
<td width=97% align=left><b><font face="helvetica,arial" size="+1">Download and Installation</b></font></td></a>
118153
<td width=3% align=left><font size="-2"><a href="#top">top</a></td>
@@ -124,8 +159,8 @@
124159

125160
<p>
126161
To install it you must unjar(untar) it, and add the classes directories
127-
<tt>soot-1.0.0/soot/classes</tt> and
128-
<tt>soot-1.0.0/jasmin/classes</tt> to your CLASSPATH.
162+
<tt>soot-1.2.0/soot/classes</tt> and
163+
<tt>soot-1.2.0/jasmin/classes</tt> to your CLASSPATH.
129164

130165
To test your installation of Soot, try:
131166

@@ -135,9 +170,15 @@
135170
</tt>
136171

137172
<p>for some options on processing classfiles. They are documented in more detail in the
138-
<a href="http://www.sable.mcgill.ca/soot/tutorial/usage">usage document</a>.
173+
<a href="tutorial/usage">usage document</a>.<p>
174+
175+
Note that Soot requires at least JDK 1.2 (Java 2), as it uses Java Collections.
176+
We have experienced some problems with the sunwjit JIT compiler; we do
177+
not recommend the use of this JIT. In particular, common subexpression
178+
elimination has triggered JIT problems with sunwjit.
139179

140180
</blockquote>
181+
141182
<br>
142183

143184
<!--Compilation-->
@@ -149,21 +190,23 @@
149190

150191
Soot is already compiled in the distribution. To recompile Soot,
151192
we use the <tt> jams</tt> tool, a modified version of <tt>jam</tt> by Raffaele Sena.
152-
This is included in the <tt>soot-1.0.0/jams</tt> directory of the distribution. Invoking
153-
jams from the <tt>soot-1.0.0/soot</tt> will recompile Soot as necessary.
193+
This is included in the <tt>soot-1.2.0/jams</tt> directory of the distribution.
194+
Invoking jams from the <tt>soot-1.2.0/soot</tt> will recompile Soot as necessary.
195+
It may be tricky to compile both Soot and jasmin at the same time
196+
because of dependences. An easy way is to use the compiled jasmin
197+
when compiling Soot.
154198

199+
<p>
155200
NOTE: The Jimple parser is generated by <a href="http://www.sable.mcgill.ca/sablecc">SableCC</a>.
156-
It requires <tt> lexer.dat</tt> and <tt>parser.dat</tt> files to be in the classes directory;
157-
they are provided in the src directory. The following commands in the main
158-
Soot directory (<tt>soot-1.beta.6/soot</tt>) are required after a clean recompile.
159-
160-
<pre>
161-
$ cp src/soot/jimple/parser/parser/parser.dat \
162-
classes/soot/jimple/parser/parser
163-
$ cp src/soot/jimple/parser/lexer/lexer.dat \
164-
classes/soot/jimple/parser/parser
165-
</pre>
166-
201+
It requires <tt>lexer.dat</tt> and <tt>parser.dat</tt> files to be in the classes directory;
202+
they are provided in the src directory. Also, Soot uses peephole optimization to improve the
203+
generated bytecode. This requires the <tt>peephole.dat</tt> file be copied to
204+
the classes directory.
205+
206+
<p>
207+
If you have jams correctly set up, the `foo' target will copy these <tt>.dat</tt>
208+
files from the src/ directory to the classes/ directory. Use command `<tt>jams foo</tt>'.
209+
167210
</blockquote>
168211
<br>
169212

@@ -182,7 +225,7 @@
182225
href="http://www.sable.mcgill.ca/publications">conference papers</a>
183226
describing Soot.
184227

185-
<li>A set of <a href="http://www.sable.mcgill.ca/soot/tutorial">documents</a> describing Soot, both as a Java application optimizer and
228+
<li>A set of <a href="tutorial">documents</a> describing Soot, both as a Java application optimizer and
186229
as a compiler framework.
187230

188231
<li><a href="doc/index.html">The Soot API.</a> Most of the
@@ -231,8 +274,10 @@
231274

232275
<blockquote>
233276

234-
The official Soot maintainers are <a href="mailto:rvalleerai@sable.mcgill.ca"> Raja Vallee-Rai</a> and
235-
<a href="mailto:plam@sable.mcgill.ca">Patrick Lam</a>.
277+
The official Soot maintainers are
278+
<a href="mailto:rvalleerai@sable.mcgill.ca"> Raja Vallee-Rai</a>,
279+
<a href="mailto:plam@sable.mcgill.ca">Patrick Lam</a>, and
280+
<a href="mailto:fqian@sable.mcgill.ca">Feng Qian</a>.
236281

237282
<br>
238283
<br><b>Click <a href="./credits">here</a> for the complete list of contributors and acknowledgements.</b>
@@ -244,7 +289,7 @@
244289
<center>
245290
<blockquote>
246291

247-
<font face="Arial, Helvetica" size=-2> <i>Last updated on March 24, 2000</i><br></font>
292+
<font face="Arial, Helvetica" size=-2> <i>Last updated on Octumber 2, 2000</i><br></font>
248293

249294
</blockquote>
250295

src/soot/Main.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -546,7 +546,7 @@ public static void setAnnotationPhases(String opt)
546546
private static void printHelp()
547547
{
548548
// $Format: " System.out.println(\"Soot version 1.0.0 (build $ProjectVersion$)\");"$
549-
System.out.println("Soot version 1.0.0 (build 1.2.0.dev.3)");
549+
System.out.println("Soot version 1.0.0 (build 1.2.0.dev.4)");
550550
System.out.println("Copyright (C) 1997-2000 Raja Vallee-Rai (rvalleerai@sable.mcgill.ca).");
551551
System.out.println("All rights reserved.");
552552
System.out.println("");

0 commit comments

Comments
 (0)