cdsspec-compiler.git
11 years agolots of changes
Peizhao Ou [Fri, 25 Oct 2013 23:17:02 +0000 (16:17 -0700)]
lots of changes

11 years agomore
Peizhao Ou [Fri, 25 Oct 2013 01:08:12 +0000 (18:08 -0700)]
more

11 years agosmall change
Peizhao Ou [Fri, 25 Oct 2013 01:07:26 +0000 (18:07 -0700)]
small change

11 years agonew strategy
Peizhao Ou [Thu, 24 Oct 2013 00:23:07 +0000 (17:23 -0700)]
new strategy

11 years agolots of changes
Peizhao Ou [Wed, 23 Oct 2013 11:09:23 +0000 (04:09 -0700)]
lots of changes

11 years agotempory files
Peizhao Ou [Wed, 23 Oct 2013 05:30:33 +0000 (22:30 -0700)]
tempory files

11 years agotweak
Peizhao Ou [Tue, 22 Oct 2013 16:01:23 +0000 (09:01 -0700)]
tweak

11 years agotweak
Peizhao Ou [Tue, 22 Oct 2013 06:53:30 +0000 (23:53 -0700)]
tweak

11 years agobenchmark/cliffc-hashtable/simplified_cliffc_hashtable.h
Peizhao Ou [Tue, 22 Oct 2013 06:52:36 +0000 (23:52 -0700)]
benchmark/cliffc-hashtable/simplified_cliffc_hashtable.h

11 years agoadd some notes
Peizhao Ou [Tue, 22 Oct 2013 05:57:27 +0000 (22:57 -0700)]
add some notes

11 years agogenerate more structured code
Peizhao Ou [Tue, 22 Oct 2013 01:33:01 +0000 (18:33 -0700)]
generate more structured code

11 years agomore changes
Peizhao Ou [Sun, 20 Oct 2013 16:17:26 +0000 (09:17 -0700)]
more changes

11 years agoalmost complte code example
Peizhao Ou [Sat, 19 Oct 2013 22:12:43 +0000 (15:12 -0700)]
almost complte code example

11 years agoadd detailed generated code examples
Peizhao Ou [Sat, 19 Oct 2013 11:16:14 +0000 (04:16 -0700)]
add detailed generated code examples

11 years agomore changes
Peizhao Ou [Sat, 19 Oct 2013 00:39:36 +0000 (17:39 -0700)]
more changes

11 years agolots of change and add notes
Peizhao Ou [Fri, 18 Oct 2013 01:14:58 +0000 (18:14 -0700)]
lots of change and add notes

11 years agogenerating code
Peizhao Ou [Thu, 17 Oct 2013 02:18:25 +0000 (19:18 -0700)]
generating code

11 years agotry to generate in-place code
Peizhao Ou [Wed, 16 Oct 2013 19:47:41 +0000 (12:47 -0700)]
try to generate in-place code

11 years agotweak
Peizhao Ou [Wed, 16 Oct 2013 06:12:08 +0000 (23:12 -0700)]
tweak

11 years agoadd more on code generation
Peizhao Ou [Tue, 15 Oct 2013 23:44:25 +0000 (16:44 -0700)]
add more on code generation

11 years agoready to generate code
Peizhao Ou [Tue, 15 Oct 2013 03:00:28 +0000 (20:00 -0700)]
ready to generate code

11 years agoparser checked
Peizhao Ou [Tue, 15 Oct 2013 02:01:08 +0000 (19:01 -0700)]
parser checked

11 years agoadd more parsing
Peizhao Ou [Mon, 14 Oct 2013 23:19:07 +0000 (16:19 -0700)]
add more parsing

11 years agoparsing passed
Peizhao Ou [Fri, 11 Oct 2013 23:18:03 +0000 (16:18 -0700)]
parsing passed

11 years agoadd more, GlobalConstruct parsed
Peizhao Ou [Fri, 11 Oct 2013 07:44:27 +0000 (00:44 -0700)]
add more, GlobalConstruct parsed

11 years agoparsing basically works
Peizhao Ou [Fri, 11 Oct 2013 01:06:45 +0000 (18:06 -0700)]
parsing basically works

11 years agoadd more to spec-compiler.jj
Peizhao Ou [Thu, 10 Oct 2013 23:23:32 +0000 (16:23 -0700)]
add more to spec-compiler.jj

11 years agoadd more & need C/C++ code recognition
Peizhao Ou [Thu, 10 Oct 2013 18:29:26 +0000 (11:29 -0700)]
add more & need C/C++ code recognition

