IRC.git
13 years agoa tiny example to show if the state machines are working
jjenista [Fri, 4 Mar 2011 23:09:19 +0000 (23:09 +0000)]
a tiny example to show if the state machines are working

13 years agoadd a second task to generate conflicts
jjenista [Fri, 4 Mar 2011 23:08:40 +0000 (23:08 +0000)]
add a second task to generate conflicts

13 years agochanges
bdemsky [Fri, 4 Mar 2011 07:15:39 +0000 (07:15 +0000)]
changes

13 years agoFix bugs for interfaces. \n\nFor methods declared in interfaces, there always need...
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

13 years agoadd grammar for the definition of location hierarchy. location hierarchy is stored...
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,

13 years agoa functioning test program for stephen that produces a bad traverser for current...
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

13 years agoa test case showing a bug in disjoint analysis basic points-to stuff
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

13 years agomore code changes
bdemsky [Thu, 3 Mar 2011 09:10:19 +0000 (09:10 +0000)]
more code changes

13 years agoAdd unit tests for Abstract class support, Enum type support, Field Initializer suppo...
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

13 years agoRemove commented out code
jzhou [Thu, 3 Mar 2011 02:19:59 +0000 (02:19 +0000)]
Remove commented out code

13 years agochanges
bdemsky [Thu, 3 Mar 2011 02:08:11 +0000 (02:08 +0000)]
changes

13 years agoFix bugs for interfaces and a bug in the Class library
jzhou [Thu, 3 Mar 2011 02:07:49 +0000 (02:07 +0000)]
Fix bugs for interfaces and a bug in the Class library

13 years agomore changes
bdemsky [Thu, 3 Mar 2011 01:56:17 +0000 (01:56 +0000)]
more changes

13 years agomore code cleanup
bdemsky [Wed, 2 Mar 2011 23:20:17 +0000 (23:20 +0000)]
more code cleanup

13 years agocode cleanup
bdemsky [Wed, 2 Mar 2011 22:53:45 +0000 (22:53 +0000)]
code cleanup

13 years agochanges towards making this work
bdemsky [Wed, 2 Mar 2011 22:05:52 +0000 (22:05 +0000)]
changes towards making this work

13 years agoA small bug for Enum
jzhou [Wed, 2 Mar 2011 19:29:10 +0000 (19:29 +0000)]
A small bug for Enum

13 years agoFix the field name for object.c and thread.c, there are no Class name prefix anymore
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

13 years agoFix bugs for static fields/blocks and instanceof operation. To effectively support...
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.

13 years agoadd annotation descriptor. type descriptor is responsible for keeping corresponding...
yeom [Tue, 1 Mar 2011 22:49:11 +0000 (22:49 +0000)]
add annotation descriptor. type descriptor is responsible for keeping corresponding annotations.

13 years agochanges...
bdemsky [Tue, 1 Mar 2011 05:39:54 +0000 (05:39 +0000)]
changes...

