bdemsky [Mon, 1 Nov 2010 09:04:24 +0000 (09:04 +0000)]
bug
yeom [Sun, 31 Oct 2010 23:04:06 +0000 (23:04 +0000)]
changes: generate rcr retirehashtable code correctly according to the runtime interface.
TODO: Current implementation assumes that the size of the rcrRecord array is equal to the size of fsen.getDynamicInVarSet(). But, it seems not to be true since the rcrRecord array is allocated by the size of inset var which is actually related with coarse conflict.
stephey [Sat, 30 Oct 2010 07:52:39 +0000 (07:52 +0000)]
Minor changes: Removing vestigial code
Previous commit:
-Every case where we enqueue an item will be guaranteed to have a case statement upon dequeue.
- Every valid pointer route will now end with either an enqueue to an array or Demsky's interface code with hashStructure.c
-Eliminated multiple traversals, empty switch statements and unused variables/pointers.
-Added new ArrayList based structure to store ObjRefs (only augmented by 1 method)
stephey [Sat, 30 Oct 2010 07:15:47 +0000 (07:15 +0000)]
Fixed:
jjenista [Fri, 29 Oct 2010 18:55:48 +0000 (18:55 +0000)]
commit some useful debug stuff all turned off until needed, trying to get workspace synched to prevent constant conflicts
jjenista [Fri, 29 Oct 2010 18:29:48 +0000 (18:29 +0000)]
for original thread to become worker zero
jjenista [Fri, 29 Oct 2010 18:28:13 +0000 (18:28 +0000)]
A variable defined in task A and read in task A's child's child appears to have a source from A--why does this assert stop code? check out later, check in the informative version of the assert
jjenista [Fri, 29 Oct 2010 18:25:55 +0000 (18:25 +0000)]
alternate version of micro2 that gathers results of every micro task shows that even with just variable dependencies the system is incorrect and parallel version does not behave like serial version
bdemsky [Fri, 29 Oct 2010 07:06:11 +0000 (07:06 +0000)]
bug fix....have to make sure we don't insert task into some other deque as insertion is not multithread safe
jzhou [Fri, 29 Oct 2010 00:15:37 +0000 (00:15 +0000)]
Add support for static inner classes in mgc version. Currently we only implemented limited features. Do not support Outer.Inner yet. Also only use inner class's name to identify the class instead of Outer.Inner which may cause bugs if there are two inner classes with the same name but with different surrounding classes.
bdemsky [Thu, 28 Oct 2010 22:07:14 +0000 (22:07 +0000)]
simplify the program...still crashes
jzhou [Thu, 28 Oct 2010 18:58:57 +0000 (18:58 +0000)]
Don't allocate type number for interfaces so that we do not need allocate lines in the virtual method table for interfaces and the virtual method table can be tight.
jjenista [Thu, 28 Oct 2010 01:01:24 +0000 (01:01 +0000)]
even though man page says otherwise, addr and len to mprotect must be page-aligned and page multiple
yeom [Thu, 28 Oct 2010 00:00:26 +0000 (00:00 +0000)]
small change: not using path when includes the header file as Brian suggested.
jjenista [Wed, 27 Oct 2010 23:48:17 +0000 (23:48 +0000)]
add feature to memPool for detecting misuse of records by clients, also added a function pointer input to mem pool so clients can customize an initializer for freshly allocated records to save duplicatation and maintenance, also mem pool changes were breaking squeue, just define a local version of the two structs it needs
yeom [Wed, 27 Oct 2010 22:10:33 +0000 (22:10 +0000)]
includes the missing header file.
jzhou [Wed, 27 Oct 2010 22:07:37 +0000 (22:07 +0000)]
Enable interface for mgc version.
jjenista [Wed, 27 Oct 2010 22:00:10 +0000 (22:00 +0000)]
fix sloppy code and use a more recognizable invalid pointer for mem pool
jjenista [Wed, 27 Oct 2010 21:34:17 +0000 (21:34 +0000)]
make sure mistakes are obvious with identifiable values
yeom [Wed, 27 Oct 2010 21:24:12 +0000 (21:24 +0000)]
changes: to prevent unnecessary LOCKXCHG when the unresolved queue is empty.
bdemsky [Tue, 26 Oct 2010 22:32:23 +0000 (22:32 +0000)]
really bad bug
bdemsky [Tue, 26 Oct 2010 22:18:58 +0000 (22:18 +0000)]
single ended queue work stealing scheduler
jjenista [Tue, 26 Oct 2010 18:17:14 +0000 (18:17 +0000)]
couple of minor bug fixes
jjenista [Tue, 26 Oct 2010 17:57:19 +0000 (17:57 +0000)]
change calloc to RUNMALLOC, added some optional debug deque bits
bdemsky [Tue, 26 Oct 2010 06:53:10 +0000 (06:53 +0000)]
optimize dispatch a little more
bdemsky [Tue, 26 Oct 2010 01:48:55 +0000 (01:48 +0000)]
Changes... small fix to jim's bugfix...touching our record after we free it is also bad...
poolalloc the rentry's...avoid running out of memory...looks like speed gains for micro also...
eliminate parentsemaphore...just use the thread local semaphore...needed to simplify freeing rentry records
jjenista [Tue, 26 Oct 2010 00:59:27 +0000 (00:59 +0000)]
fixed nasty bug, decrementing parents num running children used to be last, but new code has creeped up afte rit, move this down to the very last thing done before exiting
stephey [Tue, 26 Oct 2010 00:39:34 +0000 (00:39 +0000)]
Fixed issue where multi-dimentional primative arrays were treated as primitives. Now labyrinth benchmark works
yeom [Tue, 26 Oct 2010 00:14:31 +0000 (00:14 +0000)]
bug fix: RCR sets its proper conflict type.
yeom [Mon, 25 Oct 2010 23:56:16 +0000 (23:56 +0000)]
make sure that every benchmark of oooJava takes the largest input size by default
yeom [Mon, 25 Oct 2010 23:38:53 +0000 (23:38 +0000)]
correct input data for barneshut
jjenista [Mon, 25 Oct 2010 23:28:26 +0000 (23:28 +0000)]
OOO and RCR are speparate targets in the master makefile, added runp scripts for all benchmarks, time command included in runp's
bdemsky [Mon, 25 Oct 2010 23:26:36 +0000 (23:26 +0000)]
fix bug w/ recycling + RCR
jjenista [Mon, 25 Oct 2010 23:20:53 +0000 (23:20 +0000)]
support for RCR and task record pool allocation
jjenista [Mon, 25 Oct 2010 23:14:09 +0000 (23:14 +0000)]
this is a BUG, don't dereference the object pointer, blargh
jzhou [Mon, 25 Oct 2010 22:49:57 +0000 (22:49 +0000)]
Hack the compiler to support 'abstract' keyword for mgc version. Abstract classes/methods can be compiled but fully semantic check is not supported. Now we generate an empty method for each declared abstract method and do not check if the subclasses have implemented their inheried abstract methods.
stephey [Mon, 25 Oct 2010 22:13:30 +0000 (22:13 +0000)]
Added necessary variable initializations
yeom [Mon, 25 Oct 2010 22:04:28 +0000 (22:04 +0000)]
changes: handle correctly the case when a coarse grain conflict is associated with effects on different allocation sites.
bdemsky [Mon, 25 Oct 2010 20:54:53 +0000 (20:54 +0000)]
make the traversers do something
jjenista [Mon, 25 Oct 2010 20:09:31 +0000 (20:09 +0000)]
Changing OoOJava work scheduler to true work stealing, garbage collection can walk the deques used, changes to build code and workschedule are awesome because work stealing threads exit gracefully when system is out of work
jjenista [Mon, 25 Oct 2010 20:05:39 +0000 (20:05 +0000)]
added a debug option for deque
jjenista [Mon, 25 Oct 2010 18:58:03 +0000 (18:58 +0000)]
bug fix in identifying leaf tasks
stephey [Mon, 25 Oct 2010 08:32:27 +0000 (08:32 +0000)]
Changed method for marking possible resume cases. Now it only considers read conflicts.
stephey [Mon, 25 Oct 2010 08:08:35 +0000 (08:08 +0000)]
Improved heuristics for marking where resume cases are possible. Instead marking every conflict as a possible resume case, it now only marks cases where there is a read conflict (which implies that there is a write somewhere else) or where there is an ancestor read conflict and a current conflict.
bdemsky [Mon, 25 Oct 2010 01:56:39 +0000 (01:56 +0000)]
changes
stephey [Sun, 24 Oct 2010 12:44:31 +0000 (12:44 +0000)]
cleaned up some old code and comments
bdemsky [Sun, 24 Oct 2010 08:56:28 +0000 (08:56 +0000)]
bug fixes
bdemsky [Sun, 24 Oct 2010 08:36:22 +0000 (08:36 +0000)]
changes...handle races between coarse and fine grained conflict resolution
stephey [Sun, 24 Oct 2010 04:11:15 +0000 (04:11 +0000)]
+Made arrays inlineable
+Fields with multiple allocation sites are now handled with a switch statement.
stephey [Sat, 23 Oct 2010 23:03:37 +0000 (23:03 +0000)]
Fixed bug (for reals this time) where there will be multiple traversals on the same field. Turns out the .equals for ConcreteRuntimeObjNode was done incorrectly.
Working on next task:
+using switch statements for checking fields.
+Treating arrays the same as any field (inlinable)
stephey [Sat, 23 Oct 2010 22:09:50 +0000 (22:09 +0000)]
Fixed bug where one edge is traversed multiple times even if it's the same allocsite. Turns out, the .equals in allocsite did not compare their ID's.
Changes:
stephey [Sat, 23 Oct 2010 20:21:38 +0000 (20:21 +0000)]
fixes to case in Test/rcr. Now the program seems to get stuck at sched_yield() which I believe is not a component of RCR
bdemsky [Sat, 23 Oct 2010 08:41:28 +0000 (08:41 +0000)]
another bad case
bdemsky [Sat, 23 Oct 2010 08:30:19 +0000 (08:30 +0000)]
changes
bdemsky [Sat, 23 Oct 2010 01:42:16 +0000 (01:42 +0000)]
another bug fix
bdemsky [Sat, 23 Oct 2010 01:39:33 +0000 (01:39 +0000)]
changes
jzhou [Fri, 22 Oct 2010 23:11:17 +0000 (23:11 +0000)]
Disable static related code generation for Java version
bdemsky [Fri, 22 Oct 2010 22:30:38 +0000 (22:30 +0000)]
bug
bdemsky [Fri, 22 Oct 2010 22:27:47 +0000 (22:27 +0000)]
changes
bdemsky [Fri, 22 Oct 2010 21:02:40 +0000 (21:02 +0000)]
more core...fix traversers...
bdemsky [Fri, 22 Oct 2010 08:18:56 +0000 (08:18 +0000)]
still some bugs...but stall site code generation is in
bdemsky [Fri, 22 Oct 2010 04:50:57 +0000 (04:50 +0000)]
changes towards rcr working...
comment out jin's checkin...it breaks code generation in x86...
jzhou [Fri, 22 Oct 2010 00:59:35 +0000 (00:59 +0000)]
Add Class object so that we can implement getClass() and can have class lock for synchronized blocks
jjenista [Thu, 21 Oct 2010 23:24:47 +0000 (23:24 +0000)]
implemented deque for work stealing
jzhou [Thu, 21 Oct 2010 18:27:54 +0000 (18:27 +0000)]
Small bug fix for multicore gc w/o tasks
bdemsky [Thu, 21 Oct 2010 09:40:29 +0000 (09:40 +0000)]
more changes....much is still missing
bdemsky [Thu, 21 Oct 2010 05:00:18 +0000 (05:00 +0000)]
changes
bdemsky [Thu, 21 Oct 2010 04:39:03 +0000 (04:39 +0000)]
changes
yeom [Thu, 21 Oct 2010 02:45:19 +0000 (02:45 +0000)]
simple changes:
if there are more than one coarse conflicts for the same queue and the same sese, one coarse waiting element, which is actually enqueued into the memory queue, maintains a set of tempDesc containing all of the coarse tempDescriptors.
have not yet modified BuildCode.
jzhou [Thu, 21 Oct 2010 00:21:06 +0000 (00:21 +0000)]
Implement a more sorphisticated execution strategy for static blocks. Tested with very simple example code. Static field initialization is not implemented yet.
bdemsky [Wed, 20 Oct 2010 23:53:27 +0000 (23:53 +0000)]
changes
yeom [Wed, 20 Oct 2010 23:15:31 +0000 (23:15 +0000)]
changes. assign tempDescriptor to coarse waiting element
bdemsky [Wed, 20 Oct 2010 23:15:30 +0000 (23:15 +0000)]
changes
yeom [Wed, 20 Oct 2010 17:41:16 +0000 (17:41 +0000)]
more changes for RCR
yeom [Wed, 20 Oct 2010 17:29:24 +0000 (17:29 +0000)]
remove unnecessary conflict type and assign coarse conflict by default.
stephey [Wed, 20 Oct 2010 08:39:31 +0000 (08:39 +0000)]
Added allocsite check for array elements before inserting into visitedhash.
bdemsky [Wed, 20 Oct 2010 08:02:48 +0000 (08:02 +0000)]
change
bdemsky [Wed, 20 Oct 2010 07:49:03 +0000 (07:49 +0000)]
more changes...RCR wasn't usable until it was too late...
bdemsky [Wed, 20 Oct 2010 00:34:25 +0000 (00:34 +0000)]
more changes
bdemsky [Wed, 20 Oct 2010 00:07:43 +0000 (00:07 +0000)]
more work towards working version
bdemsky [Tue, 19 Oct 2010 21:33:43 +0000 (21:33 +0000)]
changes
stephey [Tue, 19 Oct 2010 10:53:12 +0000 (10:53 +0000)]
Added support for adding array elements into the hash/queue. Appears to support multidimensional arrays as well.
bdemsky [Tue, 19 Oct 2010 05:14:46 +0000 (05:14 +0000)]
let the prefetch go through a register instead...
bdemsky [Tue, 19 Oct 2010 02:43:26 +0000 (02:43 +0000)]
changes
jjenista [Tue, 19 Oct 2010 00:04:52 +0000 (00:04 +0000)]
switch to a thread local stall sem for parent to give to children, tinker with prefetch in pool alloc, tinker with safe and fast garbage collection at scheduler level
jzhou [Tue, 19 Oct 2010 00:01:31 +0000 (00:01 +0000)]
Add support for 'static' fields in multicore gc version w/o tasks. Now we can have static fields and access static fields/methods with Class name. Static blocks are also supported but with very simple invocation solution. All the static blocks are executed right before executing the main method and are executed in random order. The initialization for the static field is not supported yet.
stephey [Mon, 18 Oct 2010 09:34:14 +0000 (09:34 +0000)]
Added support for tracking which ConcreteRuntimeObjNodes can be Arrays and which can be array elements. Array elements get their own case statement since if we add the entire array into the queue, then it's probably better to let the switch statement handle what to do with objects from a specific allocation site.
I had more code written, but apparently my workspace was not up to date. The changes I made need changes, so I omitted them. It's okay since I need to ask Yonghun/Jim about arrays on the C-side anyway.
bdemsky [Mon, 18 Oct 2010 07:34:12 +0000 (07:34 +0000)]
more changes towards oooJava version 2
bdemsky [Mon, 18 Oct 2010 06:49:23 +0000 (06:49 +0000)]
changes to buildscript
bdemsky [Mon, 18 Oct 2010 06:48:46 +0000 (06:48 +0000)]
more changes towards new version of oooJava
bdemsky [Mon, 18 Oct 2010 03:59:39 +0000 (03:59 +0000)]
changes
jjenista [Fri, 15 Oct 2010 21:34:44 +0000 (21:34 +0000)]
compute average processor ticks per event in parsed output
jjenista [Fri, 15 Oct 2010 21:34:12 +0000 (21:34 +0000)]
Tweaks to microbenchmarks, one stall semaphore per thread changes have been backed out while exploring micro benchmark issues
jzhou [Thu, 14 Oct 2010 22:16:44 +0000 (22:16 +0000)]
Add process of global thread queue in gc, not tested yet
jjenista [Thu, 14 Oct 2010 21:48:30 +0000 (21:48 +0000)]
micro benchmarks for OoOJava task dispatch improvement, but behavior or ooo version just looks wrong...
jzhou [Thu, 14 Oct 2010 18:06:29 +0000 (18:06 +0000)]
Add test for reentrant feature of the synchronized blocks
jzhou [Thu, 14 Oct 2010 17:59:34 +0000 (17:59 +0000)]
Add Test for multicore gc version w/o tasks
jzhou [Thu, 14 Oct 2010 17:51:15 +0000 (17:51 +0000)]
Synchronized block is now working. A simple test is passed.
jjenista [Thu, 14 Oct 2010 17:49:16 +0000 (17:49 +0000)]
name pool alloc, useful for seeing its effective reduction of mallocs
jjenista [Thu, 14 Oct 2010 17:48:32 +0000 (17:48 +0000)]
coreprof updates, nothing huge