11 years agoSpecExtractor.java seems to work
Peizhao Ou [Thu, 10 Oct 2013 08:01:20 +0000 (01:01 -0700)]
SpecExtractor.java seems to work

11 years agoneed to fixed SpecExtractor.java
Peizhao Ou [Thu, 10 Oct 2013 07:47:58 +0000 (00:47 -0700)]
need to fixed SpecExtractor.java

11 years agoextracting spec & compiling
Peizhao Ou [Thu, 10 Oct 2013 01:37:46 +0000 (18:37 -0700)]
extracting spec & compiling

11 years agoclean the auto-generated files
Peizhao Ou [Wed, 9 Oct 2013 18:02:41 +0000 (11:02 -0700)]
clean the auto-generated files

11 years agoadd more more spec-compiler.jj
Peizhao Ou [Wed, 9 Oct 2013 07:20:38 +0000 (00:20 -0700)]
add more more spec-compiler.jj

11 years agoadd setup-env.sh
Peizhao Ou [Wed, 9 Oct 2013 04:01:53 +0000 (21:01 -0700)]
add setup-env.sh

11 years agoadd more stuff to spec-compiler.jj
Peizhao Ou [Wed, 9 Oct 2013 03:25:14 +0000 (20:25 -0700)]
add more stuff to spec-compiler.jj

11 years agoclean
Peizhao Ou [Wed, 9 Oct 2013 01:29:54 +0000 (18:29 -0700)]
clean

11 years agousing javacc to compile
Peizhao Ou [Tue, 8 Oct 2013 23:56:59 +0000 (16:56 -0700)]
using javacc to compile

11 years agoMerge branch 'master' of ssh://demsky.eecs.uci.edu/home/git/spec-checker-compiler
Peizhao Ou [Tue, 8 Oct 2013 17:12:55 +0000 (10:12 -0700)]
Merge branch 'master' of ssh://demsky.eecs.uci.edu/home/git/spec-checker-compiler

11 years agoMerge branch 'master' of ssh://demsky.eecs.uci.edu/home/git/model-checker-priv
Peizhao Ou [Tue, 8 Oct 2013 17:11:19 +0000 (10:11 -0700)]
Merge branch 'master' of ssh://demsky.eecs.uci.edu/home/git/model-checker-priv

11 years agonew repo structure
Peizhao Ou [Tue, 8 Oct 2013 07:57:40 +0000 (00:57 -0700)]
new repo structure

11 years agosrc structure
Peizhao Ou [Tue, 8 Oct 2013 07:45:09 +0000 (00:45 -0700)]
src structure

11 years agomodification
Peizhao Ou [Tue, 8 Oct 2013 07:39:38 +0000 (00:39 -0700)]
modification

11 years agoinitializing the repo
Peizhao Ou [Tue, 8 Oct 2013 04:51:32 +0000 (21:51 -0700)]
initializing the repo

11 years agoAdd support for annotations
Brian Demsky [Thu, 26 Sep 2013 17:53:49 +0000 (02:53 +0900)]
Add support for annotations

11 years agoMerge remote-tracking branch 'origin/master'
Brian Norris [Wed, 4 Sep 2013 02:19:25 +0000 (19:19 -0700)]
Merge remote-tracking branch 'origin/master'

11 years agorun.sh: support running from a different directory
Brian Norris [Wed, 4 Sep 2013 02:03:44 +0000 (19:03 -0700)]
run.sh: support running from a different directory

11 years agoREADME.md: use HTML URL, not PHP
Brian Norris [Thu, 15 Aug 2013 19:04:59 +0000 (12:04 -0700)]
README.md: use HTML URL, not PHP

11 years agoREADME.md: move copyright down
Brian Norris [Wed, 14 Aug 2013 17:02:36 +0000 (10:02 -0700)]
README.md: move copyright down

11 years agoREADME.md: add detail for benchmarks
Brian Norris [Wed, 14 Aug 2013 17:01:08 +0000 (10:01 -0700)]
README.md: add detail for benchmarks

11 years agoREADME.md: improve wording
Brian Norris [Wed, 14 Aug 2013 16:59:03 +0000 (09:59 -0700)]
README.md: improve wording

11 years agoREADME.md: add more fairness notes
Brian Norris [Wed, 14 Aug 2013 06:29:20 +0000 (23:29 -0700)]
README.md: add more fairness notes

11 years agoMakefile: add README.pdf target
Brian Norris [Wed, 14 Aug 2013 06:24:13 +0000 (23:24 -0700)]
Makefile: add README.pdf target

