jjenista [Fri, 20 May 2011 18:26:31 +0000 (18:26 +0000)]
allow Pointer to run for usual compilation modes... added a todo that points-to checks at runtime need some extra modeling for string literals added to Pointer before that system will work.
stephey [Fri, 20 May 2011 09:42:02 +0000 (09:42 +0000)]
Fixed import bug but some other issues now pop up:
1) make rcrpointer now crashes at processNode in Pointer.java starting at line 439. The switch statement encounters a FlatLiteralNode and doesn't know what to do with it.
2) We fail to parse Hashtable.java in the gnu labrary when using the -jni option. The line of code it fails at is "Hashtable.this.clear();". I can't seem to find any resources telling me what having a "this" midline means, so I can't fix it myself.
yeom [Thu, 19 May 2011 22:17:28 +0000 (22:17 +0000)]
changes.
jjenista [Wed, 18 May 2011 23:47:59 +0000 (23:47 +0000)]
bug fix: heap contexts for call sites were propgated from caller to callee incorrectly. A heap context should propagate from the caller to each possible callee at virtual dispatch... how did this ever work??
adash [Wed, 18 May 2011 23:41:20 +0000 (23:41 +0000)]
changes
yeom [Wed, 18 May 2011 23:34:37 +0000 (23:34 +0000)]
more changes.
adash [Wed, 18 May 2011 20:09:21 +0000 (20:09 +0000)]
new changes
yeom [Wed, 18 May 2011 18:59:14 +0000 (18:59 +0000)]
add more test cases: delta func and local variable lattice
yeom [Wed, 18 May 2011 18:58:09 +0000 (18:58 +0000)]
changes.
yeom [Wed, 18 May 2011 01:43:55 +0000 (01:43 +0000)]
changes to reflect ssjava design changes and temporarily remove some of ssjava class libraries until code revision is done
yeom [Wed, 18 May 2011 01:34:57 +0000 (01:34 +0000)]
updates ssjava test case to reflect recent changes
jzhou [Tue, 17 May 2011 00:11:46 +0000 (00:11 +0000)]
Fix bug in multicore gc
jjenista [Mon, 16 May 2011 22:32:57 +0000 (22:32 +0000)]
Create analysis model for string literals in disjointness analysis that supports checking allocation sites at runtime
adash [Mon, 16 May 2011 00:43:54 +0000 (00:43 +0000)]
new changes for getting results for TOPLAS
jjenista [Sat, 14 May 2011 00:33:14 +0000 (00:33 +0000)]
print allocation site when a points-to check fails to try and see what it should be
yeom [Fri, 13 May 2011 23:55:21 +0000 (23:55 +0000)]
take out all of ssjava stuff from state class and start re-organizing codes to reflect recent changes(separate lattices for fields and local vars, default lattice, ...)
jjenista [Fri, 13 May 2011 22:06:20 +0000 (22:06 +0000)]
model the allocation of string literals in heap analysis
jjenista [Fri, 13 May 2011 20:17:30 +0000 (20:17 +0000)]
this system checks heap results against runtime pointers to look for analysis bugs. It is currently missing that FlatLiteral nodes can allocation a new string object, coming in a future update.
jjenista [Fri, 13 May 2011 20:15:56 +0000 (20:15 +0000)]
isImmutable is used by the disjoint family of analyses and we added string because we know its immutable and wanted to decrease the size of reach graphs. To support the check-heap-results-versus-runtime system, go ahead a leave string out which is still a correct analysis but will also generate points-to information for a string and its byte array
jjenista [Fri, 13 May 2011 20:13:38 +0000 (20:13 +0000)]
print out brackets for array count to show humans
yeom [Fri, 13 May 2011 17:51:46 +0000 (17:51 +0000)]
decide not to have additional grammar to declare the location hierarchy.
all additional things for SSJava will be done using the standard Java annotation.
jzhou [Thu, 12 May 2011 22:59:20 +0000 (22:59 +0000)]
Now the cache adapt version works
jzhou [Thu, 12 May 2011 00:00:46 +0000 (00:00 +0000)]
Some code clean and make the cache adapt version compile
jjenista [Wed, 11 May 2011 21:29:50 +0000 (21:29 +0000)]
differentiate between analysis says something points-to nothing verus analysis doesn't care what something points-to
jjenista [Wed, 11 May 2011 21:27:12 +0000 (21:27 +0000)]
revert previous change: DROPPING THE GRUNGE HAMMER. :)
jjenista [Wed, 11 May 2011 21:16:36 +0000 (21:16 +0000)]
allow external systems to write a flatIR graph
jjenista [Wed, 11 May 2011 21:11:35 +0000 (21:11 +0000)]
show source code line numbers for this target
jjenista [Wed, 11 May 2011 17:59:18 +0000 (17:59 +0000)]
only do this if we are using oooj-style tasks after this analysis otherwise it crashes
jjenista [Wed, 11 May 2011 17:41:51 +0000 (17:41 +0000)]
did we just ignore the static field modifier before? How did OOOJ or DOJ work with static fields? In the case of labyrinth there is no need for fields in the top-level singleton class to be static
jjenista [Wed, 11 May 2011 17:40:46 +0000 (17:40 +0000)]
clean up points-to-check files properly
jzhou [Wed, 11 May 2011 01:20:49 +0000 (01:20 +0000)]
Code clean
jzhou [Tue, 10 May 2011 22:47:45 +0000 (22:47 +0000)]
Code clean
jzhou [Tue, 10 May 2011 22:05:30 +0000 (22:05 +0000)]
Small bug fix for SPECjbb. And the BAMBOO_ASSERT macro has been moved to runtime_arch.h under tilera directory. It does not need the error # any more
bdemsky [Tue, 10 May 2011 20:49:37 +0000 (20:49 +0000)]
let's avoid using pointer parameters when possible
jjenista [Tue, 10 May 2011 20:37:37 +0000 (20:37 +0000)]
New tool to check points-to results of a heap analysis against runtime pointers. Added an extension object system to BuildCode for this and future extensions.
jzhou [Tue, 10 May 2011 18:52:57 +0000 (18:52 +0000)]
Make SPECjbb compile again
jjenista [Tue, 10 May 2011 18:22:54 +0000 (18:22 +0000)]
imports are meaningful to compiler now
jzhou [Tue, 10 May 2011 17:57:28 +0000 (17:57 +0000)]
Bug fix
bdemsky [Tue, 10 May 2011 07:17:36 +0000 (07:17 +0000)]
code change
bdemsky [Tue, 10 May 2011 07:14:31 +0000 (07:14 +0000)]
oops...bug
bdemsky [Tue, 10 May 2011 06:27:25 +0000 (06:27 +0000)]
change enum & other fixes
bdemsky [Tue, 10 May 2011 06:26:32 +0000 (06:26 +0000)]
changes:
(1) use only header word to figure out length...
(2) figure out length using array lookup
jzhou [Tue, 10 May 2011 01:20:04 +0000 (01:20 +0000)]
More code clean
jzhou [Mon, 9 May 2011 23:50:54 +0000 (23:50 +0000)]
Code clean. Change BAMBOO_EXIT macro to print out file name and line #
bdemsky [Mon, 9 May 2011 04:32:35 +0000 (04:32 +0000)]
changes committed
bdemsky [Sat, 7 May 2011 06:38:39 +0000 (06:38 +0000)]
some cleaning up of code.... simplify many loops...fix some tabbing...
please get rid of globals when they aren't absolutely necessary....
think about how you can consolidate globals when possible also...
jzhou [Sat, 7 May 2011 00:52:52 +0000 (00:52 +0000)]
bug fix in multicore code
jjenista [Thu, 5 May 2011 22:48:52 +0000 (22:48 +0000)]
disjoint should work like pointer in that taints for DOJ have whereDefined initialized to null because taints can propagate across a backedge to the stallsite, for example, which can become the non-null whereDefined element of a new taint
jjenista [Thu, 5 May 2011 21:49:40 +0000 (21:49 +0000)]
an outstanding change to improve debugging of call sites
jzhou [Thu, 5 May 2011 17:17:06 +0000 (17:17 +0000)]
A small bug
jzhou [Thu, 5 May 2011 00:57:18 +0000 (00:57 +0000)]
Polish multicore code
yeom [Wed, 4 May 2011 00:43:40 +0000 (00:43 +0000)]
small changes: have a way to specify the location of "this".
jjenista [Tue, 3 May 2011 17:38:26 +0000 (17:38 +0000)]
allow debug reach graphs to show taints but supress node, edge AND taint predicates, and some other tiny debug changes
yeom [Tue, 3 May 2011 00:25:11 +0000 (00:25 +0000)]
changes.
yeom [Fri, 29 Apr 2011 23:42:00 +0000 (23:42 +0000)]
changes: now, the annotated SSJava class library passes the flow-down rule checking.
jjenista [Thu, 28 Apr 2011 22:58:29 +0000 (22:58 +0000)]
improve call site debugging for disjoint
jjenista [Thu, 28 Apr 2011 21:32:09 +0000 (21:32 +0000)]
the new compiler mode in buildscript SSJAVA needed an SSJAVA=false at the top, also indented classpath logic so we can figure out what is being selected
jjenista [Thu, 28 Apr 2011 21:30:56 +0000 (21:30 +0000)]
Let end user see what classpath was selected.
yeom [Thu, 28 Apr 2011 20:45:32 +0000 (20:45 +0000)]
Jim found that three class files of java_cup.runtime have different Java version number(50.0, not 49.0). this change keeps all of class files of JavaCUP as version 49.0
jjenista [Thu, 28 Apr 2011 18:02:42 +0000 (18:02 +0000)]
run ooojava and rcrpointer that print out effects and annotate them with the source code line they come from
jjenista [Thu, 28 Apr 2011 18:00:55 +0000 (18:00 +0000)]
change the debug mode for capturing null dereference to a global compilar option
yeom [Wed, 27 Apr 2011 23:54:45 +0000 (23:54 +0000)]
changes to get the tiny class library for ssjava
yeom [Wed, 27 Apr 2011 21:30:06 +0000 (21:30 +0000)]
extends the location hierarchy definition grammar.
while working on annotating ssjava class library, realize the need to have a way to keep only one location(with top and bottom) in the local hierarchy.
bdemsky [Wed, 27 Apr 2011 20:51:40 +0000 (20:51 +0000)]
switch to spaces only..
bdemsky [Wed, 27 Apr 2011 20:34:28 +0000 (20:34 +0000)]
Fix tabbing.... Please fix your editors so they do tabbing correctly!!! (Spaces only, two spaces)
yeom [Wed, 27 Apr 2011 18:42:06 +0000 (18:42 +0000)]
change
yeom [Wed, 27 Apr 2011 18:16:03 +0000 (18:16 +0000)]
attempts to have ssjava's own class library. starting from tiny class library: Object, String, Enumeratioin, System. the beginning seems to be humble, but the future will be prosperous :)
yeom [Wed, 27 Apr 2011 02:00:10 +0000 (02:00 +0000)]
Extends the grammar to include the annotation type declaration. The current impl only supports marker and single annotation declaration.
Annotation type is represented by class descriptor since annotation type declaration is a special kind of interface declaration. Later, we need to implement semantic checkings for annotations.
yeom [Tue, 26 Apr 2011 22:44:26 +0000 (22:44 +0000)]
has a hack on java_cup parser generator: divides a gigantic do_action method into halves since Java doesn't allow a method bigger than 64K"
bdemsky [Tue, 26 Apr 2011 22:15:30 +0000 (22:15 +0000)]
changes
bdemsky [Tue, 26 Apr 2011 21:58:05 +0000 (21:58 +0000)]
fix bug...
bdemsky [Tue, 26 Apr 2011 20:51:36 +0000 (20:51 +0000)]
revert yeom's checkin...
yeom [Tue, 26 Apr 2011 19:10:01 +0000 (19:10 +0000)]
first step to reduce the size of grammar as we have an issue of Java Bytecode 64K limitation.
stephey [Tue, 26 Apr 2011 09:19:47 +0000 (09:19 +0000)]
Changes.
stephey [Tue, 26 Apr 2011 00:51:56 +0000 (00:51 +0000)]
Don't include java.lang in non-jni builds.. and someone forgot a void in our Vector ensureCapacity declaration........
yeom [Tue, 26 Apr 2011 00:44:47 +0000 (00:44 +0000)]
add another test case for ssjava:
trying to put annotations on mp3 decoder source codes using the current ssjava scheme.
jjenista [Mon, 25 Apr 2011 23:23:43 +0000 (23:23 +0000)]
update the way this analysis visits every method reachable from program entry
bdemsky [Mon, 25 Apr 2011 23:14:38 +0000 (23:14 +0000)]
fix bug...
bdemsky [Mon, 25 Apr 2011 22:59:58 +0000 (22:59 +0000)]
nasty bug...
stephey [Sun, 24 Apr 2011 07:23:33 +0000 (07:23 +0000)]
Refactored the multiimport code so that it looks nicer and added java.lang as a default multiimport as well. Now Brian's test file crashes at parsing Hashmap (invalid character).
Still no support for importing a class within a class though
stephey [Sat, 23 Apr 2011 15:55:30 +0000 (15:55 +0000)]
Fixes. Almost everything works (but still no importing subclass support).
JNI compilation on Brian's test file still fails, HOWEVER I believe it's because /classpath/java/lang/ should be added into our state.classpaths vector. This should be true because Java automatically imports java.lang.* in every file, so it's essentially like having it as a class path.
I've left 1 System.out.println statement in extra to help trace which files are trying to find which files. When I look at the one I'm currently crashing on, I see that there is indeed no Class.java file in its package and it doesn't import it anywhere.
yeom [Sat, 23 Apr 2011 00:52:19 +0000 (00:52 +0000)]
extends grammar little more to have the break statement with label
yeom [Sat, 23 Apr 2011 00:51:14 +0000 (00:51 +0000)]
interim changes: ssjava will have its own class library, not relying on Java Class Library
yeom [Sat, 23 Apr 2011 00:49:37 +0000 (00:49 +0000)]
get rid of isClassLibrary method
jzhou [Fri, 22 Apr 2011 16:14:47 +0000 (16:14 +0000)]
Some goal files for the unit tests
stephey [Fri, 22 Apr 2011 08:38:18 +0000 (08:38 +0000)]
Updated to support being able to do calls such as package1.package2.class abc = new package1.package2.class(); without an explicit import. However, we still do not support importing a class within a class yet.
P.S. Someone forgot to checkin a TryCatchTest.output.goal
stephey [Fri, 22 Apr 2011 08:20:39 +0000 (08:20 +0000)]
Changes so that internally on the analysis side, classesnames are still package1.package2.classname instead of using ___________ for the .'s
yeom [Fri, 22 Apr 2011 01:08:26 +0000 (01:08 +0000)]
changes: make location an extension of type descriptor and have an additional mapping from Flatnode to labeled statement. Note that the labeled statement might be handled differently when Sonny implements continue/break with labels
stephey [Thu, 21 Apr 2011 23:40:14 +0000 (23:40 +0000)]
Fixes so that our unit tests now pass. Single and multi imports currently only work on .java file classes (i.e. no internal classes). Packages work more than 1 layer deep now.
TODO: Add support for importing subclasses
Add support for implicit imports (i.e. dir1.dir2.obj o = new dir1.dir2.obj(); calls).
P.S. Jin told me to put in the .goal file
yeom [Thu, 21 Apr 2011 23:32:34 +0000 (23:32 +0000)]
changes: having an extension field in the type descriptor
bdemsky [Thu, 21 Apr 2011 22:25:39 +0000 (22:25 +0000)]
small changes...
bdemsky [Thu, 21 Apr 2011 15:46:12 +0000 (15:46 +0000)]
missing files
stephey [Thu, 21 Apr 2011 09:15:39 +0000 (09:15 +0000)]
The compiler is BROKEN, but it's NOT MY FAULT. I think Brian forgot to check in something. Anyway, now my code can do single imports and on demand multi-imports.
KNOWN PROBLEM: The package declarations can go only 1 level deep.. this means that imports would only work 1 level deep as well (but the logic for it is all correct). I think the problem lies in the .cup file... When I get the name of a package, I only get the last thing in the list of something.something.something.last.class when I ask for the package. I'll check it out later.
bdemsky [Thu, 21 Apr 2011 08:59:10 +0000 (08:59 +0000)]
rest of new build strategrest of new build strategyy
bdemsky [Thu, 21 Apr 2011 08:58:27 +0000 (08:58 +0000)]
changes
jzhou [Thu, 21 Apr 2011 01:26:49 +0000 (01:26 +0000)]
Bug fixes for multicore gc
jjenista [Thu, 21 Apr 2011 00:08:03 +0000 (00:08 +0000)]
better implementation of this
jjenista [Wed, 20 Apr 2011 23:46:41 +0000 (23:46 +0000)]
a new field has been added to the standard object layout, shifting the access for oid
bdemsky [Wed, 20 Apr 2011 22:54:59 +0000 (22:54 +0000)]
changes to work with imports...
bdemsky [Wed, 20 Apr 2011 22:39:55 +0000 (22:39 +0000)]
changes to make sure that i don't step on stephen's work on imports...