jzhou [Thu, 31 Mar 2011 03:46:19 +0000 (03:46 +0000)]
Bug fix: should use unsigned int instead of int for pointers in shared heap. Also as we now use a big share array to hold mapping information, do not need to allocate extra memory for master core's local heap.
yeom [Thu, 31 Mar 2011 03:00:34 +0000 (03:00 +0000)]
changes: only apply the variable analysis on the method containing TASK
yeom [Thu, 31 Mar 2011 02:52:15 +0000 (02:52 +0000)]
change
stephey [Thu, 31 Mar 2011 02:28:21 +0000 (02:28 +0000)]
Added manual invocation of garbage collector via System.gc()
stephey [Thu, 31 Mar 2011 02:27:46 +0000 (02:27 +0000)]
Optimized HashMap/HashSet and added System.gc() for manual garbage collection invokation
stephey [Thu, 31 Mar 2011 02:25:53 +0000 (02:25 +0000)]
Changes/optimizations to benchmark.
yeom [Thu, 31 Mar 2011 01:26:31 +0000 (01:26 +0000)]
change due to changes of math class library
yeom [Wed, 30 Mar 2011 23:12:40 +0000 (23:12 +0000)]
bug fixes on OoOJava, now it works fine with all of benchmarks(but, Kmeans has lower speedup 10.6x than 13.8x. still working on...)
-changes on the potential stall site analysis: propagating the status of callee's return node to the caller region and when current node has a status change, making following nodes updated to get a new potential stall site status.
-changes on liveness analysis of OoOJava: new analysis only covers the task region, not whole region of the flat method.
-changes on disjoint analysis: rather than using reachgraph's inAccessibleSet, using the result of brian's new accessible analysis.
stephey [Wed, 30 Mar 2011 06:22:47 +0000 (06:22 +0000)]
The benchmark works as far as I can tell (passes internal tests). We just need to put in sese blocks now if that's the case.
... There are things preventing me from doing a precise check.
1) It appears that given the same input and everything, the while loop will inevitably run a different number of times for each run (this occurs in both the original and ported code) and pick a different order of triangles to process.
2) The differences in how we and Java handle collection/sets gives a different ordering of which triangles we process (which affects which triangles become bad at the end).
Aside from that, there seems to be some performance issues.
1) It seems that the original code benefits from branch prediction as successive, duplicate runs (inherent in the benchmark) yields faster and faster timings. Our run-time stays the same in successive runs. This is true even though the number of triangles processed stays relatively close to each other.
2) When processing the large.2 files (about 10k triangles), the difference between our first runtime and the original code's runtime is within 100ms of each other (out of roughly 1000ms), which sounds reasonable (note that on successive runs, the original code speeds up by a factor of 1.6). However when we process the massive.2 files (roughly 100k triangles), our runtimes are double the original code's runtime (but successive runs of the original code yields a speedup of only 1.12. Whatever speedup it got on the large.2 file is amortized). Also, our ported code garbage collects and then crashes (out of memory) on the second run (there are 3 repeated runs).
This is as much as I can do at the moment, going to need some guidance on the performance issues mentioned above and also where to place the sese blocks.
stephey [Wed, 30 Mar 2011 04:11:15 +0000 (04:11 +0000)]
It compiles and runs now... but it doesn't appear to be doing the right thing... It passes internal verification but appears to be taking fewer iterations than the original program...
stephey [Tue, 29 Mar 2011 23:37:34 +0000 (23:37 +0000)]
Compiles with a few warnings... Doesn't run yet though.
stephey [Tue, 29 Mar 2011 22:54:40 +0000 (22:54 +0000)]
Added an error case
stephey [Tue, 29 Mar 2011 19:05:43 +0000 (19:05 +0000)]
Shouldn't have been checked in the first place... accident.
jzhou [Tue, 29 Mar 2011 16:44:14 +0000 (16:44 +0000)]
Remove the local mapping tbl and shared mapping tbl in gc, instead, use a big shared array to hold the mapping information of moved objs
stephey [Tue, 29 Mar 2011 08:14:26 +0000 (08:14 +0000)]
Closer to compiling. at the moment, it throws a NullPointerException right after the output Build class:LinkedList. Not sure what's going on there.
bdemsky [Tue, 29 Mar 2011 07:37:15 +0000 (07:37 +0000)]
clean up math.java a little...standardize things to the actual Java class library...plus i didn't like having more ifs than needed
stephey [Tue, 29 Mar 2011 07:26:27 +0000 (07:26 +0000)]
Added min/max for long
stephey [Tue, 29 Mar 2011 06:52:04 +0000 (06:52 +0000)]
Changed LinkedList to return a boolean instead of crashing when an object isn't found in the remove method.
stephey [Tue, 29 Mar 2011 02:38:47 +0000 (02:38 +0000)]
These are the Delaunay Refinement files with the generics removed. It was a bit tedious, so I'm uploading now so we'd have a restart point if something goes wrong.
bdemsky [Tue, 29 Mar 2011 00:15:13 +0000 (00:15 +0000)]
more bug fixes
bdemsky [Mon, 28 Mar 2011 22:56:15 +0000 (22:56 +0000)]
memory leaks for rentry
bdemsky [Mon, 28 Mar 2011 21:31:28 +0000 (21:31 +0000)]
make compile
bdemsky [Mon, 28 Mar 2011 21:24:39 +0000 (21:24 +0000)]
bug fixes
bdemsky [Mon, 28 Mar 2011 07:43:40 +0000 (07:43 +0000)]
changes
bdemsky [Mon, 28 Mar 2011 07:41:09 +0000 (07:41 +0000)]
bug fix...
bdemsky [Mon, 28 Mar 2011 07:28:01 +0000 (07:28 +0000)]
have to treat reads of inaccessible variables that are the last node specially...
bdemsky [Mon, 28 Mar 2011 06:13:18 +0000 (06:13 +0000)]
changes...
bdemsky [Mon, 28 Mar 2011 05:51:18 +0000 (05:51 +0000)]
another bug fix...need to visit everything once also..
bdemsky [Mon, 28 Mar 2011 05:38:18 +0000 (05:38 +0000)]
could infinite loop under some cases...think this fixes the bug and cleans up the logic a little
bdemsky [Mon, 28 Mar 2011 05:01:36 +0000 (05:01 +0000)]
bug fix
yeom [Mon, 28 Mar 2011 02:12:53 +0000 (02:12 +0000)]
bug fix on RBlockRelationAnalysis: found that status changes of potential stall site is not propagated properly. now, OoOJava works fine with Power benchmark.
bdemsky [Sun, 27 Mar 2011 06:36:05 +0000 (06:36 +0000)]
more bug fixes
jzhou [Sun, 27 Mar 2011 02:28:04 +0000 (02:28 +0000)]
Bug fix in MGC version: bamboo_threadlocks is also a Runtime reference that should be checked and flushed during GC
bdemsky [Sat, 26 Mar 2011 20:45:29 +0000 (20:45 +0000)]
bug fix
bdemsky [Sat, 26 Mar 2011 20:28:51 +0000 (20:28 +0000)]
hacks to improve speed...including turning off debugging
bdemsky [Sat, 26 Mar 2011 20:28:00 +0000 (20:28 +0000)]
changes
bdemsky [Sat, 26 Mar 2011 03:50:29 +0000 (03:50 +0000)]
bug fix
bdemsky [Sat, 26 Mar 2011 02:35:36 +0000 (02:35 +0000)]
add support for super calls...ie...super.foo()
bdemsky [Sat, 26 Mar 2011 00:31:44 +0000 (00:31 +0000)]
fix various runtime bugs...most benchmarks running under rcr now
yeom [Sat, 26 Mar 2011 00:18:26 +0000 (00:18 +0000)]
changes.
bdemsky [Fri, 25 Mar 2011 23:44:14 +0000 (23:44 +0000)]
bug fixes
bdemsky [Fri, 25 Mar 2011 23:37:42 +0000 (23:37 +0000)]
bug fix..
bdemsky [Fri, 25 Mar 2011 22:00:13 +0000 (22:00 +0000)]
define bool
bdemsky [Fri, 25 Mar 2011 21:34:22 +0000 (21:34 +0000)]
changes
bdemsky [Fri, 25 Mar 2011 21:26:47 +0000 (21:26 +0000)]
bug fix
bdemsky [Fri, 25 Mar 2011 19:47:14 +0000 (19:47 +0000)]
bug fix
bdemsky [Fri, 25 Mar 2011 09:31:07 +0000 (09:31 +0000)]
typo
bdemsky [Fri, 25 Mar 2011 09:25:05 +0000 (09:25 +0000)]
changes
bdemsky [Fri, 25 Mar 2011 08:49:53 +0000 (08:49 +0000)]
changes
bdemsky [Fri, 25 Mar 2011 07:20:34 +0000 (07:20 +0000)]
try to get runtimeconflictresolver working...and cleaning up the code...
bdemsky [Fri, 25 Mar 2011 00:10:05 +0000 (00:10 +0000)]
changes to process/prune state machines
bdemsky [Fri, 25 Mar 2011 00:07:34 +0000 (00:07 +0000)]
class to prune/process state machines
bdemsky [Thu, 24 Mar 2011 22:24:00 +0000 (22:24 +0000)]
add lookup tables for effects
yeom [Thu, 24 Mar 2011 16:50:23 +0000 (16:50 +0000)]
changes on ssjava.
bdemsky [Thu, 24 Mar 2011 07:32:41 +0000 (07:32 +0000)]
Bug fix...supposed to pass in bsm into Pointer analysis...
bdemsky [Thu, 24 Mar 2011 06:33:59 +0000 (06:33 +0000)]
initial taint should have null whereDefined so we don't get fake cycles
jzhou [Thu, 24 Mar 2011 00:12:27 +0000 (00:12 +0000)]
Bug fixes for gc
bdemsky [Wed, 23 Mar 2011 23:52:28 +0000 (23:52 +0000)]
get rid of length field....
jzhou [Wed, 23 Mar 2011 19:15:59 +0000 (19:15 +0000)]
Bug fixes for gc
jzhou [Wed, 23 Mar 2011 17:28:24 +0000 (17:28 +0000)]
Bug fix
stephey [Wed, 23 Mar 2011 12:56:25 +0000 (12:56 +0000)]
Moved all unused methods to the bottom of the file.
NOT yet ready to DELETE them for 2 reasons:
1) Some code is relevant to Jim's task of finding weakly connected heap groups.
2) If Jim ever decides that a state can have effects that go deeper than just 1 level (i.e. if we have effects that tell us that we can visit a.b.c without changing states), then we'd need to use the code to generate traversal graphs before printing. They've already been modified to (mostly) work with states, but just have a few small bugs from me changing other parts of the code.
stephey [Wed, 23 Mar 2011 10:22:39 +0000 (10:22 +0000)]
Changed a lot of things in RCR. It works for the most part (manually inspected with the state diagram from the power benchmark). There are minor issues with the printout such as empty { } and nothing being inlined since the refCount for states seems to NOT work. Also, there seems to be states with empty effects... which is weird. The major issue is that the buildcode has problems interfacing with the new code. Some problems, not even Jim could figure them out.
bdemsky [Wed, 23 Mar 2011 09:43:45 +0000 (09:43 +0000)]
bug fix
bdemsky [Wed, 23 Mar 2011 09:25:46 +0000 (09:25 +0000)]
bug fixes...
bdemsky [Wed, 23 Mar 2011 01:31:38 +0000 (01:31 +0000)]
bug fixes
jzhou [Wed, 23 Mar 2011 01:05:04 +0000 (01:05 +0000)]
Bug fixes in MGC verison. SPECjbb2005 is now working with 62-core gc.
stephey [Wed, 23 Mar 2011 01:00:01 +0000 (01:00 +0000)]
Jim told me to do this...
jjenista [Wed, 23 Mar 2011 00:35:14 +0000 (00:35 +0000)]
changed options in code to actually print reach states on genreach output graphs
jjenista [Wed, 23 Mar 2011 00:34:25 +0000 (00:34 +0000)]
a bug, fix it later
jjenista [Tue, 22 Mar 2011 23:44:06 +0000 (23:44 +0000)]
cc paper example, THERE IS A BUG
bdemsky [Tue, 22 Mar 2011 22:34:11 +0000 (22:34 +0000)]
bug fix
bdemsky [Tue, 22 Mar 2011 22:33:47 +0000 (22:33 +0000)]
bug fixes
bdemsky [Tue, 22 Mar 2011 09:26:25 +0000 (09:26 +0000)]
small bug
bdemsky [Tue, 22 Mar 2011 09:15:09 +0000 (09:15 +0000)]
fix mistake....allocnodes are like disjoint heapregionnodes...
create new class allocsitenode which is like allocsite from disjointness...
hacked rcr file so it would compile with this change..unclear if it will work correctly
bdemsky [Tue, 22 Mar 2011 07:15:49 +0000 (07:15 +0000)]
changes to give compiler run times for phases....
bdemsky [Tue, 22 Mar 2011 04:53:59 +0000 (04:53 +0000)]
change so that new analysis runs for all benchmarks
yeom [Tue, 22 Mar 2011 01:04:32 +0000 (01:04 +0000)]
bug fix on the glb function of the lattice + working on the checking with the composite lattice
stephey [Mon, 21 Mar 2011 09:15:53 +0000 (09:15 +0000)]
Work in progress... I need to rework how to handle the case if we have more than 1 starting location for each state.
Here's a TODO list for things out of my control:
1) Need total number of independent heaproots (for hashtable creation).
2) Need to be able to get connected component ID (heaproot ID) from current state.
3) Need to get to get Demsky's Pointer Analysis Graph (and someone should check the way I used it is correct, see createTraversalGraph and addToTraversalGraphStartingAt)
4) Fix the way BuildCodeOoOJavaCode gets a weakmap on line 1822
5) Need a list a list of Allocs that have transitions leading into them per state (needed to know where to start traversal from a transitioned-to state.)
6) See TODOs in SMFEState.java
bdemsky [Mon, 21 Mar 2011 07:44:46 +0000 (07:44 +0000)]
don't need to do pointer analysis in Main
bdemsky [Mon, 21 Mar 2011 06:22:37 +0000 (06:22 +0000)]
fixing bugs...
stephey [Sat, 19 Mar 2011 23:47:41 +0000 (23:47 +0000)]
Updated hashRCR and Queue_RCR to conform with new standards (i.e. storing both a ptr and a state). Fixed a bug in Queue_RCR where the first dequeue is a null.... Don't know how that could have been overlooked for so long and not cause an error...
yeom [Sat, 19 Mar 2011 01:44:14 +0000 (01:44 +0000)]
changes.
jjenista [Sat, 19 Mar 2011 01:21:49 +0000 (01:21 +0000)]
we took DFJ and broke its arm, and we'll reset the bones in an upcoming patch
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...