Using pandoc:

  http://johnmacfarlane.net/pandoc/

11 years agoREADME.md: remove <pre></pre> tags
Brian Norris [Wed, 14 Aug 2013 05:38:39 +0000 (22:38 -0700)]
README.md: remove <pre></pre> tags

It's better to just use pure Markdown.

11 years agothreads: kill clang warnings about struct/class Thread
Brian Norris [Wed, 14 Aug 2013 05:16:20 +0000 (22:16 -0700)]
threads: kill clang warnings about struct/class Thread

We just need an opaque pointer for C, so we can retain the type safety
for C++ by conditionally compiling a '__thread_identifier' type as
'class Thread' for C++.

The warning:

  clang++ -MMD -MF .threads.o.d -fPIC -c threads.cc -Wall -g -O3 -Iinclude -I.
  In file included from schedule.cc:4:
  ./threads-model.h:41:1: warning: 'Thread' defined as a class here but previously declared as a struct [-Wmismatched-tags]
  class Thread {
  ^
  include/threads.h:9:1: note: did you mean class here?
  struct Thread; /* actually, class; but this is safe */
  ^~~~~~
  class

11 years agomalloc: modify compiler warning workarounds
Brian Norris [Wed, 14 Aug 2013 05:05:23 +0000 (22:05 -0700)]
malloc: modify compiler warning workarounds

clang will complain when (in a function like this) we try to silence
"unused" warnings with a self-assignment. It's equivalently useless to
just cast to (void), and I think it will still silence the warning it
was originally trying to silence.

11 years agoimpatomic: silence more clang warnings
Brian Norris [Wed, 14 Aug 2013 04:51:56 +0000 (21:51 -0700)]
impatomic: silence more clang warnings

These 'return' values produce unused value warnings when the value
returned by _ATOMIC_STORE_, _ATOMIC_INIT_, and _ATOMIC_MODIFY_ aren't
used. Silence these warnings (but leave the ones for _ATOMIC_LOAD_)
because we expect that the result of RMW's or stores may rightly be
discarded in many cases.

11 years agotest: silence some unused-value warnings
Brian Norris [Wed, 14 Aug 2013 04:49:55 +0000 (21:49 -0700)]
test: silence some unused-value warnings

clang gives some warnings for unused values, like the following:

  clang -MMD -MF ./.rmw2prog.o.d -o rmw2prog.o rmw2prog.c -Wall -g -O3 -I.. -I../include -L.. -lmodel
  nestedpromise.c:14:2: warning: expression result unused [-Wunused-value]
          atomic_load_explicit(&z, memory_order_relaxed); // this is only for schedule control
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  ../include/impatomic.h:2901:46: note: expanded from:
  #define atomic_load_explicit( __a__, __x__ ) \
                                               ^
  ../include/impatomic.h:85:17: note: expanded from:
                  __r__; })
                  ^~~~~
  1 warning generated.

11 years agoREADME.md: have to include our headers
Brian Norris [Wed, 14 Aug 2013 04:16:34 +0000 (21:16 -0700)]
README.md: have to include our headers

11 years agoREADME.md: reverse store/load
Brian Norris [Wed, 14 Aug 2013 04:13:14 +0000 (21:13 -0700)]
README.md: reverse store/load

11 years agoREADME.md: add supported API section
Brian Norris [Wed, 14 Aug 2013 04:09:30 +0000 (21:09 -0700)]
README.md: add supported API section

11 years agoREADME.md: add End of Execution Summary section
Brian Norris [Wed, 14 Aug 2013 01:00:56 +0000 (18:00 -0700)]
README.md: add End of Execution Summary section

11 years agoREADME.md: reporting multiple data races for the same access?
Brian Norris [Wed, 14 Aug 2013 00:33:22 +0000 (17:33 -0700)]
README.md: reporting multiple data races for the same access?

11 years agomodel: only print 'Total nodes' for verbose printing
Brian Norris [Wed, 14 Aug 2013 00:32:43 +0000 (17:32 -0700)]
model: only print 'Total nodes' for verbose printing

Average users don't need to see this.

11 years agoREADME.md: reformat
Brian Norris [Wed, 14 Aug 2013 00:13:55 +0000 (17:13 -0700)]
README.md: reformat

11 years agoREADME.md: add linux locks example
Brian Norris [Wed, 14 Aug 2013 00:12:06 +0000 (17:12 -0700)]
README.md: add linux locks example

11 years agoREADME.md: update title
Brian Norris [Wed, 14 Aug 2013 00:08:34 +0000 (17:08 -0700)]
README.md: update title