13 years agoadd java 1.5 annotation grammar for all types of annotation(marker, single value...
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.

13 years agomissing include
bdemsky [Mon, 28 Feb 2011 21:48:36 +0000 (21:48 +0000)]
missing include

13 years agochanges
bdemsky [Mon, 28 Feb 2011 06:45:25 +0000 (06:45 +0000)]
changes

13 years agochanges
bdemsky [Mon, 28 Feb 2011 05:15:56 +0000 (05:15 +0000)]
changes

13 years agoadd garbage collector support...
bdemsky [Mon, 28 Feb 2011 05:07:05 +0000 (05:07 +0000)]
add garbage collector support...

13 years agosetup globals as a garbagelist...split primitives into separate file
bdemsky [Mon, 28 Feb 2011 04:52:09 +0000 (04:52 +0000)]
setup globals as a garbagelist...split primitives into separate file

13 years agowork towards turning MGC enhancements on all the time
bdemsky [Mon, 28 Feb 2011 04:39:52 +0000 (04:39 +0000)]
work towards turning MGC enhancements on all the time

13 years agoRemove the extra copy of static field in the object structures and change the classob...
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

13 years agotabbing
bdemsky [Sat, 26 Feb 2011 00:49:58 +0000 (00:49 +0000)]
tabbing

13 years agobig code reorg...get TM out of buildcode
bdemsky [Sat, 26 Feb 2011 00:41:54 +0000 (00:41 +0000)]
big code reorg...get TM out of buildcode

13 years agoMy changes to add interface affect to FieldShadow
jzhou [Sat, 26 Feb 2011 00:28:37 +0000 (00:28 +0000)]
My changes to add interface affect to FieldShadow

13 years agoMake new field naming strategy work for MGC
jzhou [Fri, 25 Feb 2011 19:39:33 +0000 (19:39 +0000)]
Make new field naming strategy work for MGC

13 years agomake static fields work
bdemsky [Fri, 25 Feb 2011 01:26:17 +0000 (01:26 +0000)]
make static fields work

13 years agocommit bug fix
bdemsky [Fri, 25 Feb 2011 01:24:46 +0000 (01:24 +0000)]
commit bug fix

13 years agofix tabbing
bdemsky [Fri, 25 Feb 2011 01:15:48 +0000 (01:15 +0000)]
fix tabbing

13 years agothrow away commented code
bdemsky [Fri, 25 Feb 2011 01:12:31 +0000 (01:12 +0000)]
throw away commented code

13 years agorename a few fields
bdemsky [Fri, 25 Feb 2011 01:06:18 +0000 (01:06 +0000)]
rename a few fields

13 years agomake field shadowing work
bdemsky [Fri, 25 Feb 2011 01:05:41 +0000 (01:05 +0000)]
make field shadowing work

13 years agochanges
bdemsky [Fri, 25 Feb 2011 01:00:44 +0000 (01:00 +0000)]
changes

13 years agochange
bdemsky [Fri, 25 Feb 2011 00:51:21 +0000 (00:51 +0000)]
change

13 years agobug fix
bdemsky [Fri, 25 Feb 2011 00:50:30 +0000 (00:50 +0000)]
bug fix

13 years agorename field names
bdemsky [Fri, 25 Feb 2011 00:45:44 +0000 (00:45 +0000)]
rename field names

13 years agonew approach to field shadowing
bdemsky [Fri, 25 Feb 2011 00:42:59 +0000 (00:42 +0000)]
new approach to field shadowing

13 years agochanges
bdemsky [Fri, 25 Feb 2011 00:22:36 +0000 (00:22 +0000)]
changes

13 years agoFix a bug of default constructor: the default constructor should construct the super...
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.

13 years agoFix a shadow field related bug in the compiler. Defined in Java language specificatio...
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.

13 years agoAdd some runtime support for MGC
jzhou [Sat, 19 Feb 2011 00:55:50 +0000 (00:55 +0000)]
Add some runtime support for MGC

13 years agoBug fix in array initialization: handle the special case like {{null,null}}
jzhou [Fri, 18 Feb 2011 18:53:13 +0000 (18:53 +0000)]
Bug fix in array initialization: handle the special case like {{null,null}}

13 years agoBug fixes for MGC
jzhou [Fri, 18 Feb 2011 01:45:00 +0000 (01:45 +0000)]
Bug fixes for MGC

13 years agoUpdates of the class library for MGC
jzhou [Fri, 18 Feb 2011 01:32:38 +0000 (01:32 +0000)]
Updates of the class library for MGC

13 years agosome bug fix
jzhou [Sat, 12 Feb 2011 00:43:15 +0000 (00:43 +0000)]
some bug fix

13 years agoMake special MGC versions of some library class like HashMap and Vector etc. to avoid...
jzhou [Sat, 12 Feb 2011 00:40:45 +0000 (00:40 +0000)]
Make special MGC versions of some library class like HashMap and Vector etc. to avoid braking compilation of non-MGC build

13 years ago*** empty log message ***
jzhou [Sat, 12 Feb 2011 00:14:54 +0000 (00:14 +0000)]
*** empty log message ***

13 years agoMore class library support for SPECjbb
jzhou [Sat, 12 Feb 2011 00:06:13 +0000 (00:06 +0000)]
More class library support for SPECjbb

13 years agoAs static blocks is compiled as a method without returntype, previous isConstructor...
jzhou [Fri, 4 Feb 2011 01:43:36 +0000 (01:43 +0000)]
As static blocks is compiled as a method without returntype, previous isConstructor check should be updated

13 years agoClass library for SPECjbb
jzhou [Fri, 4 Feb 2011 01:36:33 +0000 (01:36 +0000)]
Class library for SPECjbb

13 years agotake pointer analysis out of the build for now
bdemsky [Fri, 4 Feb 2011 01:05:05 +0000 (01:05 +0000)]
take pointer analysis out of the build for now

13 years agoimprove code gen to omit empty switch cases for stall sites
jjenista [Fri, 4 Feb 2011 01:02:49 +0000 (01:02 +0000)]
improve code gen to omit empty switch cases for stall sites

13 years agoRoll back to use the simple Class constructor to support class lock. Fix a bug for...
jzhou [Fri, 4 Feb 2011 00:47:47 +0000 (00:47 +0000)]
Roll back to use the simple Class constructor to support class lock.  Fix a bug for static field initialization: the initialization of a static field was invoked each time the field is used. The initialization of a static field should be invoked only once and be invoked before it is used. To simplify the implementation, we create a static block to contain the initializations of all the static fields of a class and invoke this static block at the beginning of the main method.

13 years agochanges
bdemsky [Fri, 4 Feb 2011 00:23:00 +0000 (00:23 +0000)]
changes

13 years agofixing bugs from task code cleanup
jjenista [Thu, 3 Feb 2011 23:07:40 +0000 (23:07 +0000)]
fixing bugs from task code cleanup

13 years agoThis is a compile-stable update of OoOJava code, there are almost certainly bugs...
jjenista [Thu, 3 Feb 2011 22:15:00 +0000 (22:15 +0000)]
This is a compile-stable update of OoOJava code, there are almost certainly bugs lurking...

13 years agobringing ooojava code gen around, some todos still to work out
jjenista [Thu, 3 Feb 2011 08:33:30 +0000 (08:33 +0000)]
bringing ooojava code gen around, some todos still to work out

13 years agoBuildCode, with the monkey of OoOJava off its back
jjenista [Wed, 2 Feb 2011 22:06:41 +0000 (22:06 +0000)]
BuildCode, with the monkey of OoOJava off its back

13 years agobringing analysis up to clean model, buildcode is left
jjenista [Tue, 1 Feb 2011 20:28:31 +0000 (20:28 +0000)]
bringing analysis up to clean model, buildcode is left

13 years agostarting to get into memory conflicts where cleaned up task model has more impact
jjenista [Tue, 1 Feb 2011 16:38:28 +0000 (16:38 +0000)]
starting to get into memory conflicts where cleaned up task model has more impact

13 years agohonor the easy request of suppressing output for the disjoint reach pass that is...
jjenista [Tue, 1 Feb 2011 00:54:30 +0000 (00:54 +0000)]
honor the easy request of suppressing output for the disjoint reach pass that is the points-to only pass

13 years agopushing cleaned code further through analyses...
jjenista [Tue, 1 Feb 2011 00:46:30 +0000 (00:46 +0000)]
pushing cleaned code further through analyses...

13 years agoclean Pointer classes
jjenista [Mon, 31 Jan 2011 23:41:31 +0000 (23:41 +0000)]
clean Pointer classes

13 years agocleaning up OoOJava and related systems, touching lots of files, these systems are...
jjenista [Mon, 31 Jan 2011 21:31:44 +0000 (21:31 +0000)]
cleaning up OoOJava and related systems, touching lots of files, these systems are PARTIALLY updated, the system is stable but won't compile user programs correctly until fully updated

13 years agomore changes...
bdemsky [Fri, 28 Jan 2011 08:13:04 +0000 (08:13 +0000)]
more changes...

13 years agoFix the bug of assignment conversion: 'short s = 12' should be allowed. And for such...
jzhou [Fri, 28 Jan 2011 01:58:29 +0000 (01:58 +0000)]
Fix the bug of assignment conversion: 'short s = 12' should be allowed. And for such case, in BuildFlat.java the right side of the assignment is replaced with the value.

13 years agoRemoved vestigial code left over from "waiting queues". Scratch previous comment...
stephey [Thu, 27 Jan 2011 23:39:33 +0000 (23:39 +0000)]
Removed vestigial code left over from "waiting queues". Scratch previous comment about removing the need to coalesce weakly connected groups.

13 years agoA missing file
jzhou [Thu, 27 Jan 2011 23:15:27 +0000 (23:15 +0000)]
A missing file

13 years agoThe second to last check in for the refactoring process. This moved/renamed some...
stephey [Thu, 27 Jan 2011 22:12:49 +0000 (22:12 +0000)]
The second to last check in for the refactoring process. This moved/renamed some things to make the code more obvious. The last checkin will eliminate the need to coalesce connected heap groups.

13 years agomore changes
bdemsky [Thu, 27 Jan 2011 19:46:30 +0000 (19:46 +0000)]
more changes

13 years agoEnable array creation with initialization for MGC. Now array initialization is fully...
jzhou [Thu, 27 Jan 2011 19:26:16 +0000 (19:26 +0000)]
Enable array creation with initialization for MGC. Now array initialization is fully supported in MGC.

13 years agoEnable field array initialization for MGC
jzhou [Thu, 27 Jan 2011 19:05:30 +0000 (19:05 +0000)]
Enable field array initialization for MGC

13 years agomore changes
bdemsky [Thu, 27 Jan 2011 00:54:44 +0000 (00:54 +0000)]
more changes

13 years agoBasic implementation of array initialization for mgc: local array declaration with...
jzhou [Thu, 27 Jan 2011 00:51:49 +0000 (00:51 +0000)]
Basic implementation of array initialization for mgc: local array declaration with array initialization is OK now. Need more work to enable array field declaration with initialization and array creation with initialization. Also fix a bug: previously do not support static fields that are object/array.

13 years agomore work towards new points to analysis
bdemsky [Wed, 26 Jan 2011 23:04:52 +0000 (23:04 +0000)]
more work towards new points to analysis

13 years agochanges
bdemsky [Wed, 26 Jan 2011 09:48:53 +0000 (09:48 +0000)]
changes

13 years agomore changes
bdemsky [Tue, 25 Jan 2011 09:11:59 +0000 (09:11 +0000)]
more changes

13 years agomore changes
bdemsky [Tue, 25 Jan 2011 08:18:59 +0000 (08:18 +0000)]
more changes

13 years agomore changes
bdemsky [Tue, 25 Jan 2011 00:37:09 +0000 (00:37 +0000)]
more changes

13 years agoSome changes to enable SPECjbb for MGC version. Enable the compilation for 1. class...
jzhou [Mon, 24 Jan 2011 22:14:25 +0000 (22:14 +0000)]
Some changes to enable SPECjbb for MGC version.  Enable the compilation for 1. class type, 2. try-catch-finally, 3. transient modifier, 4. array-create-init statement.  Now the compiler can parse code with these features but does not process them.  Also add some interfaces for String, FileOutputStream classes.

13 years agobeginning of points-to analysis
bdemsky [Sat, 22 Jan 2011 06:27:41 +0000 (06:27 +0000)]
beginning of points-to analysis

13 years agoWe fixed the bug of where to find the stallsite reachgraph. \n\n We found an even...
stephey [Sat, 22 Jan 2011 00:58:26 +0000 (00:58 +0000)]
We fixed the bug of where to find the stallsite reachgraph. \n\n We found an even BIGGER, SYSTEM-WIDE BUG whereby the Conflict Graph of stallsites were stored with the stallsite's parent's parent. However, since many components rely on this bug, we decided to leave it alone but left giant notes explaining the situation.

13 years agoCorrected reach graph issue with SESE BLOCKS ONLY. There seems to be an error with...
stephey [Fri, 21 Jan 2011 04:11:23 +0000 (04:11 +0000)]
Corrected reach graph issue with SESE BLOCKS ONLY. There seems to be an error with stallsites that I'll fix with Jim later. I've merged some redundant functions and broke up complicated ones. There's just more organizational work to do now for it to make more intuitive sense.

13 years agoSplit graph construction into 2 steps (one for pruned creation and one for marking...
stephey [Thu, 20 Jan 2011 07:49:49 +0000 (07:49 +0000)]
Split graph construction into 2 steps (one for pruned creation and one for marking conflicts). Dumbed down the logic in ConcreteRuntimeObjNode. Found a inefficiency whereby the graph is recreated with EVERY INSET VARIABLE, but I'll fix that another night.

13 years agoRCR was only one using Tuple.java so I renamed it to Pair.java. Checked that nothing...
stephey [Fri, 14 Jan 2011 01:58:39 +0000 (01:58 +0000)]
RCR was only one using Tuple.java so I renamed it to Pair.java. Checked that nothing broke.

13 years agotests for playing around with analysis with respect to empty reach states
jjenista [Wed, 12 Jan 2011 22:46:28 +0000 (22:46 +0000)]
tests for playing around with analysis with respect to empty reach states

13 years agojust a little change to keep genreach debug node from getting wiped out during optimi...
jjenista [Mon, 10 Jan 2011 23:31:49 +0000 (23:31 +0000)]
just a little change to keep genreach debug node from getting wiped out during optimization

13 years agotest that the genreach flat node doesn't get wiped away by java optimization
jjenista [Mon, 10 Jan 2011 23:29:26 +0000 (23:29 +0000)]
test that the genreach flat node doesn't get wiped away by java optimization

13 years agojust checking that the genreach debug statement works
jjenista [Mon, 10 Jan 2011 22:55:43 +0000 (22:55 +0000)]
just checking that the genreach debug statement works

13 years agoput optional stuff for debugging disjoint reachability analysis into the makefile
jjenista [Mon, 10 Jan 2011 19:41:07 +0000 (19:41 +0000)]
put optional stuff for debugging disjoint reachability analysis into the makefile

13 years agoenforce monotonicity in heap contributions from call sites
jjenista [Mon, 10 Jan 2011 19:40:35 +0000 (19:40 +0000)]
enforce monotonicity in heap contributions from call sites

13 years agomake reach graph visualizations tractable
jjenista [Mon, 10 Jan 2011 19:39:50 +0000 (19:39 +0000)]
make reach graph visualizations tractable

13 years agoAdd support for try-catch-finally statement for MGC version. Do not fully support...
jzhou [Mon, 10 Jan 2011 18:25:25 +0000 (18:25 +0000)]
Add support for try-catch-finally statement for MGC version.  Do not fully support exceptions yet.  Only guarantee the execution when there are no exceptions