# # ChangeLog for libcfa # # Generated by Trac 1.2.1 # Apr 30, 2024, 3:05:28 PM Fri, 03 Apr 2020 17:46:32 GMT Andrew Beach [73530d9] * libcfa/src/exception.c (modified) Set up the public fields in _Unwind_Exception. Helps with cross ... Thu, 02 Apr 2020 19:00:55 GMT Andrew Beach [3eb5a478] * libcfa/src/exception.c (modified) * tests/exceptions/.expect/interact.txt (modified) * tests/exceptions/.expect/resume.txt (modified) * tests/exceptions/interact.cfa (modified) * tests/exceptions/resume.cfa (modified) Fixed the disabled exceptions/resume test. Added more tests in ... Thu, 02 Apr 2020 01:32:21 GMT Peter A. Buhr [cfbc703d] * libcfa/src/heap.cfa (modified) * libcfa/src/stdhdr/malloc.h (modified) * libcfa/src/stdlib.cfa (modified) * libcfa/src/stdlib.hfa (modified) * tests/.expect/alloc-ERROR.txt (modified) * tests/.expect/alloc.txt (modified) * tests/alloc.cfa (modified) add resize and more "alloc" routines Tue, 31 Mar 2020 22:21:44 GMT Thierry Delisle [f586539] * libcfa/src/concurrency/kernel.cfa (modified) Fixed incorrect check reporting the main thread has corrupted stack Mon, 30 Mar 2020 15:36:54 GMT Andrew Beach [3090127] * libcfa/src/exception.c (modified) * libcfa/src/exception.h (modified) * src/ControlStruct/ExceptTranslate.cc (modified) * src/ResolvExpr/Resolver.cc (modified) * tests/exceptions/except-mac.hfa (modified) Naming updates, most are to get exception names to the new ... Fri, 27 Mar 2020 23:28:06 GMT Thierry Delisle [92e7631] * libcfa/src/bits/containers.hfa (modified) * libcfa/src/bits/locks.hfa (modified) * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/concurrency/kernel.hfa (modified) * libcfa/src/concurrency/kernel_private.hfa (modified) Fixed ready state. Fixed race condition between __halt and __wake_* Fri, 27 Mar 2020 16:41:19 GMT Thierry Delisle [f0ce5f4] * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/concurrency/kernel.hfa (modified) V-ing a semaphore now returns wether or not a thread was woken up. ... Fri, 27 Mar 2020 16:05:49 GMT Thierry Delisle [ae7be7a] * libcfa/src/concurrency/coroutine.hfa (modified) * libcfa/src/concurrency/invoke.h (modified) * libcfa/src/concurrency/kernel.cfa (modified) Fixed incorrect setting of ready state and added result to previous ... Thu, 26 Mar 2020 14:56:38 GMT Andrew Beach [9cb89b87] * libcfa/src/exception.c (modified) Clean-up in exception.c, follow up from the last one. Wed, 25 Mar 2020 20:36:25 GMT Andrew Beach [2a3b019] * libcfa/src/exception.c (modified) Cleaning exception code: no direct access to shared_stack anymore, ... Wed, 25 Mar 2020 14:16:25 GMT Thierry Delisle [276ae57e] * libcfa/src/concurrency/kernel.cfa (modified) Fix yesterday's checks where the stale flag was wrong Tue, 24 Mar 2020 17:39:31 GMT Thierry Delisle [ae66348] * libcfa/src/bits/debug.hfa (modified) * libcfa/src/bits/locks.hfa (modified) * libcfa/src/concurrency/invoke.h (modified) * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/concurrency/monitor.cfa (modified) * libcfa/src/concurrency/mutex.cfa (modified) * libcfa/src/concurrency/thread.hfa (modified) * libcfa/src/startup.cfa (modified) * tests/concurrent/park/contention.cfa (modified) * tests/concurrent/park/force_preempt.cfa (modified) Threads in debug now keep track of last function to park/unpark it Mon, 23 Mar 2020 22:15:33 GMT Thierry Delisle [210b8b3] * libcfa/src/concurrency/invoke.h (modified) * libcfa/src/concurrency/kernel.cfa (modified) Added checks that the stack pointer is consistent when running and ... Fri, 20 Mar 2020 20:40:54 GMT Andrew Beach [9640813] * libcfa/src/exception.c (modified) Clean-up in exception.c. Moved platform checks to the top of the file. Wed, 18 Mar 2020 15:44:43 GMT Andrew Beach [0f6ac828] * libcfa/src/exception.c (modified) Did a round of tests and it looks like the personality function does ... Tue, 17 Mar 2020 00:57:58 GMT Peter A. Buhr [c243092] * libcfa/src/Makefile.am (modified) * libcfa/src/Makefile.in (modified) put bitmanip.hfa into the public "include" directory Mon, 16 Mar 2020 19:04:32 GMT Peter A. Buhr [03eabf4] * libcfa/src/bitmanip.hfa (added) * tests/.expect/bitmanip.txt (added) * tests/bitmanip.cfa (added) first attempt at consolidating bit-manipulation operations Sun, 15 Mar 2020 20:44:10 GMT Peter A. Buhr [6791213] * libcfa/src/interpose.cfa (modified) fix abort to add newline if abort message does not end with one Thu, 12 Mar 2020 19:26:18 GMT Peter A. Buhr [852a2f06] * libcfa/src/iostream.cfa (modified) fix recusion for base10_128, fix printing of int128 with width using ... Mon, 09 Mar 2020 15:09:52 GMT Thierry Delisle [5b544a6] * benchmark/ctxswitch/cfa_cor.cfa (modified) * libcfa/prelude/builtins.c (modified) * libcfa/src/concurrency/coroutine.cfa (modified) * libcfa/src/concurrency/coroutine.hfa (modified) * src/AST/Convert.cpp (modified) * src/AST/Decl.hpp (modified) * src/AST/Fwd.hpp (modified) * src/AST/Pass.hpp (modified) * src/AST/Pass.impl.hpp (modified) * src/AST/Print.cpp (modified) * src/AST/Stmt.hpp (modified) * src/AST/Visitor.hpp (modified) * src/Common/PassVisitor.h (modified) * src/Common/PassVisitor.impl.h (modified) * src/Concurrency/Keywords.cc (modified) * src/Parser/ParseNode.h (modified) * src/Parser/StatementNode.cc (modified) * src/Parser/TypeData.cc (modified) * src/Parser/lex.ll (modified) * src/Parser/parser.yy (modified) * src/SynTree/Declaration.h (modified) * src/SynTree/Mutator.h (modified) * src/SynTree/Statement.cc (modified) * src/SynTree/Statement.h (modified) * src/SynTree/SynTree.h (modified) * src/SynTree/Visitor.h (modified) * tests/concurrent/.expect/suspend_then.txt (added) * tests/concurrent/coroutineYield.cfa (modified) * tests/concurrent/suspend_then.cfa (moved) * tests/coroutine/.expect/fmtLines.txt (modified) * tests/coroutine/.in/fmtLines.txt (modified) * tests/coroutine/cntparens.cfa (modified) * tests/coroutine/devicedriver.cfa (modified) * tests/coroutine/fibonacci.cfa (modified) * tests/coroutine/fibonacci_1.cfa (modified) * tests/coroutine/fmtLines.cfa (modified) * tests/coroutine/raii.cfa (modified) * tests/coroutine/runningTotal.cfa (modified) * tests/coroutine/suspend_then.cfa (modified) * tests/errors/.expect/completeType.txt (modified) * tests/errors/suspend.cfa (added) * tests/generator/.expect/fibonacci.txt (added) * tests/generator/.expect/fmtLines.txt (added) * tests/generator/.expect/suspend_then.txt (added) * tests/generator/.in/fmtLines.txt (added) * tests/generator/fibonacci.cfa (added) * tests/generator/fmtLines.cfa (added) * tests/generator/suspend_then.cfa (added) Merge branch 'generator' Fri, 06 Mar 2020 18:46:00 GMT Peter A. Buhr [ca7949b] * libcfa/src/heap.cfa (modified) * libcfa/src/stdlib.hfa (modified) update comments Thu, 05 Mar 2020 21:09:54 GMT Peter A. Buhr [dd7c6520] * libcfa/src/iostream.cfa (modified) fixed printing int128 binary, and started fixing int128 decimal Tue, 03 Mar 2020 02:34:08 GMT Peter A. Buhr [d870df3] * libcfa/src/interpose.cfa (modified) fix abort problem where va_list was forwarded incorrectly Mon, 02 Mar 2020 21:59:27 GMT Thierry Delisle [427854b] * benchmark/ctxswitch/cfa_cor.cfa (modified) * libcfa/prelude/builtins.c (modified) * libcfa/src/concurrency/coroutine.cfa (modified) * libcfa/src/concurrency/coroutine.hfa (modified) * src/AST/Decl.hpp (modified) * src/Concurrency/Keywords.cc (modified) * src/GenPoly/Lvalue.cc (modified) * src/Parser/ParseNode.h (modified) * src/Parser/StatementNode.cc (modified) * src/Parser/TypeData.cc (modified) * src/Parser/parser.yy (modified) * src/SynTree/Declaration.h (modified) * src/SynTree/Statement.h (modified) * tests/concurrent/coroutineThen.cfa (modified) * tests/concurrent/coroutineYield.cfa (modified) * tests/coroutine/.in/fmtLines.txt (modified) * tests/coroutine/cntparens.cfa (modified) * tests/coroutine/devicedriver.cfa (modified) * tests/coroutine/fibonacci.cfa (modified) * tests/coroutine/fibonacci_1.cfa (modified) * tests/coroutine/fmtLines.cfa (modified) * tests/coroutine/raii.cfa (modified) * tests/coroutine/runningTotal.cfa (modified) * tests/coroutine/suspend_then.cfa (modified) * tests/generator/.expect/fibonacci.txt (added) * tests/generator/fibonacci.cfa (added) First draft implementation of generators, still missing error ... Fri, 28 Feb 2020 22:53:24 GMT Andrew Beach [190224d] * libcfa/src/exception.c (modified) Exceptions should now work on 32bit. Testing error corrected. Fri, 28 Feb 2020 19:45:02 GMT Thierry Delisle [dac55004] * libcfa/src/bits/containers.hfa (modified) * libcfa/src/concurrency/monitor.cfa (modified) Moved assert which wasn't really checking for an invariant Mon, 24 Feb 2020 19:21:03 GMT Thierry Delisle [ac2b598] * libcfa/src/concurrency/alarm.cfa (modified) * libcfa/src/concurrency/alarm.hfa (modified) * libcfa/src/concurrency/coroutine.cfa (modified) * libcfa/src/concurrency/coroutine.hfa (modified) * libcfa/src/concurrency/invoke.c (modified) * libcfa/src/concurrency/invoke.h (modified) * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/concurrency/kernel.hfa (modified) * libcfa/src/concurrency/kernel_private.hfa (modified) * libcfa/src/concurrency/monitor.cfa (modified) * libcfa/src/concurrency/monitor.hfa (modified) * libcfa/src/concurrency/mutex.cfa (modified) * libcfa/src/concurrency/mutex.hfa (modified) * libcfa/src/concurrency/preemption.cfa (modified) * libcfa/src/concurrency/thread.cfa (modified) * libcfa/src/concurrency/thread.hfa (modified) * src/Concurrency/Keywords.cc (modified) * src/Concurrency/Waitfor.cc (modified) * src/ResolvExpr/AlternativeFinder.cc (modified) Changed descriptors for concurrency to use $ prefix instead of ... Mon, 24 Feb 2020 16:52:07 GMT Thierry Delisle [0f2c555] * libcfa/src/concurrency/coroutine.hfa (modified) * libcfa/src/concurrency/kernel.hfa (modified) Removed attribute const on active_* routines as it is unclear how ... Fri, 21 Feb 2020 22:31:19 GMT Thierry Delisle [c7a900a] * libcfa/src/concurrency/CtxSwitch-arm.S (modified) * libcfa/src/concurrency/CtxSwitch-i386.S (modified) * libcfa/src/concurrency/CtxSwitch-x86_64.S (modified) * libcfa/src/concurrency/coroutine.cfa (modified) * libcfa/src/concurrency/coroutine.hfa (modified) * libcfa/src/concurrency/invoke.c (modified) * libcfa/src/concurrency/invoke.h (modified) * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/concurrency/kernel.hfa (modified) * libcfa/src/concurrency/kernel_private.hfa (modified) * libcfa/src/concurrency/monitor.cfa (modified) * libcfa/src/concurrency/preemption.cfa (modified) * libcfa/src/concurrency/thread.cfa (modified) More renames and clean-ups Fri, 21 Feb 2020 20:36:36 GMT Thierry Delisle [a505021] * Jenkinsfile (modified) * benchmark/Makefile.am (modified) * benchmark/Makefile.in (modified) * benchmark/baselines/x64/schedint.csv (moved) * benchmark/baselines/x86/schedint.csv (moved) * doc/papers/ibm_CASCON19/ThreadingModels.fig (added) * doc/papers/ibm_CASCON19/ThreadingModels.png (added) * doc/papers/ibm_CASCON19/ThreadingModels.svg (added) * doc/papers/ibm_CASCON19/abstract.txt (added) * doc/papers/ibm_CASCON19/client.cfa (added) * doc/papers/ibm_CASCON19/server.cfa (added) * doc/papers/ibm_CASCON19/slides.pdf (added) * doc/theses/thierry_delisle_PhD/.gitignore (added) * doc/theses/thierry_delisle_PhD/code/Makefile (added) * doc/theses/thierry_delisle_PhD/code/bts_test.cpp (added) * doc/theses/thierry_delisle_PhD/code/randbit.cpp (added) * doc/theses/thierry_delisle_PhD/code/relaxed_list.cpp (modified) * doc/theses/thierry_delisle_PhD/code/relaxed_list.hpp (modified) * doc/theses/thierry_delisle_PhD/code/relaxed_list_layout.cpp (added) * doc/theses/thierry_delisle_PhD/code/scale.sh (added) * doc/theses/thierry_delisle_PhD/code/utils.hpp (modified) * doc/theses/thierry_delisle_PhD/comp_II/Makefile (added) * doc/theses/thierry_delisle_PhD/comp_II/comp_II.tex (added) * doc/theses/thierry_delisle_PhD/comp_II/comp_II_too_big.tex (added) * doc/theses/thierry_delisle_PhD/comp_II/glossary.tex (added) * doc/theses/thierry_delisle_PhD/comp_II/local.bib (added) * driver/cfa.cc (modified) * libcfa/prelude/Makefile.am (modified) * libcfa/prelude/Makefile.in (modified) * libcfa/prelude/extras.regx (modified) * libcfa/prelude/extras.regx2 (added) * libcfa/prelude/prototypes.awk (modified) * libcfa/src/assert.cfa (modified) * libcfa/src/bits/debug.cfa (modified) * libcfa/src/bits/debug.hfa (modified) * libcfa/src/bits/locks.hfa (modified) * libcfa/src/concurrency/coroutine.cfa (modified) * libcfa/src/concurrency/coroutine.hfa (modified) * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/concurrency/kernel.hfa (modified) * libcfa/src/exception.c (modified) * libcfa/src/fstream.cfa (modified) * libcfa/src/fstream.hfa (modified) * libcfa/src/gmp.hfa (modified) * libcfa/src/heap.cfa (modified) * libcfa/src/interpose.cfa (modified) * libcfa/src/iostream.cfa (modified) * libcfa/src/iostream.hfa (modified) * libcfa/src/math.hfa (modified) * libcfa/src/rational.cfa (modified) * libcfa/src/startup.cfa (modified) * libcfa/src/stdhdr/assert.h (modified) * libcfa/src/stdhdr/bfdlink.h (modified) * libcfa/src/stdhdr/hwloc.h (modified) * libcfa/src/stdhdr/krb5.h (modified) * libcfa/src/stdhdr/math.h (modified) * libcfa/src/stdhdr/sys/ucontext.h (modified) * libcfa/src/stdlib.cfa (modified) * libcfa/src/stdlib.hfa (modified) * libcfa/src/time.cfa (modified) * libcfa/src/time.hfa (modified) * longrun_tests/Makefile.in (modified) * src/CodeGen/CodeGenerator.cc (modified) * src/CodeGen/CodeGenerator.h (modified) * src/CodeGen/FixMain.h (modified) * src/CodeGen/GenType.h (modified) * src/CodeGen/Generate.cc (modified) * src/CodeGen/OperatorTable.cc (modified) * src/CodeGen/OperatorTable.h (modified) * src/CodeGen/Options.h (modified) * src/CodeTools/ResolvProtoDump.cc (modified) * src/Common/PassVisitor.impl.h (modified) * src/Common/SemanticError.h (modified) * src/Common/utility.h (modified) * src/ControlStruct/Mutate.cc (modified) * src/InitTweak/FixInit.cc (modified) * src/InitTweak/FixInit.h (modified) * src/MakeLibCfa.cc (modified) * src/Parser/ParseNode.h (modified) * src/Parser/ParserTypes.h (modified) * src/Parser/TypedefTable.cc (modified) * src/Parser/TypedefTable.h (modified) * src/Parser/lex.ll (modified) * src/Parser/parser.yy (modified) * src/ResolvExpr/Resolver.cc (modified) * src/SymTab/Demangle.cc (modified) * src/SymTab/Mangler.cc (modified) * src/SymTab/Validate.cc (modified) * src/SynTree/Attribute.h (modified) * src/cfa.make (modified) * src/main.cc (modified) * tests/.expect/alloc-ERROR.txt (modified) * tests/.expect/alloc.txt (modified) * tests/.expect/declarationErrors.txt (deleted) * tests/.expect/nested-types-ERR1.txt (modified) * tests/.expect/nested-types-ERR2.txt (modified) * tests/.expect/rational.txt (modified) * tests/.expect/scopeErrors.txt (deleted) * tests/.expect/userLiterals.txt (added) * tests/Makefile.in (modified) * tests/abort.cfa (deleted) * tests/alloc.cfa (modified) * tests/concurrent/examples/quickSort.cfa (modified) * tests/errors/.expect/completeType.txt (moved) * tests/errors/.expect/declaration.txt (added) * tests/errors/.expect/scope.txt (added) * tests/errors/.expect/signature.txt (added) * tests/errors/completeType.cfa (moved) * tests/errors/declaration.cfa (moved) * tests/errors/scope.cfa (moved) * tests/errors/signature.cfa (added) * tests/exceptions/.expect/except-0.txt (added) * tests/exceptions/.expect/except-1.txt (added) * tests/exceptions/.expect/except-2.txt (added) * tests/exceptions/.expect/except-3.txt (added) * tests/exceptions/except-0.cfa (modified) * tests/exceptions/except-2.cfa (modified) * tests/labelledExit.cfa (modified) * tests/linking/.expect/nostdlib.txt (added) * tests/linking/nostdlib.cfa (added) * tests/nested-types.cfa (modified) * tests/pybin/tools.py (modified) * tests/quotedKeyword.cfa (modified) * tests/rational.cfa (modified) * tests/test.py (modified) * tests/userLiterals.cfa (modified) * tests/zombies/context.cfa (moved) * tests/zombies/namedParmArg.cfa (moved) * tests/zombies/occursError.cfa (moved) * tests/zombies/scope.cfa (moved) * tests/zombies/structMember.cfa (moved) * tests/zombies/subrange.cfa (moved) * tests/zombies/typeGenerator.cfa (moved) * tests/zombies/typedef.cfa (moved) * tests/zombies/typedefDeclarator.cfa (moved) * tests/zombies/virtualCast.cfa (moved) * tests/zombies/withStatement.cfa (moved) Merge branch 'master' into park_unpark Fri, 21 Feb 2020 20:33:14 GMT Thierry Delisle [8c50aed] * libcfa/src/concurrency/coroutine.hfa (modified) * libcfa/src/concurrency/invoke.h (modified) * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/concurrency/kernel.hfa (modified) * libcfa/src/concurrency/kernel_private.hfa (modified) * libcfa/src/concurrency/preemption.cfa (modified) * libcfa/src/concurrency/thread.cfa (modified) * libcfa/src/concurrency/thread.hfa (modified) Some clean-up and renaming, also adding __attribute__((const/pure)) ... Thu, 20 Feb 2020 21:08:11 GMT Peter A. Buhr [2cbfe92] * libcfa/src/concurrency/thread.cfa (modified) Merge branch 'master' of plg.uwaterloo.ca:software/cfa/cfa-cc Thu, 20 Feb 2020 21:08:00 GMT Peter A. Buhr [e59e663] * libcfa/src/iostream.cfa (modified) fix build error Thu, 20 Feb 2020 21:00:54 GMT Thierry Delisle [4783ff6] * libcfa/src/fstream.hfa (modified) * libcfa/src/iostream.cfa (modified) * libcfa/src/iostream.hfa (modified) Merge branch 'master' of plg.uwaterloo.ca:software/cfa/cfa-cc Thu, 20 Feb 2020 21:00:51 GMT Thierry Delisle [5b2b42e] * libcfa/src/concurrency/thread.cfa (modified) Removed the old ctxswitch in thread_start and the variable that ... Thu, 20 Feb 2020 20:34:00 GMT Peter A. Buhr [bd5b443] * libcfa/src/iostream.cfa (modified) * libcfa/src/iostream.hfa (modified) add printing macros for int128 to iostream Thu, 20 Feb 2020 20:32:59 GMT Peter A. Buhr [40cac90] * libcfa/src/fstream.hfa (modified) add printf/scanf attribute to ostream/istream "fmt" routine Wed, 19 Feb 2020 01:52:55 GMT Peter A. Buhr [fca3bf8] * libcfa/src/exception.c (modified) * src/ResolvExpr/Resolver.cc (modified) * tests/exceptions/.expect/except-0.txt (added) * tests/exceptions/.expect/except-1.txt (added) * tests/exceptions/.expect/except-2.txt (added) * tests/exceptions/.expect/except-3.txt (added) * tests/exceptions/except-0.cfa (modified) * tests/exceptions/except-2.cfa (modified) Merge branch 'master' of plg.uwaterloo.ca:software/cfa/cfa-cc Tue, 18 Feb 2020 17:10:08 GMT Andrew Beach [3b9c674] * libcfa/src/exception.c (modified) * src/ResolvExpr/Resolver.cc (modified) * tests/exceptions/.expect/except-0.txt (added) * tests/exceptions/.expect/except-1.txt (added) * tests/exceptions/.expect/except-2.txt (added) * tests/exceptions/.expect/except-3.txt (added) * tests/exceptions/except-0.cfa (modified) * tests/exceptions/except-2.cfa (modified) Expections now supported in position independent code. Mon, 17 Feb 2020 15:22:16 GMT Peter A. Buhr [5ccee64] * libcfa/src/interpose.cfa (modified) * tests/zombies/abort.cfa (deleted) change backtrace starting point from level 3 to level 2 Fri, 14 Feb 2020 20:28:17 GMT Thierry Delisle [b0c7419] * libcfa/src/concurrency/invoke.h (modified) * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/concurrency/kernel.hfa (modified) * libcfa/src/concurrency/kernel_private.hfa (modified) * libcfa/src/concurrency/monitor.cfa (modified) * libcfa/src/concurrency/thread.hfa (modified) * tests/concurrent/park/.expect/force_preempt.txt (modified) * tests/concurrent/park/force_preempt.cfa (modified) Yield now uses force_yield instead of park/unpark. Final ctxswitch ... Thu, 13 Feb 2020 21:40:16 GMT Thierry Delisle [50b8885] * libcfa/src/concurrency/invoke.h (modified) * libcfa/src/concurrency/monitor.cfa (modified) * libcfa/src/concurrency/monitor.hfa (modified) * tests/concurrent/park/force_preempt.cfa (modified) Removed owner reason from monitors which was only for debug and did ... Thu, 13 Feb 2020 21:18:07 GMT Thierry Delisle [3381ed7] * libcfa/src/bits/containers.hfa (modified) * libcfa/src/bits/locks.hfa (modified) * libcfa/src/concurrency/invoke.h (modified) * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/concurrency/kernel_private.hfa (modified) * libcfa/src/concurrency/monitor.cfa (modified) * libcfa/src/concurrency/monitor.hfa (modified) * libcfa/src/concurrency/mutex.cfa (modified) * libcfa/src/concurrency/preemption.cfa (modified) * libcfa/src/concurrency/thread.cfa (modified) * libcfa/src/concurrency/thread.hfa (modified) * tests/concurrent/examples/.expect/datingService.txt (modified) * tests/concurrent/examples/datingService.cfa (modified) * tests/concurrent/multi-monitor.cfa (modified) * tests/concurrent/park/.expect/contention.txt (added) * tests/concurrent/park/.expect/force_preempt.txt (added) * tests/concurrent/park/contention.cfa (added) * tests/concurrent/park/force_preempt.cfa (added) Added park/unpark primitives thread and removed BlockInternal. ... Sun, 09 Feb 2020 15:11:51 GMT Peter A. Buhr [d231700] * libcfa/src/gmp.hfa (modified) remove zero_t/one_t constructor because of relationship with ... Sun, 09 Feb 2020 13:56:01 GMT Peter A. Buhr [f00b2c2c] * libcfa/src/rational.cfa (modified) * tests/.expect/rational.txt (modified) * tests/rational.cfa (modified) defined rational constructor from 0 [fixes #117] Sun, 09 Feb 2020 03:33:38 GMT Peter A. Buhr [8c9da33] * libcfa/prelude/prototypes.awk (modified) formatting Sat, 08 Feb 2020 20:21:45 GMT Peter A. Buhr [3ecfa13] * libcfa/src/assert.cfa (modified) * libcfa/src/bits/debug.cfa (modified) * libcfa/src/bits/debug.hfa (modified) * libcfa/src/bits/locks.hfa (modified) * libcfa/src/concurrency/CtxSwitch-x86_64.S (modified) * libcfa/src/concurrency/coroutine.cfa (modified) * libcfa/src/concurrency/coroutine.hfa (modified) * libcfa/src/concurrency/invoke.c (modified) * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/concurrency/kernel.hfa (modified) * libcfa/src/concurrency/kernel_private.hfa (modified) * libcfa/src/concurrency/monitor.cfa (modified) * libcfa/src/concurrency/thread.cfa (modified) * libcfa/src/concurrency/thread.hfa (modified) * libcfa/src/fstream.cfa (modified) * libcfa/src/fstream.hfa (modified) * libcfa/src/gmp.hfa (modified) * libcfa/src/heap.cfa (modified) * libcfa/src/interpose.cfa (modified) * libcfa/src/iostream.cfa (modified) * libcfa/src/iostream.hfa (modified) * libcfa/src/math.hfa (modified) * libcfa/src/startup.cfa (modified) * libcfa/src/stdhdr/assert.h (modified) * libcfa/src/stdhdr/bfdlink.h (modified) * libcfa/src/stdhdr/hwloc.h (modified) * libcfa/src/stdhdr/krb5.h (modified) * libcfa/src/stdhdr/math.h (modified) * libcfa/src/stdhdr/sys/ucontext.h (modified) * libcfa/src/stdlib.cfa (modified) * libcfa/src/stdlib.hfa (modified) * libcfa/src/time.cfa (modified) * libcfa/src/time.hfa (modified) * src/Common/PassVisitor.impl.h (modified) * src/Concurrency/Keywords.cc (modified) * src/Parser/ParseNode.h (modified) * src/Parser/lex.ll (modified) * src/main.cc (modified) * tests/expression.cfa (modified) * tests/labelledExit.cfa (modified) * tests/quotedKeyword.cfa (modified) Merge branch 'master' of plg.uwaterloo.ca:software/cfa/cfa-cc Sat, 08 Feb 2020 20:19:47 GMT Peter A. Buhr [fb64e86] * libcfa/prelude/Makefile.am (modified) * libcfa/prelude/Makefile.in (modified) * libcfa/prelude/extras.regx (modified) * libcfa/prelude/extras.regx2 (added) allow pattern for extra function declarations to span multiple lines Sat, 08 Feb 2020 15:07:49 GMT Peter A. Buhr [74330e7] * libcfa/src/interpose.cfa (modified) * src/main.cc (modified) formatting, add floating-point signal handler to cpp-cc to catch ... Sat, 08 Feb 2020 12:41:33 GMT Peter A. Buhr [d1a9ff5] * libcfa/src/fstream.cfa (modified) * libcfa/src/fstream.hfa (modified) * libcfa/src/gmp.hfa (modified) * libcfa/src/iostream.cfa (modified) * libcfa/src/iostream.hfa (modified) change private names to start with $, change NULL to 0p Sat, 08 Feb 2020 12:40:45 GMT Peter A. Buhr [095ac99] * libcfa/src/stdhdr/bfdlink.h (modified) * libcfa/src/stdhdr/hwloc.h (modified) * libcfa/src/stdhdr/krb5.h (modified) * libcfa/src/stdhdr/math.h (modified) * libcfa/src/stdhdr/sys/ucontext.h (modified) * src/Parser/lex.ll (modified) * tests/quotedKeyword.cfa (modified) change backquoted keywords from ``xxx`` to ``xxx Thu, 06 Feb 2020 15:23:27 GMT Thierry Delisle [9f575ea] * libcfa/src/concurrency/invoke.h (modified) * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/concurrency/kernel_private.hfa (modified) * libcfa/src/concurrency/monitor.cfa (modified) * libcfa/src/concurrency/mutex.cfa (modified) * libcfa/src/concurrency/preemption.cfa (modified) * libcfa/src/concurrency/thread.cfa (modified) First attempt at park/unpark Tue, 04 Feb 2020 19:03:19 GMT Peter A. Buhr [52142c2] * libcfa/src/concurrency/CtxSwitch-x86_64.S (modified) * libcfa/src/concurrency/coroutine.cfa (modified) * libcfa/src/concurrency/coroutine.hfa (modified) * libcfa/src/concurrency/invoke.c (modified) * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/concurrency/kernel_private.hfa (modified) * libcfa/src/concurrency/monitor.cfa (modified) * libcfa/src/concurrency/thread.cfa (modified) * libcfa/src/concurrency/thread.hfa (modified) * src/Concurrency/Keywords.cc (modified) Merge branch 'master' of plg.uwaterloo.ca:software/cfa/cfa-cc Tue, 04 Feb 2020 19:03:07 GMT Peter A. Buhr [e3fea42] * libcfa/src/assert.cfa (modified) * libcfa/src/bits/debug.cfa (modified) * libcfa/src/bits/debug.hfa (modified) * libcfa/src/bits/locks.hfa (modified) * libcfa/src/concurrency/coroutine.cfa (modified) * libcfa/src/concurrency/coroutine.hfa (modified) * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/concurrency/kernel.hfa (modified) * libcfa/src/fstream.cfa (modified) * libcfa/src/fstream.hfa (modified) * libcfa/src/gmp.hfa (modified) * libcfa/src/heap.cfa (modified) * libcfa/src/iostream.cfa (modified) * libcfa/src/iostream.hfa (modified) * libcfa/src/math.hfa (modified) * libcfa/src/startup.cfa (modified) * libcfa/src/stdhdr/assert.h (modified) * libcfa/src/stdlib.cfa (modified) * libcfa/src/stdlib.hfa (modified) * libcfa/src/time.cfa (modified) * libcfa/src/time.hfa (modified) change "const char *" to "const char []" Tue, 04 Feb 2020 19:00:42 GMT Peter A. Buhr [1d94116] * libcfa/src/interpose.cfa (modified) do not allow a NULL printf-format to abort Tue, 04 Feb 2020 16:29:22 GMT Thierry Delisle [4f7b418] * benchmark/Makefile.am (modified) * benchmark/Makefile.in (modified) * benchmark/creation/cfa_gen.cfa (added) * benchmark/ctxswitch/node_await.js (added) * benchmark/exclude (added) * benchmark/schedext/cfa1.cfa (modified) * benchmark/schedext/cfa2.cfa (modified) * benchmark/schedext/cfa4.cfa (modified) * benchmark/schedext/goroutine.go (added) * benchmark/schedext/upp.cc (modified) * benchmark/schedint/JavaThread.java (modified) * benchmark/schedint/cfa1.cfa (modified) * benchmark/schedint/cfa2.cfa (modified) * benchmark/schedint/cfa4.cfa (modified) * benchmark/schedint/pthreads.c (modified) * benchmark/schedint/rust.rs (modified) * benchmark/schedint/upp.cc (modified) * driver/cfa.cc (modified) * libcfa/src/bits/defs.hfa (modified) * libcfa/src/bits/signal.hfa (modified) * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/interpose.cfa (modified) * libcfa/src/stdhdr/bfdlink.h (modified) * libcfa/src/stdhdr/hwloc.h (modified) * libcfa/src/stdhdr/krb5.h (modified) * libcfa/src/stdhdr/math.h (modified) * libcfa/src/stdhdr/sys/ucontext.h (modified) * src/ControlStruct/LabelFixer.cc (modified) * src/ControlStruct/MLEMutator.cc (modified) * src/ControlStruct/MLEMutator.h (modified) * src/Parser/lex.ll (modified) * src/Parser/parser.yy (modified) * tests/.expect/except-finally-error.txt (deleted) * tests/exceptions/.expect/finally-error.txt (added) * tests/exceptions/except-0.cfa (moved) * tests/exceptions/except-1.cfa (moved) * tests/exceptions/except-2.cfa (moved) * tests/exceptions/except-3.cfa (moved) * tests/exceptions/except-mac.hfa (moved) * tests/exceptions/finally-error.cfa (moved) * tests/expression.cfa (modified) * tests/quotedKeyword.cfa (modified) Merge branch 'master' of plg.uwaterloo.ca:software/cfa/cfa-cc Tue, 04 Feb 2020 16:29:11 GMT Thierry Delisle [09f357ec] * libcfa/src/concurrency/CtxSwitch-x86_64.S (modified) * libcfa/src/concurrency/coroutine.cfa (modified) * libcfa/src/concurrency/coroutine.hfa (modified) * libcfa/src/concurrency/invoke.c (modified) * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/concurrency/kernel_private.hfa (modified) * libcfa/src/concurrency/monitor.cfa (modified) * libcfa/src/concurrency/thread.cfa (modified) * libcfa/src/concurrency/thread.hfa (modified) * src/Concurrency/Keywords.cc (modified) Optim : coroutine and thread creation no-longer uses polymorphic ... Sat, 01 Feb 2020 18:27:09 GMT Peter A. Buhr [948fdef] * libcfa/src/stdhdr/bfdlink.h (modified) * libcfa/src/stdhdr/hwloc.h (modified) * libcfa/src/stdhdr/krb5.h (modified) * libcfa/src/stdhdr/math.h (modified) * libcfa/src/stdhdr/sys/ucontext.h (modified) * src/Parser/lex.ll (modified) * src/Parser/parser.yy (modified) * tests/expression.cfa (modified) * tests/quotedKeyword.cfa (modified) change backquotes identifiers to ``xxx`` syntax, change priority of ... Fri, 31 Jan 2020 03:59:12 GMT Peter A. Buhr [8a13c47] * libcfa/src/bits/defs.hfa (modified) * libcfa/src/bits/signal.hfa (modified) * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/interpose.cfa (modified) restructure errors invoking signal handlers and handled by abort Fri, 17 Jan 2020 20:01:27 GMT Peter A. Buhr [cca568e] * benchmark/schedext/cfa1.cfa (modified) * benchmark/schedext/cfa2.cfa (modified) * benchmark/schedext/cfa4.cfa (modified) * libcfa/src/executor.cfa (modified) * src/Concurrency/Waitfor.cc (modified) * tests/concurrent/examples/boundedBufferEXT.cfa (modified) * tests/concurrent/examples/boundedBufferTHREAD.cfa (modified) * tests/concurrent/examples/gortn.cfa (modified) * tests/concurrent/waitfor/barge.cfa (modified) * tests/concurrent/waitfor/dtor.cfa (modified) * tests/concurrent/waitfor/else.cfa (modified) * tests/concurrent/waitfor/parse.cfa (modified) * tests/concurrent/waitfor/parse2.cfa (modified) * tests/concurrent/waitfor/recurse.cfa (modified) * tests/concurrent/waitfor/statment.cfa (modified) * tests/concurrent/waitfor/when.cfa (modified) change all example waitfor statements from comma separate to colon Thu, 16 Jan 2020 04:03:47 GMT Peter A. Buhr [768bd556] * libcfa/src/bits/containers.hfa (modified) start cleanup and update of intrusive data-structures Fri, 10 Jan 2020 19:04:40 GMT Peter A. Buhr [9e1fa35] * benchmark/Makefile.am (modified) * benchmark/Makefile.in (modified) * libcfa/src/Makefile.in (modified) * longrun_tests/Makefile.in (modified) * tests/Makefile.in (modified) attempt to get RUST and nodejs benchmarks to print titles (still not ... Mon, 06 Jan 2020 19:13:42 GMT Peter A. Buhr [4834563] * libcfa/src/clock.hfa (added) * libcfa/src/startup.cfa (modified) * libcfa/src/time.hfa (modified) refactor clock out of time because time.hfa too large for 32-bit build Mon, 06 Jan 2020 02:31:00 GMT Peter A. Buhr [e0c235c] * libcfa/src/clock.hfa (deleted) * libcfa/src/concurrency/alarm.cfa (modified) * libcfa/src/time.cfa (modified) * libcfa/src/time.hfa (modified) * libcfa/src/time_t.hfa (modified) * tests/.expect/time.txt (modified) * tests/time.cfa (modified) move clock.hfa into time.hfa, add getCPUTime, rename duration and ... Tue, 17 Dec 2019 04:41:32 GMT Peter A. Buhr [7006ba5] * libcfa/src/bits/signal.hfa (modified) * src/main.cc (modified) move disabling SIGALRM/SIGUSR1 from main.cc to signal.hfa Fri, 13 Dec 2019 18:46:34 GMT Peter A. Buhr [1469a8a] * libcfa/src/interpose.cfa (modified) * src/AST/TypeVar.hpp (deleted) differentiate between null-pointer dereference and bad-pointer ... Thu, 12 Dec 2019 21:06:18 GMT Andrew Beach [eb46fdf] * libcfa/src/exception.c (modified) Clean up in exception.c. Should be no changes to code. Wed, 11 Dec 2019 12:35:37 GMT Peter A. Buhr [98d6965d] * libcfa/src/heap.cfa (modified) temporarily remove default memory exhausted message, use NULL return ... Fri, 06 Dec 2019 20:14:03 GMT Thierry Delisle [dab98b3e] * libcfa/src/concurrency/coroutine.cfa (modified) * libcfa/src/concurrency/invoke.h (modified) * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/concurrency/preemption.cfa (modified) * libcfa/src/heap.cfa (modified) * tests/linking/withthreads.cfa (modified) Merge branch 'master' of plg.uwaterloo.ca:software/cfa/cfa-cc Fri, 06 Dec 2019 20:10:09 GMT Thierry Delisle [c8c0c7c5] * benchmark/Makefile.in (modified) * driver/cfa.cc (modified) * libcfa/configure (modified) * libcfa/configure.ac (modified) * libcfa/src/Makefile.in (modified) * libcfa/src/concurrency/coroutine.cfa (modified) * longrun_tests/Makefile.in (modified) * src/cfa.make (modified) * tests/Makefile.in (modified) Now using -z execstack and use -O0 for debug mode Fri, 06 Dec 2019 03:59:19 GMT Peter A. Buhr [baf608a] * libcfa/src/heap.cfa (modified) provide switch to print heap statistics on program termination Fri, 06 Dec 2019 03:57:06 GMT Peter A. Buhr [09d4b22] * libcfa/src/concurrency/invoke.h (modified) * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/concurrency/preemption.cfa (modified) move stack for preemptive pthread from TLS to static variable Fri, 06 Dec 2019 03:54:06 GMT Peter A. Buhr [0030ada3] * libcfa/src/concurrency/coroutine.cfa (modified) remove static from stack_data_size declaration Wed, 04 Dec 2019 16:25:58 GMT Peter A. Buhr [1a3040c] * libcfa/src/concurrency/kernel.cfa (modified) add guard page to pthread stack in debug mode Wed, 04 Dec 2019 16:25:00 GMT Peter A. Buhr [121be3e] * libcfa/src/concurrency/alarm.cfa (modified) * libcfa/src/concurrency/coroutine.hfa (modified) * libcfa/src/concurrency/invoke.h (modified) * libcfa/src/concurrency/kernel.hfa (modified) * libcfa/src/concurrency/monitor.cfa (modified) * libcfa/src/concurrency/monitor.hfa (modified) * libcfa/src/concurrency/mutex.cfa (modified) * libcfa/src/concurrency/mutex.hfa (modified) * libcfa/src/concurrency/thread.cfa (modified) * libcfa/src/concurrency/thread.hfa (modified) change NULL to 0p Tue, 03 Dec 2019 23:22:44 GMT Peter A. Buhr [1d60da8] * driver/cfa.cc (modified) * libcfa/src/Makefile.am (modified) * libcfa/src/Makefile.in (modified) Merge branch 'master' of plg.uwaterloo.ca:software/cfa/cfa-cc Tue, 03 Dec 2019 23:17:58 GMT Thierry Delisle [3901457] * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/concurrency/kernel_private.hfa (modified) * libcfa/src/concurrency/preemption.cfa (modified) Merge branch 'master' of plg.uwaterloo.ca:software/cfa/cfa-cc Tue, 03 Dec 2019 23:17:54 GMT Thierry Delisle [e8c52cf] * driver/cfa.cc (modified) * libcfa/src/Makefile.am (modified) * libcfa/src/Makefile.in (modified) Tentative fix of pthread_create crash, now using -pthread instead of ... Tue, 03 Dec 2019 22:39:07 GMT Peter A. Buhr [1f6de372] * libcfa/src/heap.cfa (modified) change realloc to return 0-sized storage for size 0 rather than NULL Mon, 02 Dec 2019 04:40:54 GMT Peter A. Buhr [1805b1b] * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/concurrency/kernel_private.hfa (modified) * libcfa/src/concurrency/preemption.cfa (modified) refactor pthread_create into create_pthread, change NULL to 0p Sat, 30 Nov 2019 16:11:54 GMT Peter A. Buhr [6e7de84] * libcfa/src/startup.cfa (modified) call tzset (time zone initialization) at startup to prevent unfreed ... Sat, 30 Nov 2019 16:10:33 GMT Peter A. Buhr [4ea1c6d] * libcfa/src/heap.cfa (modified) turn on unfreed storage warning message Sat, 30 Nov 2019 16:09:37 GMT Peter A. Buhr [4cae032] * libcfa/src/fstream.cfa (modified) * libcfa/src/fstream.hfa (modified) add missing destructor for ofstream nad ifstream Sat, 30 Nov 2019 16:08:34 GMT Peter A. Buhr [27f5f71] * libcfa/src/concurrency/invoke.h (modified) * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/concurrency/kernel.hfa (modified) * libcfa/src/concurrency/preemption.cfa (modified) explicitly create stack for pthread thread, change NULL to 0p Sat, 30 Nov 2019 16:04:08 GMT Peter A. Buhr [524627e] * libcfa/src/concurrency/coroutine.cfa (modified) * libcfa/src/interpose.cfa (modified) * libcfa/src/stdlib.hfa (modified) change NULL to 0pt Tue, 26 Nov 2019 21:43:00 GMT Thierry Delisle [6c3a5ac1] * libcfa/src/concurrency/monitor.hfa (modified) * src/Concurrency/Keywords.cc (modified) * tests/concurrent/.expect/keywordErrors.txt (added) * tests/concurrent/keywordErrors.cfa (added) Added better check to guarantee proper includes are present when ... Tue, 26 Nov 2019 19:55:00 GMT Thierry Delisle [d76bd79] * libcfa/src/concurrency/kernel.hfa (modified) Added missing include in kernel.hfa which lead to memory leaks in ... Sun, 24 Nov 2019 22:58:39 GMT Peter A. Buhr [1e034d9] * libcfa/src/heap.cfa (modified) forammting, add missing call to header in alignment realloc Fri, 22 Nov 2019 20:37:39 GMT Peter A. Buhr [9aa1317] * libcfa/prelude/sync-builtins.cf (modified) * tests/builtins/sync.cfa (modified) * tests/concurrent/preempt.cfa (modified) * tests/concurrent/signal/wait.cfa (modified) Merge branch 'master' of plg.uwaterloo.ca:software/cfa/cfa-cc Fri, 22 Nov 2019 20:14:23 GMT Peter A. Buhr [d74369b] * libcfa/src/stdlib.cfa (modified) * libcfa/src/stdlib.hfa (modified) update CFA allocation routines with realloc and alignment Fri, 22 Nov 2019 20:10:22 GMT Peter A. Buhr [95eb7cf] * libcfa/src/heap.cfa (modified) major update of heap, especially realloc Fri, 22 Nov 2019 20:08:45 GMT Peter A. Buhr [0a25c34] * libcfa/prelude/builtins.c (modified) remove "sized" from polymorphic intptr for pointer values, still ... Fri, 22 Nov 2019 19:40:46 GMT Thierry Delisle [f1397d14] * libcfa/src/assert.cfa (modified) * libcfa/src/bits/align.hfa (modified) * libcfa/src/bits/debug.cfa (modified) * libcfa/src/bits/debug.hfa (modified) * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/interpose.cfa (modified) Merge branch 'master' of plg.uwaterloo.ca:software/cfa/cfa-cc Fri, 22 Nov 2019 19:40:36 GMT Thierry Delisle [c701332a] * libcfa/prelude/sync-builtins.cf (modified) * tests/builtins/sync.cfa (modified) * tests/concurrent/preempt.cfa (modified) * tests/concurrent/signal/wait.cfa (modified) Cleanup of builtin atomics to remove _1,2,4 suffix versions and ... Fri, 22 Nov 2019 02:38:54 GMT Peter A. Buhr [2909b51] * driver/cc1.cc (modified) * libcfa/src/bits/defs.hfa (modified) * libcfa/src/concurrency/invoke.h (modified) * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/concurrency/kernel_private.hfa (modified) * src/AST/Convert.cpp (modified) * src/AST/Expr.hpp (modified) * src/AST/Pass.impl.hpp (modified) * src/AST/Print.cpp (modified) * src/CodeGen/CodeGenerator.cc (modified) * src/Common/PassVisitor.impl.h (modified) * src/Common/SemanticError.cc (modified) * src/Common/SemanticError.h (modified) * src/Parser/parser.yy (modified) * src/ResolvExpr/Resolver.cc (modified) * src/SynTree/Expression.cc (modified) * src/SynTree/Expression.h (modified) * src/main.cc (modified) * tests/.expect/gccExtensions.x64.txt (modified) * tests/.expect/gccExtensions.x86.txt (modified) Merge branch 'master' of plg.uwaterloo.ca:software/cfa/cfa-cc Fri, 22 Nov 2019 02:38:49 GMT Peter A. Buhr [1c40091] * libcfa/src/assert.cfa (modified) * libcfa/src/bits/align.hfa (modified) * libcfa/src/bits/debug.cfa (modified) * libcfa/src/bits/debug.hfa (modified) * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/interpose.cfa (modified) rename __cfaabi_dbg_bits_* to __cfaabi_bits_*, add fd parameter to ... Tue, 19 Nov 2019 20:56:49 GMT Thierry Delisle [57c764c] * libcfa/src/concurrency/kernel.cfa (modified) Fixed typo Mon, 18 Nov 2019 16:11:24 GMT Thierry Delisle [21184e3] * libcfa/src/bits/defs.hfa (modified) * libcfa/src/concurrency/invoke.h (modified) * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/concurrency/kernel_private.hfa (modified) Added Thread-Local random number generator to kernel which will be ... Wed, 06 Nov 2019 18:23:45 GMT Thierry Delisle [bdf22ae] * automake/missing (modified) * libcfa/automake/missing (modified) Forgot libcfa automake/missing Fri, 25 Oct 2019 21:34:08 GMT Peter A. Buhr [89124ff] * libcfa/src/stdlib.cfa (modified) add extra alignment check and missing frees