11 years agoREADME.md: point non-git users to gitweb
Brian Norris [Wed, 14 Aug 2013 00:04:24 +0000 (17:04 -0700)]
README.md: point non-git users to gitweb

11 years agoREADME.md: push URLs down to See Also section
Brian Norris [Tue, 13 Aug 2013 23:50:17 +0000 (16:50 -0700)]
README.md: push URLs down to See Also section

11 years agoREADME.md: add extra blank lines
Brian Norris [Tue, 13 Aug 2013 23:50:03 +0000 (16:50 -0700)]
README.md: add extra blank lines

11 years agoREADME.md: update much of the README
Brian Norris [Tue, 13 Aug 2013 23:43:08 +0000 (16:43 -0700)]
README.md: update much of the README

Integrate some info from the website and the OOPSLA artifact submission,
and improve the whole thing to be a single reference document.

11 years agomain: suggest thrd_yield() for -y fairness
Brian Norris [Tue, 13 Aug 2013 22:42:47 +0000 (15:42 -0700)]
main: suggest thrd_yield() for -y fairness

11 years agorun.sh: set Mac OSX DYLD_LIBRARY_PATH
Brian Norris [Tue, 13 Aug 2013 22:34:22 +0000 (15:34 -0700)]
run.sh: set Mac OSX DYLD_LIBRARY_PATH

DYLD_LIBRARY_PATH is the Mac OSX equivalent of Unix LD_LIBRARY_PATH.

11 years agodelete README symlink
Brian Norris [Tue, 13 Aug 2013 22:11:12 +0000 (15:11 -0700)]
delete README symlink

Readers should just look at README.md, or the generated README.html.

11 years agoLICENSE: add newline at end of file
Brian Norris [Tue, 13 Aug 2013 22:09:36 +0000 (15:09 -0700)]
LICENSE: add newline at end of file

11 years agotest: insanesync: consolidate lines
Brian Norris [Wed, 17 Jul 2013 02:31:20 +0000 (19:31 -0700)]
test: insanesync: consolidate lines

11 years agotest: insanesync: remove unnecessary casting
Brian Norris [Wed, 17 Jul 2013 02:28:35 +0000 (19:28 -0700)]
test: insanesync: remove unnecessary casting

11 years agotest: insanesync: convert to C++
Brian Norris [Wed, 17 Jul 2013 02:22:52 +0000 (19:22 -0700)]
test: insanesync: convert to C++

The syntax is clearer this way, and I can make it more consistent with
the other satisfaction cycle examples I wrote.

11 years agotest: addr-satcycle: add new address-based sat. cycle example
Brian Norris [Tue, 16 Jul 2013 20:22:43 +0000 (13:22 -0700)]
test: addr-satcycle: add new address-based sat. cycle example

See the comments and assertion in the program for the description.

11 years agorun.sh: don't silently ignore a non-executable file argument
Brian Norris [Wed, 10 Jul 2013 01:44:19 +0000 (18:44 -0700)]
run.sh: don't silently ignore a non-executable file argument

If we use a file which exists but is not executable as an argument to
run.sh, run.sh will silently ignore it. This is wrong.

Instead, just check for existence of the file (or directory), and error
out with a "Permission denied" message later, when we try to run it.

11 years agotest: mo-satcycle: add new MO satisfaction cycle example
Brian Norris [Wed, 10 Jul 2013 01:33:33 +0000 (18:33 -0700)]
test: mo-satcycle: add new MO satisfaction cycle example

See the comments at the top of the file.

11 years agotest: uninit: typo
Brian Norris [Wed, 10 Jul 2013 01:18:07 +0000 (18:18 -0700)]
test: uninit: typo

11 years agoexecution: remove redundant condition, reword doc for promises_may_allow
Brian Norris [Thu, 6 Jun 2013 00:25:30 +0000 (17:25 -0700)]
execution: remove redundant condition, reword doc for promises_may_allow

promises_may_allow() doesn't actually need to check for
promises.empty(), as the loop bounds take care of that. In the same
spirit, we can reword the comments/documentation so that

 (1) it is not redundant (condition (a) is subsumed by (b))
 (2) we are more explicit about what we actually mean by "crossing
     promises"

11 years agoexecution: document additional mo_may_allow() optimization
Brian Norris [Thu, 6 Jun 2013 00:14:32 +0000 (17:14 -0700)]
execution: document additional mo_may_allow() optimization

mo_may_allow() actually performs two optimizations, not just the one
that is documented in its header.

