bdemsky [Sat, 19 Mar 2011 00:55:37 +0000 (00:55 +0000)]
changes...extra accessible analysis
jzhou [Sat, 19 Mar 2011 00:18:11 +0000 (00:18 +0000)]
Fix bug for MGC garbage collection
jjenista [Fri, 18 Mar 2011 21:14:45 +0000 (21:14 +0000)]
changing to new traversers/examiners
bdemsky [Fri, 18 Mar 2011 21:14:12 +0000 (21:14 +0000)]
more bug fixes
bdemsky [Fri, 18 Mar 2011 09:47:08 +0000 (09:47 +0000)]
more changes...
bdemsky [Fri, 18 Mar 2011 08:53:34 +0000 (08:53 +0000)]
changes
bdemsky [Fri, 18 Mar 2011 08:37:57 +0000 (08:37 +0000)]
more changes
bdemsky [Fri, 18 Mar 2011 08:37:40 +0000 (08:37 +0000)]
add rcr-pointer option
bdemsky [Fri, 18 Mar 2011 08:32:33 +0000 (08:32 +0000)]
commit hacks to effect analysis...interfaces to allow disjoint/pointer analysis to be exchanged
bdemsky [Fri, 18 Mar 2011 05:23:19 +0000 (05:23 +0000)]
Patch in effects analysis hooks....have to add new accessor methods...add interface for allocsite...
bdemsky [Fri, 18 Mar 2011 01:40:40 +0000 (01:40 +0000)]
need to decouple effects from AllocSite
yeom [Fri, 18 Mar 2011 00:17:01 +0000 (00:17 +0000)]
a new compiler flag, "-printlinenum", has been added to print out line numbers in the generated C codes
jzhou [Fri, 18 Mar 2011 00:13:10 +0000 (00:13 +0000)]
Remove compilation errors for MGC code with gc
bdemsky [Fri, 18 Mar 2011 00:01:17 +0000 (00:01 +0000)]
my changes
yeom [Thu, 17 Mar 2011 19:18:55 +0000 (19:18 +0000)]
changes: propagating line number references to flatnodes
bdemsky [Thu, 17 Mar 2011 10:01:18 +0000 (10:01 +0000)]
more changes...
bdemsky [Thu, 17 Mar 2011 07:42:02 +0000 (07:42 +0000)]
more changes...do node-based taints...taint edges...change taintset...
bdemsky [Thu, 17 Mar 2011 05:44:05 +0000 (05:44 +0000)]
compiling again...
yeom [Thu, 17 Mar 2011 01:39:34 +0000 (01:39 +0000)]
keep the current snapshot before making further changes.
jzhou [Thu, 17 Mar 2011 00:49:19 +0000 (00:49 +0000)]
Fix compilation problems for multicore code
bdemsky [Thu, 17 Mar 2011 00:26:38 +0000 (00:26 +0000)]
changes towards taints
yeom [Wed, 16 Mar 2011 23:41:46 +0000 (23:41 +0000)]
changes on the java grammar. the line number of a source code propagates to the ParserNode
jzhou [Wed, 16 Mar 2011 23:18:16 +0000 (23:18 +0000)]
Bug fix. Now the SPECjbb2005 can run with small workload that does not invoke gc
bdemsky [Wed, 16 Mar 2011 22:56:56 +0000 (22:56 +0000)]
pushing changes
bdemsky [Wed, 16 Mar 2011 19:14:06 +0000 (19:14 +0000)]
starting towards taints
bdemsky [Tue, 15 Mar 2011 10:45:12 +0000 (10:45 +0000)]
bug fix...can now analyze specjbb...~44,000 lines of source code files in 42 seconds...
bdemsky [Tue, 15 Mar 2011 10:26:57 +0000 (10:26 +0000)]
small hacks to speed up stuff...don't compute graphs for primitive field read/writes...just reuse other graphs that are the same
bdemsky [Tue, 15 Mar 2011 09:53:19 +0000 (09:53 +0000)]
bug fixes for the day....lots of them
yeom [Tue, 15 Mar 2011 02:05:04 +0000 (02:05 +0000)]
refactoring the lattice implementation / having a way to declare the variable with delta locations(declared by using single-value annotation) / working on comparison of single,composite, and delta locations.
jzhou [Tue, 15 Mar 2011 00:10:53 +0000 (00:10 +0000)]
Fix bug for synchronized blocks. Inside a synchronized block, there could have return statements. Need to make sure that the locks grabbed should have been released before these return statements execute
bdemsky [Mon, 14 Mar 2011 02:26:47 +0000 (02:26 +0000)]
bug fix
bdemsky [Mon, 14 Mar 2011 02:26:34 +0000 (02:26 +0000)]
lots of bugs
jzhou [Sat, 12 Mar 2011 00:40:03 +0000 (00:40 +0000)]
Fix bug in Class Library
jjenista [Fri, 11 Mar 2011 23:20:52 +0000 (23:20 +0000)]
bug fixes
jjenista [Fri, 11 Mar 2011 22:15:56 +0000 (22:15 +0000)]
put together parts of DFJ that assumed we did not know the interprocedural parent set of a given task
bdemsky [Fri, 11 Mar 2011 07:34:02 +0000 (07:34 +0000)]
running on some benchmarks....
bdemsky [Fri, 11 Mar 2011 06:51:27 +0000 (06:51 +0000)]
another benchmark working
bdemsky [Fri, 11 Mar 2011 06:31:55 +0000 (06:31 +0000)]
a few more bugs fixed...lots of debug code
jjenista [Thu, 10 Mar 2011 23:02:35 +0000 (23:02 +0000)]
public interface for the later compiler phases
jjenista [Thu, 10 Mar 2011 22:12:05 +0000 (22:12 +0000)]
state machines for traverers seem to be working for small examples
bdemsky [Thu, 10 Mar 2011 09:46:04 +0000 (09:46 +0000)]
more bug fixes...
bdemsky [Thu, 10 Mar 2011 09:23:17 +0000 (09:23 +0000)]
even more bug fixes...3 test cases work
bdemsky [Thu, 10 Mar 2011 08:13:27 +0000 (08:13 +0000)]
more bug fixes...two examples working
bdemsky [Thu, 10 Mar 2011 07:40:55 +0000 (07:40 +0000)]
bug fixes...
jzhou [Thu, 10 Mar 2011 03:09:09 +0000 (03:09 +0000)]
Fix a bug of field initialization. Previously the field initializations are done in a reverse definition order. This could cause problem when a field's initialization depends on another fields initialization. As in the Java language specification, it is only specified that a instance field's initialization should be before its first usage in the field initializations, we simply change to do the field initializations in the same order as they are defined
bdemsky [Thu, 10 Mar 2011 02:10:12 +0000 (02:10 +0000)]
bug fixes
bdemsky [Wed, 9 Mar 2011 23:29:37 +0000 (23:29 +0000)]
changes
bdemsky [Wed, 9 Mar 2011 21:54:19 +0000 (21:54 +0000)]
changes
jzhou [Sun, 6 Mar 2011 01:56:03 +0000 (01:56 +0000)]
Fix bugs in Class Library
jzhou [Sun, 6 Mar 2011 00:24:45 +0000 (00:24 +0000)]
Shrink the size of the final binary. If it is too large it will have problem executing on Tilera. We compress the virtual dispatch table: we use one row to represent the methods defined in interfaces that have the same prototype; and we do not generate colums for interfaces as there can not be instances of interfaces. Moreover, we do not generate methods that are never invoked.
yeom [Sat, 5 Mar 2011 00:44:10 +0000 (00:44 +0000)]
introduce new flag -ssjava for enabling SSJava feature and start working on the implementation of flow-down rule checking plus minor updates.
jjenista [Sat, 5 Mar 2011 00:02:19 +0000 (00:02 +0000)]
more code for state machines in dfj traversers
jjenista [Fri, 4 Mar 2011 23:10:03 +0000 (23:10 +0000)]
extend taints for a new mode in DFJ that helps build the state machine traversers
jjenista [Fri, 4 Mar 2011 23:09:19 +0000 (23:09 +0000)]
a tiny example to show if the state machines are working
jjenista [Fri, 4 Mar 2011 23:08:40 +0000 (23:08 +0000)]
add a second task to generate conflicts
bdemsky [Fri, 4 Mar 2011 07:15:39 +0000 (07:15 +0000)]
changes
jzhou [Fri, 4 Mar 2011 02:30:57 +0000 (02:30 +0000)]
Fix bugs for interfaces. \n\nFor methods declared in interfaces, there always need virtual dispatch.\n\n The other bug is that previously the method numbering strategy always start from 0 when numbering a class'es method. When there are no interfaces, all classes form a tree with Object as the root and the numbering works fine. But with interfaces, the inherit hierachy would no longer be a tree and there will have serious problems. #0 would be always assigned to some method of Object and every interfaces. If a Class implements any interfaces, it would have at least two methods with #0 and it would only be able to access one of it and lose the others. Also we need to make sure that each method of a interface should have a distinguished number so that when a class implements multiple interfaces, it would not lose access of any of the methods defined in the interfaces. So when numbering the methods in Virtual, we first numbering all the methods in the interfaces and give them a distinguished number. Then we numbering the classes and start from the following number. As interfaces could have methods with the same name, a method in a class could match multiple entries in its super interfaces/classes. We record all these entries in order to fill in the virtual table correctly
yeom [Thu, 3 Mar 2011 19:33:42 +0000 (19:33 +0000)]
add grammar for the definition of location hierarchy. location hierarchy is stored in the lattice data structure. class descriptor has a lattice object since each class maintains its own location hierarchy,
jjenista [Thu, 3 Mar 2011 19:33:29 +0000 (19:33 +0000)]
a functioning test program for stephen that produces a bad traverser for current dfj system
jjenista [Thu, 3 Mar 2011 18:31:32 +0000 (18:31 +0000)]
a test case showing a bug in disjoint analysis basic points-to stuff
bdemsky [Thu, 3 Mar 2011 09:10:19 +0000 (09:10 +0000)]
more code changes
jzhou [Thu, 3 Mar 2011 02:44:16 +0000 (02:44 +0000)]
Add unit tests for Abstract class support, Enum type support, Field Initializer support, Interface support, Static inner class support, static field/block support, switch-case statement support, and try-catch support
jzhou [Thu, 3 Mar 2011 02:19:59 +0000 (02:19 +0000)]
Remove commented out code
bdemsky [Thu, 3 Mar 2011 02:08:11 +0000 (02:08 +0000)]
changes
jzhou [Thu, 3 Mar 2011 02:07:49 +0000 (02:07 +0000)]
Fix bugs for interfaces and a bug in the Class library
bdemsky [Thu, 3 Mar 2011 01:56:17 +0000 (01:56 +0000)]
more changes
bdemsky [Wed, 2 Mar 2011 23:20:17 +0000 (23:20 +0000)]
more code cleanup
bdemsky [Wed, 2 Mar 2011 22:53:45 +0000 (22:53 +0000)]
code cleanup
bdemsky [Wed, 2 Mar 2011 22:05:52 +0000 (22:05 +0000)]
changes towards making this work
jzhou [Wed, 2 Mar 2011 19:29:10 +0000 (19:29 +0000)]
A small bug for Enum
jzhou [Wed, 2 Mar 2011 19:28:38 +0000 (19:28 +0000)]
Fix the field name for object.c and thread.c, there are no Class name prefix anymore
jzhou [Wed, 2 Mar 2011 00:42:13 +0000 (00:42 +0000)]
Fix bugs for static fields/blocks and instanceof operation. To effectively support static fields/blocks, we need to generate a special version for methods that could be invoked in static blocks or when initializing static fields. In the special version, if there are classes with static fields/blocks are involved, we'll check if the static fields have been initialized and if the static blocks have been executed. Previously we misused C micros to implement this(MGC_STATIC_INIT_CHECK). Now we remove this wrong macro and generate the required special version. For instanceof operation, we fix two bugs. One is that previously we did not take interfaces into consider and the other is that in the instanceof(struct Object *, int) function we did not check if the Object is NULL or not. If the Object is NULL, we shall always return false.
yeom [Tue, 1 Mar 2011 22:49:11 +0000 (22:49 +0000)]
add annotation descriptor. type descriptor is responsible for keeping corresponding annotations.
bdemsky [Tue, 1 Mar 2011 05:39:54 +0000 (05:39 +0000)]
changes...
yeom [Tue, 1 Mar 2011 01:48:09 +0000 (01:48 +0000)]
add java 1.5 annotation grammar for all types of annotation(marker, single value, and value pairs) but the current implementation only supports marker annotations which have no variables, just the annotation name.
bdemsky [Mon, 28 Feb 2011 21:48:36 +0000 (21:48 +0000)]
missing include
bdemsky [Mon, 28 Feb 2011 06:45:25 +0000 (06:45 +0000)]
changes
bdemsky [Mon, 28 Feb 2011 05:15:56 +0000 (05:15 +0000)]
changes
bdemsky [Mon, 28 Feb 2011 05:07:05 +0000 (05:07 +0000)]
add garbage collector support...
bdemsky [Mon, 28 Feb 2011 04:52:09 +0000 (04:52 +0000)]
setup globals as a garbagelist...split primitives into separate file
bdemsky [Mon, 28 Feb 2011 04:39:52 +0000 (04:39 +0000)]
work towards turning MGC enhancements on all the time
jzhou [Sat, 26 Feb 2011 02:53:46 +0000 (02:53 +0000)]
Remove the extra copy of static field in the object structures and change the classobj in global_defs_p as pointers. Also take interfaces into consider when do instanceof check in MGC runtime. There are still bugs to check instanceof for arrays
bdemsky [Sat, 26 Feb 2011 00:49:58 +0000 (00:49 +0000)]
tabbing
bdemsky [Sat, 26 Feb 2011 00:41:54 +0000 (00:41 +0000)]
big code reorg...get TM out of buildcode
jzhou [Sat, 26 Feb 2011 00:28:37 +0000 (00:28 +0000)]
My changes to add interface affect to FieldShadow
jzhou [Fri, 25 Feb 2011 19:39:33 +0000 (19:39 +0000)]
Make new field naming strategy work for MGC
bdemsky [Fri, 25 Feb 2011 01:26:17 +0000 (01:26 +0000)]
make static fields work
bdemsky [Fri, 25 Feb 2011 01:24:46 +0000 (01:24 +0000)]
commit bug fix
bdemsky [Fri, 25 Feb 2011 01:15:48 +0000 (01:15 +0000)]
fix tabbing
bdemsky [Fri, 25 Feb 2011 01:12:31 +0000 (01:12 +0000)]
throw away commented code
bdemsky [Fri, 25 Feb 2011 01:06:18 +0000 (01:06 +0000)]
rename a few fields
bdemsky [Fri, 25 Feb 2011 01:05:41 +0000 (01:05 +0000)]
make field shadowing work
bdemsky [Fri, 25 Feb 2011 01:00:44 +0000 (01:00 +0000)]
changes
bdemsky [Fri, 25 Feb 2011 00:51:21 +0000 (00:51 +0000)]
change
bdemsky [Fri, 25 Feb 2011 00:50:30 +0000 (00:50 +0000)]
bug fix
bdemsky [Fri, 25 Feb 2011 00:45:44 +0000 (00:45 +0000)]
rename field names
bdemsky [Fri, 25 Feb 2011 00:42:59 +0000 (00:42 +0000)]
new approach to field shadowing
bdemsky [Fri, 25 Feb 2011 00:22:36 +0000 (00:22 +0000)]
changes
jzhou [Thu, 24 Feb 2011 20:09:26 +0000 (20:09 +0000)]
Fix a bug of default constructor: the default constructor should construct the super class if there is any and also initialize the fields with initializers.
jzhou [Thu, 24 Feb 2011 01:04:32 +0000 (01:04 +0000)]
Fix a shadow field related bug in the compiler. Defined in Java language specification, if the class declares a field with a certain name, then the declaration of that field is said to hide any and all accessible declarations of fields with the same name in superclasses, and superinterfaces of the class. However, the hidden fields in superclasses or superinterfaces can still be accessed by using a qualified name (if it is static) or by using a field access expression that contains the keyword super or a cast to a superclass type. Previously, our compiler simply discarded all the hidden fields so that the hidden fields can never be accessed. Now we maitain all the fields including the hidden ones. We prefix the name of the class that defines the field to the field's name to differentiate the shadow field and the hidden fields. Some of the hard coded fields dereference in the Runtime C code are fixed accordingly. Now the unit tests, multicore benchmarks and oooJava related benchmarks are checked to be OK. But (D)STM related Runtime code are NOT checked yet.