11 years agoexecution: document promises list; it is assumed to be sorted
Brian Norris [Thu, 6 Jun 2013 00:13:55 +0000 (17:13 -0700)]
execution: document promises list; it is assumed to be sorted

Document the assumptions made about the 'promises' list.

11 years agomodel: remove redundant code (is_enabled)
Brian Norris [Wed, 5 Jun 2013 23:31:41 +0000 (16:31 -0700)]
model: remove redundant code (is_enabled)

These members should just stay implemented in execution.{cc,h}, not
model.{cc,h}.

11 years agodocs: improve Doxygen documentation
Brian Norris [Wed, 5 Jun 2013 02:06:35 +0000 (19:06 -0700)]
docs: improve Doxygen documentation

* Fix the PROJECT_NAME title

* Add include/ to documentation

* Include our generated README.html as the main page in the docs

  - NOTE: Doxygen 1.8.0+ can directly generate documentation from the
    Markdown format (i.e., README.md). This may be useful in the future
    to get more integrated support, but for now, the
    separately-generated HTML is good enough

11 years agoREADME: use markdown format for direct URL link
Brian Norris [Wed, 5 Jun 2013 01:20:42 +0000 (18:20 -0700)]
README: use markdown format for direct URL link

11 years agoREADME: more formatting, correct statement about bench.sh
Brian Norris [Tue, 4 Jun 2013 23:32:39 +0000 (16:32 -0700)]
README: more formatting, correct statement about bench.sh

11 years agoREADME: a few more formatting issues
Brian Norris [Tue, 4 Jun 2013 23:30:00 +0000 (16:30 -0700)]
README: a few more formatting issues

11 years agoMerge branch 'markdown'
Brian Norris [Tue, 4 Jun 2013 23:14:18 +0000 (16:14 -0700)]
Merge branch 'markdown'

11 years agoREADME: add more `code` formatting
Brian Norris [Tue, 4 Jun 2013 23:04:56 +0000 (16:04 -0700)]
README: add more `code` formatting

11 years agoAdd example from java showing legit satisfaction cycle
Brian Demsky [Mon, 3 Jun 2013 19:02:19 +0000 (12:02 -0700)]
Add example from java showing legit satisfaction cycle

11 years ago.gitignore: fixup VIM swapfile ignore
Brian Norris [Sun, 2 Jun 2013 00:07:37 +0000 (17:07 -0700)]
.gitignore: fixup VIM swapfile ignore

11 years agoREADME: convert to Markdown format
Brian Norris [Sun, 2 Jun 2013 00:06:33 +0000 (17:06 -0700)]
README: convert to Markdown format

Now we can easily generate an HTML version, while retaining readability
as a simple text file.

11 years agoMarkdown: add Markdown tool
Brian Norris [Sun, 2 Jun 2013 00:04:41 +0000 (17:04 -0700)]
Markdown: add Markdown tool

For conversion of Markdown format to HTML.

From:

  http://daringfireball.net/projects/markdown/

License terms are easy to comply with (see doc/Markdown/License.text).

11 years agoREADME: add bit on MODEL_ASSERT() macro
Brian Norris [Sat, 1 Jun 2013 23:08:16 +0000 (16:08 -0700)]
README: add bit on MODEL_ASSERT() macro

11 years agoREADME: extra "from"
Brian Norris [Sat, 1 Jun 2013 00:46:34 +0000 (17:46 -0700)]
README: extra "from"

11 years agoREADME: updated help text
Brian Norris [Sat, 1 Jun 2013 00:44:03 +0000 (17:44 -0700)]
README: updated help text

11 years agomodel: cosmetic output improvements
Brian Norris [Fri, 31 May 2013 23:50:40 +0000 (16:50 -0700)]
model: cosmetic output improvements

A few cosmetic improvements:

* Provide more uniform newlines

* Clearly show which output is produced by the test program

* Provide clear heading to show which output belongs to which program
  execution

* Label the program trace if it has bugs

I'm sure there's more that could be improved, but that's it for now.

11 years agoparams: add multi-level verbosity
Brian Norris [Fri, 31 May 2013 23:45:42 +0000 (16:45 -0700)]
params: add multi-level verbosity

Now we can have --verbose=[012], so that the default (0) is still quiet,
the easy verbose flag (--verbose or -v) is noisy but useful (1), and if
you really want some extra noise, you can choose (2). Right now, there
is some minimal extra noise in (2), but this may be expanded if we want
more run-time debuggability, rather than recompiling with 'make debug'.