# # ChangeLog for libcfa/src/concurrency/kernel # # Generated by Trac 1.2.1 # Nov 19, 2024, 4:28:00 AM Wed, 03 Nov 2021 15:47:32 GMT Thierry Delisle [7dd98b6] * libcfa/prelude/bootloader.cf (modified) * libcfa/src/concurrency/kernel/startup.cfa (modified) * libcfa/src/heap.cfa (modified) * libcfa/src/interpose.cfa (modified) Moved cfa_main_returned to libcfa so it works when the main is ... Thu, 23 Sep 2021 18:18:01 GMT Thierry Delisle [24e321c] * libcfa/src/concurrency/invoke.h (modified) * libcfa/src/concurrency/io.cfa (modified) * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/concurrency/kernel/fwd.hfa (modified) * libcfa/src/concurrency/kernel/startup.cfa (modified) * libcfa/src/concurrency/kernel_private.hfa (modified) * libcfa/src/concurrency/ready_queue.cfa (modified) * libcfa/src/concurrency/thread.cfa (modified) Unpark now takes a hint on locality. Thu, 23 Sep 2021 16:29:35 GMT Thierry Delisle [abcae55] * libcfa/src/concurrency/invoke.h (modified) * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/concurrency/kernel/startup.cfa (modified) * libcfa/src/concurrency/thread.cfa (modified) Removed last_cpu (and small spacing changes) Mon, 09 Aug 2021 20:52:27 GMT Thierry Delisle [d874f59] * libcfa/src/concurrency/kernel/startup.cfa (modified) * libcfa/src/concurrency/thread.cfa (modified) Fixed crash from get_cpu Wed, 07 Jul 2021 22:24:42 GMT Thierry Delisle [c86ee4c] * benchmark/readyQ/rq_bench.hfa (modified) * benchmark/readyQ/transfer.cfa (modified) * benchmark/size/size.cfa (modified) * doc/theses/andrew_beach_MMath/code/CondCatch.java (moved) * doc/theses/andrew_beach_MMath/code/CrossCatch.java (modified) * doc/theses/andrew_beach_MMath/code/CrossFinally.java (modified) * doc/theses/andrew_beach_MMath/code/ThrowEmpty.java (modified) * doc/theses/andrew_beach_MMath/code/ThrowFinally.java (modified) * doc/theses/andrew_beach_MMath/code/ThrowOther.java (modified) * doc/theses/andrew_beach_MMath/code/cond-catch.cfa (moved) * doc/theses/andrew_beach_MMath/code/cond-catch.cpp (moved) * doc/theses/andrew_beach_MMath/code/cond-fixup.cfa (moved) * doc/theses/andrew_beach_MMath/code/cross-catch.cfa (modified) * doc/theses/andrew_beach_MMath/code/cross-catch.cpp (modified) * doc/theses/andrew_beach_MMath/code/cross-finally.cfa (modified) * doc/theses/andrew_beach_MMath/code/cross-resume.cfa (modified) * doc/theses/andrew_beach_MMath/code/resume-detor.cfa (modified) * doc/theses/andrew_beach_MMath/code/resume-empty.cfa (modified) * doc/theses/andrew_beach_MMath/code/resume-finally.cfa (modified) * doc/theses/andrew_beach_MMath/code/resume-other.cfa (modified) * doc/theses/andrew_beach_MMath/code/test.sh (added) * doc/theses/andrew_beach_MMath/code/throw-detor.cfa (modified) * doc/theses/andrew_beach_MMath/code/throw-detor.cpp (modified) * doc/theses/andrew_beach_MMath/code/throw-empty.cfa (modified) * doc/theses/andrew_beach_MMath/code/throw-empty.cpp (modified) * doc/theses/andrew_beach_MMath/code/throw-finally.cfa (modified) * doc/theses/andrew_beach_MMath/code/throw-other.cfa (modified) * doc/theses/andrew_beach_MMath/code/throw-other.cpp (modified) * libcfa/prelude/builtins.c (modified) * libcfa/src/bits/weakso_locks.cfa (modified) * libcfa/src/bits/weakso_locks.hfa (modified) * libcfa/src/concurrency/alarm.cfa (modified) * libcfa/src/concurrency/alarm.hfa (modified) * libcfa/src/concurrency/clib/cfathread.cfa (modified) * libcfa/src/concurrency/coroutine.cfa (modified) * libcfa/src/concurrency/coroutine.hfa (modified) * libcfa/src/concurrency/exception.cfa (modified) * libcfa/src/concurrency/future.hfa (modified) * libcfa/src/concurrency/invoke.c (modified) * libcfa/src/concurrency/invoke.h (modified) * libcfa/src/concurrency/io.cfa (modified) * libcfa/src/concurrency/io/types.hfa (modified) * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/concurrency/kernel.hfa (modified) * libcfa/src/concurrency/kernel/fwd.hfa (modified) * libcfa/src/concurrency/kernel/startup.cfa (modified) * libcfa/src/concurrency/kernel_private.hfa (modified) * libcfa/src/concurrency/locks.cfa (modified) * libcfa/src/concurrency/locks.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/ready_queue.cfa (modified) * libcfa/src/concurrency/ready_subqueue.hfa (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) * src/ResolvExpr/CandidateFinder.cpp (modified) * tests/concurrent/semaphore.cfa (modified) * tests/concurrent/signal/block.cfa (modified) * tests/concurrent/spinaphore.cfa (modified) * tests/unified_locking/fast.cfa (modified) * tests/unified_locking/mcs.cfa (modified) * tests/unified_locking/thread_test.cfa (added) * tools/gdb/utils-gdb.py (modified) * tools/perf/process_stat_array.py (modified) * tools/vscode/uwaterloo.cforall-0.1.0/syntaxes/cfa.tmLanguage.json (modified) Merge branch 'master' of plg.uwaterloo.ca:software/cfa/cfa-cc Wed, 07 Jul 2021 22:24:22 GMT Thierry Delisle [1f45c7d] * libcfa/src/concurrency/invoke.h (modified) * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/concurrency/kernel.hfa (modified) * libcfa/src/concurrency/kernel/startup.cfa (modified) * libcfa/src/concurrency/ready_queue.cfa (modified) * libcfa/src/concurrency/thread.cfa (modified) Now tracking cpu migrations using push_stat. Some minor fixes to the ... Mon, 05 Jul 2021 20:44:20 GMT Thierry Delisle [e84ab3d] * libcfa/prelude/builtins.c (modified) * libcfa/src/bits/weakso_locks.cfa (modified) * libcfa/src/bits/weakso_locks.hfa (modified) * libcfa/src/concurrency/alarm.cfa (modified) * libcfa/src/concurrency/alarm.hfa (modified) * libcfa/src/concurrency/clib/cfathread.cfa (modified) * libcfa/src/concurrency/coroutine.cfa (modified) * libcfa/src/concurrency/coroutine.hfa (modified) * libcfa/src/concurrency/exception.cfa (modified) * libcfa/src/concurrency/invoke.c (modified) * libcfa/src/concurrency/invoke.h (modified) * libcfa/src/concurrency/io.cfa (modified) * libcfa/src/concurrency/io/types.hfa (modified) * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/concurrency/kernel.hfa (modified) * libcfa/src/concurrency/kernel/fwd.hfa (modified) * libcfa/src/concurrency/kernel/startup.cfa (modified) * libcfa/src/concurrency/kernel_private.hfa (modified) * libcfa/src/concurrency/locks.cfa (modified) * libcfa/src/concurrency/locks.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/ready_queue.cfa (modified) * libcfa/src/concurrency/ready_subqueue.hfa (modified) * libcfa/src/concurrency/thread.cfa (modified) * libcfa/src/concurrency/thread.hfa (modified) * src/Concurrency/Keywords.cc (modified) Step 1 of changing $thread to thread$ Mon, 21 Jun 2021 19:41:22 GMT Thierry Delisle [ef94ae7] * libcfa/src/concurrency/kernel/startup.cfa (modified) * libcfa/src/concurrency/ready_queue.cfa (modified) * libcfa/src/concurrency/ready_subqueue.hfa (modified) * libcfa/src/concurrency/thread.cfa (modified) Changed ready-queue to use -1 for empty ts. Mon, 21 Jun 2021 19:40:00 GMT Thierry Delisle [0ee224b] * libcfa/src/concurrency/kernel/startup.cfa (modified) * libcfa/src/concurrency/ready_queue.cfa (modified) Fixed rseq so it is initilizaed even for non-processor threads. Thu, 17 Jun 2021 19:05:54 GMT Thierry Delisle [12daa43] * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/concurrency/kernel.hfa (modified) * libcfa/src/concurrency/kernel/startup.cfa (modified) * libcfa/src/concurrency/ready_queue.cfa (modified) Added a define switch for using cpu workstealing. Not Fully implemented. Thu, 17 Jun 2021 17:55:39 GMT Thierry Delisle [fde879b3] * libcfa/src/concurrency/kernel/startup.cfa (modified) Fixed typo in startup.cfa without rseq support. Thu, 17 Jun 2021 17:37:55 GMT Thierry Delisle [f558b5f] * libcfa/src/concurrency/kernel/startup.cfa (modified) * libcfa/src/concurrency/kernel_private.hfa (modified) Implemented __kernel_getcpu from rseq and librseq. Wed, 16 Jun 2021 01:07:25 GMT Thierry Delisle [3814957] * libcfa/src/concurrency/kernel/startup.cfa (modified) * libcfa/src/concurrency/kernel_private.hfa (modified) Commented out broken code Tue, 15 Jun 2021 21:18:59 GMT Thierry Delisle [3489ea6] * libcfa/src/concurrency/kernel/startup.cfa (modified) * libcfa/src/concurrency/kernel_private.hfa (modified) Started work on __kernel_getcpu Tue, 15 Jun 2021 21:00:28 GMT Thierry Delisle [43784ac] * benchmark/io/io_uring.h (modified) * libcfa/prelude/defines.hfa.in (modified) * libcfa/src/bits/signal.hfa (modified) * libcfa/src/concurrency/coroutine.cfa (modified) * libcfa/src/concurrency/io.cfa (modified) * libcfa/src/concurrency/io/setup.cfa (modified) * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/concurrency/kernel/startup.cfa (modified) * libcfa/src/concurrency/locks.cfa (modified) * libcfa/src/concurrency/monitor.cfa (modified) * libcfa/src/concurrency/mutex.cfa (modified) * libcfa/src/concurrency/preemption.cfa (modified) * libcfa/src/concurrency/ready_queue.cfa (modified) * libcfa/src/concurrency/thread.cfa (modified) Changed libcfathread to consistently define _GNU_SOURCE Wed, 02 Jun 2021 21:22:57 GMT Thierry Delisle [ab5baab] * libcfa/src/concurrency/coroutine.cfa (modified) * libcfa/src/concurrency/coroutine.hfa (modified) * libcfa/src/concurrency/invoke.h (modified) * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/concurrency/kernel/startup.cfa (modified) * libcfa/src/concurrency/thread.cfa (modified) Attempt to fix the stack checker for when coroutines are interrupted ... Thu, 06 May 2021 21:51:27 GMT Thierry Delisle [3e1a705] * libcfa/src/concurrency/kernel/startup.cfa (modified) Start ready queue cutoff at zero to avoid spurious steals. Wed, 05 May 2021 20:30:23 GMT Thierry Delisle [a67c5b6] * libcfa/src/concurrency/kernel.hfa (modified) * libcfa/src/concurrency/kernel/startup.cfa (modified) Processors now have a pointer to their tls. This means the tls is no ... Mon, 03 May 2021 21:04:05 GMT Thierry Delisle [d3ba775] * libcfa/src/concurrency/invoke.h (modified) * libcfa/src/concurrency/kernel/startup.cfa (modified) * libcfa/src/concurrency/ready_queue.cfa (modified) * libcfa/src/concurrency/ready_subqueue.hfa (modified) * libcfa/src/concurrency/thread.cfa (modified) More clean-up after new subqueue Mon, 03 May 2021 20:31:15 GMT Thierry Delisle [f6fdfb14] * libcfa/src/concurrency/invoke.h (modified) * libcfa/src/concurrency/kernel/startup.cfa (modified) * libcfa/src/concurrency/ready_queue.cfa (modified) * libcfa/src/concurrency/ready_subqueue.hfa (modified) * libcfa/src/concurrency/thread.cfa (modified) Removed old sub-queue Mon, 03 May 2021 19:39:24 GMT Thierry Delisle [2b96031] * libcfa/src/concurrency/kernel/startup.cfa (modified) * libcfa/src/concurrency/ready_queue.cfa (modified) * libcfa/src/concurrency/ready_subqueue.hfa (modified) * libcfa/src/concurrency/thread.cfa (modified) Added new subqueue implementation. Seems faster will test on another ... Thu, 29 Apr 2021 20:26:25 GMT Thierry Delisle [c993b15] * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/concurrency/kernel.hfa (modified) * libcfa/src/concurrency/kernel/fwd.hfa (modified) * libcfa/src/concurrency/kernel/startup.cfa (modified) * libcfa/src/concurrency/kernel_private.hfa (modified) * libcfa/src/concurrency/preemption.cfa (modified) * libcfa/src/concurrency/ready_queue.cfa (modified) Changed RW lock to avoid hitting the global array on schedule. Sun, 25 Apr 2021 00:13:19 GMT Thierry Delisle [fb0be05] * libcfa/src/concurrency/io/types.hfa (modified) * libcfa/src/concurrency/kernel/fwd.hfa (modified) Merge branch 'master' of plg.uwaterloo.ca:software/cfa/cfa-cc Sun, 25 Apr 2021 00:10:15 GMT Thierry Delisle [a76efc8] * libcfa/src/concurrency/io/types.hfa (modified) * libcfa/src/concurrency/kernel/fwd.hfa (modified) futures now optionally don't unpark the target thread Sat, 24 Apr 2021 23:45:02 GMT Thierry Delisle [cfff639] * libcfa/src/bits/locks.hfa (modified) * libcfa/src/concurrency/alarm.cfa (modified) * libcfa/src/concurrency/clib/cfathread.cfa (modified) * libcfa/src/concurrency/invoke.c (modified) * libcfa/src/concurrency/io.cfa (modified) * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/concurrency/kernel/fwd.hfa (modified) * libcfa/src/concurrency/kernel/startup.cfa (modified) * libcfa/src/concurrency/kernel_private.hfa (modified) * libcfa/src/concurrency/preemption.cfa (modified) * libcfa/src/concurrency/thread.cfa (modified) * libcfa/src/startup.cfa (modified) Merge branch 'master' of plg.uwaterloo.ca:software/cfa/cfa-cc Sat, 24 Apr 2021 23:44:52 GMT Thierry Delisle [89eff25] * libcfa/src/concurrency/invoke.h (modified) * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/concurrency/kernel/startup.cfa (modified) * libcfa/src/concurrency/thread.cfa (modified) Some changes to stats and added back preferred Sat, 24 Apr 2021 23:24:09 GMT Thierry Delisle [254ad1b] * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/concurrency/kernel/startup.cfa (modified) * libcfa/src/concurrency/kernel_private.hfa (modified) * libcfa/src/concurrency/thread.cfa (modified) Separate schedule_thread from the scheduler lock Sat, 24 Apr 2021 23:03:47 GMT Thierry Delisle [a3821fa] * libcfa/src/bits/locks.hfa (modified) * libcfa/src/concurrency/alarm.cfa (modified) * libcfa/src/concurrency/clib/cfathread.cfa (modified) * libcfa/src/concurrency/invoke.c (modified) * libcfa/src/concurrency/io.cfa (modified) * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/concurrency/kernel/fwd.hfa (modified) * libcfa/src/concurrency/kernel/startup.cfa (modified) * libcfa/src/concurrency/kernel_private.hfa (modified) * libcfa/src/concurrency/preemption.cfa (modified) * libcfa/src/concurrency/thread.cfa (modified) * libcfa/src/startup.cfa (modified) Changed enable interrupts: - no longer save the caller for ... Fri, 16 Apr 2021 16:40:27 GMT Thierry Delisle [431cd4f] * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/concurrency/kernel.hfa (modified) * libcfa/src/concurrency/kernel/startup.cfa (modified) * libcfa/src/concurrency/kernel_private.hfa (modified) * libcfa/src/concurrency/ready_queue.cfa (modified) Added alternative to relaxed-fifo scheduler. Disabled by default Thu, 15 Apr 2021 15:45:44 GMT Thierry Delisle [a017ee7] * libcfa/src/concurrency/kernel/startup.cfa (modified) * libcfa/src/concurrency/kernel_private.hfa (modified) * libcfa/src/concurrency/ready_queue.cfa (modified) Ready-queue grow/shrink now reassigns the id of all processors. Wed, 14 Apr 2021 20:40:19 GMT Thierry Delisle [fc59b580] * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/concurrency/kernel.hfa (modified) * libcfa/src/concurrency/kernel/startup.cfa (modified) Clusters now keep track of the active processors as well Wed, 14 Apr 2021 20:28:55 GMT Thierry Delisle [6a9b12b] * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/concurrency/kernel.hfa (modified) * libcfa/src/concurrency/kernel/startup.cfa (modified) * libcfa/src/concurrency/kernel_private.hfa (modified) Incremental change towards having the cluster keep a list of active ... Wed, 14 Apr 2021 20:07:18 GMT Thierry Delisle [a7504db] * libcfa/src/concurrency/kernel/startup.cfa (modified) * libcfa/src/concurrency/kernel_private.hfa (modified) Changed how the cluster idle lock is implemented to be covered by the ... Wed, 14 Apr 2021 19:41:06 GMT Thierry Delisle [a33c113] * libcfa/src/concurrency/kernel/startup.cfa (modified) * libcfa/src/concurrency/kernel_private.hfa (modified) * libcfa/src/concurrency/preemption.cfa (modified) * libcfa/src/concurrency/ready_queue.cfa (modified) Minor changes so using the global RWlock is more concise. Mon, 12 Apr 2021 19:52:49 GMT Thierry Delisle [73f4d08] * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/concurrency/kernel/startup.cfa (modified) * libcfa/src/concurrency/stats.cfa (modified) * libcfa/src/concurrency/stats.hfa (modified) Added stats implementation for dumping a big array of timestamped ... Mon, 05 Apr 2021 23:03:05 GMT Thierry Delisle [a5a01faa] * libcfa/src/concurrency/kernel/startup.cfa (modified) Fix a bug where stats from the main processor where not tallied properly. Mon, 05 Apr 2021 19:18:12 GMT Thierry Delisle [5cb51502] * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/concurrency/kernel.hfa (modified) * libcfa/src/concurrency/kernel/startup.cfa (modified) * libcfa/src/concurrency/ready_queue.cfa (modified) Fix stats so they are correctly tallied when called from outside the ... Thu, 25 Mar 2021 19:09:01 GMT Thierry Delisle [bd0bdd37] * libcfa/src/concurrency/kernel.hfa (modified) * libcfa/src/concurrency/kernel/startup.cfa (modified) * libcfa/src/concurrency/kernel_private.hfa (modified) * libcfa/src/concurrency/ready_queue.cfa (modified) Fix how bias is handled in the ready queue to be more consistent with ... Wed, 17 Mar 2021 17:56:12 GMT Thierry Delisle [a5e7233] * libcfa/src/concurrency/clib/cfathread.cfa (modified) * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/concurrency/kernel.hfa (modified) * libcfa/src/concurrency/kernel/startup.cfa (modified) * tests/concurrent/.expect/clib_tls.txt (added) * tests/concurrent/clib.c (modified) * tests/concurrent/clib_tls.c (added) C interface now runs worker init routine in dedicated thread. Also ... Fri, 12 Mar 2021 21:30:39 GMT Thierry Delisle [a1538cd] * libcfa/src/concurrency/clib/cfathread.cfa (modified) * libcfa/src/concurrency/clib/cfathread.h (modified) * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/concurrency/kernel.hfa (modified) * libcfa/src/concurrency/kernel/startup.cfa (modified) Implemented part of the same C api for threads as libfibre. Tue, 02 Mar 2021 18:58:12 GMT Thierry Delisle [dddb3dd0] * libcfa/src/bits/defs.hfa (modified) * libcfa/src/concurrency/io.cfa (modified) * libcfa/src/concurrency/io/call.cfa.in (modified) * libcfa/src/concurrency/io/setup.cfa (modified) * libcfa/src/concurrency/io/types.hfa (modified) * libcfa/src/concurrency/iofwd.hfa (modified) * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/concurrency/kernel.hfa (modified) * libcfa/src/concurrency/kernel/startup.cfa (modified) * libcfa/src/concurrency/stats.cfa (modified) * libcfa/src/concurrency/stats.hfa (modified) Changed io to use ring per kernel threads. Fri, 19 Feb 2021 18:47:09 GMT Thierry Delisle [78da4ab] * libcfa/src/concurrency/io.cfa (modified) * libcfa/src/concurrency/io/call.cfa.in (modified) * libcfa/src/concurrency/io/setup.cfa (modified) * libcfa/src/concurrency/io/types.hfa (modified) * libcfa/src/concurrency/iofwd.hfa (modified) * libcfa/src/concurrency/kernel.hfa (modified) * libcfa/src/concurrency/kernel/startup.cfa (modified) * libcfa/src/concurrency/kernel_private.hfa (modified) New implementation of io based on instance burrowing. Trying to ... Fri, 12 Feb 2021 17:27:08 GMT Thierry Delisle [da3963a] * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/concurrency/kernel.hfa (modified) * libcfa/src/concurrency/kernel/startup.cfa (modified) Moved __bin_sem_t out of kernel.hfa since it's not needed. Wed, 20 Jan 2021 22:35:39 GMT Thierry Delisle [454f478] * libcfa/src/bits/defs.hfa (modified) * libcfa/src/bits/locks.hfa (modified) * libcfa/src/concurrency/io/types.hfa (modified) * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/concurrency/kernel.hfa (modified) * libcfa/src/concurrency/kernel/fwd.hfa (modified) * libcfa/src/concurrency/kernel/startup.cfa (modified) * libcfa/src/concurrency/locks.cfa (modified) * libcfa/src/concurrency/locks.hfa (modified) * tests/concurrent/thread.cfa (modified) Re-arranged and commented low-level headers. Main goal was for ... Thu, 17 Dec 2020 15:47:41 GMT Thierry Delisle [28c35e2] * libcfa/src/concurrency/kernel/startup.cfa (modified) Fixed startup to use proper protections Thu, 17 Dec 2020 15:34:27 GMT Thierry Delisle [7a70fb2] * libcfa/src/bits/collection.hfa (modified) * libcfa/src/bits/containers.hfa (modified) * libcfa/src/bits/defs.hfa (modified) * libcfa/src/bits/queue.hfa (modified) * libcfa/src/bits/sequence.hfa (modified) * libcfa/src/bits/stack.hfa (modified) * libcfa/src/concurrency/coroutine.cfa (modified) * libcfa/src/concurrency/invoke.h (modified) * libcfa/src/concurrency/kernel/startup.cfa (modified) * libcfa/src/concurrency/locks.cfa (modified) * libcfa/src/concurrency/locks.hfa (modified) * libcfa/src/concurrency/thread.cfa (modified) * libcfa/src/heap.cfa (modified) * src/AST/Convert.cpp (modified) * src/AST/Decl.cpp (modified) * src/AST/Decl.hpp (modified) * src/AST/Expr.cpp (modified) * src/AST/ForallSubstitutionTable.cpp (deleted) * src/AST/ForallSubstitutionTable.hpp (deleted) * src/AST/ForallSubstitutor.hpp (deleted) * src/AST/Pass.hpp (modified) * src/AST/Pass.impl.hpp (modified) * src/AST/Pass.proto.hpp (modified) * src/AST/Print.cpp (modified) * src/AST/SymbolTable.cpp (modified) * src/AST/Type.cpp (modified) * src/AST/Type.hpp (modified) * src/AST/TypeEnvironment.cpp (modified) * src/AST/TypeEnvironment.hpp (modified) * src/AST/TypeSubstitution.cpp (modified) * src/AST/TypeSubstitution.hpp (modified) * src/AST/module.mk (modified) * src/GenPoly/GenPoly.cc (modified) * src/ResolvExpr/AdjustExprType.cc (modified) * src/ResolvExpr/CandidateFinder.cpp (modified) * src/ResolvExpr/CastCost.cc (modified) * src/ResolvExpr/CommonType.cc (modified) * src/ResolvExpr/ConversionCost.cc (modified) * src/ResolvExpr/FindOpenVars.cc (modified) * src/ResolvExpr/PolyCost.cc (modified) * src/ResolvExpr/PtrsAssignable.cc (modified) * src/ResolvExpr/PtrsCastable.cc (modified) * src/ResolvExpr/RenameVars.cc (modified) * src/ResolvExpr/RenameVars.h (modified) * src/ResolvExpr/ResolveTypeof.cc (modified) * src/ResolvExpr/Resolver.cc (modified) * src/ResolvExpr/SatisfyAssertions.cpp (modified) * src/ResolvExpr/Unify.cc (modified) * src/SymTab/Mangler.cc (modified) * src/SymTab/Validate.cc (modified) * src/Tuples/TupleAssignment.cc (modified) * tests/.expect/KRfunctions.nast.x86.txt (modified) * tests/.expect/attributes.nast.x86.txt (modified) * tests/.expect/functions.nast.x86.txt (modified) * tests/errors/.expect/completeType.nast.x64.txt (modified) * tests/errors/.expect/completeType.nast.x86.txt (modified) * tests/heap.cfa (modified) * tests/multi_list.cfa (modified) * tests/queue.cfa (modified) * tests/raii/.expect/ctor-autogen-ERR1.nast.txt (modified) * tests/sequence.cfa (modified) * tests/stack.cfa (modified) Merge branch 'master' of plg.uwaterloo.ca:software/cfa/cfa-cc Thu, 17 Dec 2020 15:33:55 GMT Thierry Delisle [72a3aff] * libcfa/src/concurrency/kernel/startup.cfa (modified) restore the the protection of the heap on destroy pthread Wed, 16 Dec 2020 03:25:12 GMT Peter A. Buhr [dd92fe9] * libcfa/src/concurrency/coroutine.cfa (modified) * libcfa/src/concurrency/kernel/startup.cfa (modified) switch to __page_size and __map_prot Mon, 14 Dec 2020 19:31:50 GMT Thierry Delisle [97229d6] * libcfa/src/concurrency/coroutine.cfa (modified) * libcfa/src/concurrency/kernel/startup.cfa (modified) Changed stack creation to toggle between mmap and malloc based on the ... Thu, 10 Dec 2020 20:20:33 GMT Thierry Delisle [bfcf6b9] * libcfa/src/concurrency/coroutine.cfa (modified) * libcfa/src/concurrency/coroutine.hfa (modified) * libcfa/src/concurrency/io/setup.cfa (modified) * libcfa/src/concurrency/kernel/startup.cfa (modified) * libcfa/src/concurrency/kernel_private.hfa (modified) * libcfa/src/concurrency/preemption.cfa (modified) Stacks are always created with mmap to control page permission Thu, 03 Dec 2020 20:18:55 GMT Thierry Delisle [fe9468e2] * libcfa/src/concurrency/io.cfa (modified) * libcfa/src/concurrency/io/call.cfa.in (modified) * libcfa/src/concurrency/kernel/fwd.hfa (modified) * libcfa/src/concurrency/thread.cfa (modified) Added function thread_rand as a tls-safe version of __tls_rand() Fri, 13 Nov 2020 16:37:11 GMT Thierry Delisle [ac12f1f] * libcfa/src/concurrency/invoke.h (modified) * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/concurrency/kernel/startup.cfa (modified) * libcfa/src/concurrency/thread.cfa (modified) canary is now a void * so it prints in hexa in gdb Fri, 13 Nov 2020 16:32:15 GMT Thierry Delisle [1b033b8] * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/concurrency/kernel/startup.cfa (modified) * libcfa/src/concurrency/preemption.cfa (modified) * libcfa/src/concurrency/stats.cfa (modified) * libcfa/src/concurrency/stats.hfa (modified) Alarm loop now has it's own stats block Tue, 10 Nov 2020 17:44:22 GMT Thierry Delisle [82a2fed] * libcfa/src/concurrency/kernel/fwd.hfa (modified) * libcfa/src/concurrency/preemption.cfa (modified) Changed preemption to use code sections rather than atomic access to TLS. Fri, 06 Nov 2020 16:22:57 GMT Thierry Delisle [8fc652e0] * libcfa/src/concurrency/io.cfa (modified) * libcfa/src/concurrency/io/setup.cfa (modified) * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/concurrency/kernel.hfa (modified) * libcfa/src/concurrency/kernel/fwd.hfa (modified) * libcfa/src/concurrency/kernel/startup.cfa (modified) * libcfa/src/concurrency/kernel_private.hfa (modified) * libcfa/src/concurrency/monitor.cfa (modified) * libcfa/src/concurrency/preemption.cfa (modified) * libcfa/src/concurrency/ready_queue.cfa (modified) Change usage of TLS to more strongly segregate in kernel and out of ... Mon, 02 Nov 2020 17:44:43 GMT Thierry Delisle [e873838] * libcfa/src/concurrency/io/setup.cfa (modified) * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/concurrency/kernel/fwd.hfa (modified) * libcfa/src/concurrency/kernel/startup.cfa (modified) * libcfa/src/concurrency/kernel_private.hfa (modified) * libcfa/src/concurrency/preemption.cfa (modified) * libcfa/src/concurrency/thread.cfa (modified) Removed __unpark and added support for unpark from the kernel ... Fri, 30 Oct 2020 16:01:12 GMT Thierry Delisle [6a77224] * libcfa/src/concurrency/invoke.h (modified) * libcfa/src/concurrency/io/setup.cfa (modified) * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/concurrency/kernel/startup.cfa (modified) * libcfa/src/concurrency/kernel_private.hfa (modified) * libcfa/src/concurrency/thread.cfa (modified) Changed park/unpark ticket to be -1,0,1 instead of 0,1,2 because it's ... Fri, 16 Oct 2020 19:31:02 GMT Thierry Delisle [5afb49a] * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/concurrency/kernel.hfa (modified) * libcfa/src/concurrency/kernel/startup.cfa (modified) * libcfa/src/concurrency/kernel_private.hfa (modified) * libcfa/src/concurrency/monitor.cfa (modified) Split thread_leave so backend is called from the kernel once the ... Thu, 01 Oct 2020 18:41:30 GMT Thierry Delisle [b4b63e8] * libcfa/src/concurrency/invoke.h (modified) * libcfa/src/concurrency/io.cfa (modified) * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/concurrency/kernel/startup.cfa (modified) * libcfa/src/concurrency/thread.cfa (modified) Fixed missing changes to park/unpark. Added canary to threads to ... Thu, 01 Oct 2020 17:52:53 GMT Thierry Delisle [e235429] * benchmark/io/http/main.cfa (modified) * benchmark/io/http/worker.cfa (modified) * benchmark/io/readv.cfa (modified) * benchmark/readyQ/yield.cfa (modified) * libcfa/src/bits/locks.hfa (modified) * libcfa/src/concurrency/alarm.cfa (modified) * libcfa/src/concurrency/clib/cfathread.cfa (modified) * libcfa/src/concurrency/invoke.h (modified) * libcfa/src/concurrency/io.cfa (modified) * libcfa/src/concurrency/io/setup.cfa (modified) * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/concurrency/kernel/fwd.hfa (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.hfa (modified) * tests/concurrent/park/contention.cfa (modified) * tests/concurrent/park/force_preempt.cfa (modified) * tests/concurrent/park/start_parked.cfa (modified) Removed last parker/unparker information is it was not particularly ... Mon, 28 Sep 2020 19:07:35 GMT Thierry Delisle [7ab28b69] * libcfa/src/concurrency/kernel/startup.cfa (modified) Removed unnecessary line causing a warning Thu, 24 Sep 2020 20:22:05 GMT Thierry Delisle [58d64a4] * libcfa/src/concurrency/io/setup.cfa (modified) * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/concurrency/kernel.hfa (modified) * libcfa/src/concurrency/kernel/startup.cfa (modified) * libcfa/src/concurrency/preemption.cfa (modified) __processor_id_t now have a bool to state if it is a full processor. ... Tue, 25 Aug 2020 15:33:44 GMT Thierry Delisle [772411a] * libcfa/src/concurrency/kernel/startup.cfa (modified) * libcfa/src/concurrency/ready_queue.cfa (modified) Moved bias to it's own function. Fixed minor assertions triggering. Fri, 21 Aug 2020 03:48:15 GMT Peter A. Buhr [e67a82d] * benchmark/benchcltr.hfa (modified) * benchmark/io/http/options.cfa (modified) * benchmark/io/readv-posix.c (added) * benchmark/io/readv.cfa (modified) * benchmark/readyQ/yield.cfa (modified) * configure.ac (modified) * driver/cc1.cc (modified) * driver/cfa.cc (modified) * libcfa/prelude/bootloader.cf (modified) * libcfa/src/Makefile.am (modified) * libcfa/src/bits/locks.hfa (modified) * libcfa/src/common.hfa (modified) * libcfa/src/concurrency/alarm.hfa (modified) * libcfa/src/concurrency/coroutine.cfa (modified) * libcfa/src/concurrency/invoke.c (modified) * libcfa/src/concurrency/invoke.h (modified) * libcfa/src/concurrency/io.cfa (modified) * libcfa/src/concurrency/io/setup.cfa (modified) * libcfa/src/concurrency/io/types.hfa (modified) * libcfa/src/concurrency/iocall.cfa (modified) * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/concurrency/kernel.hfa (modified) * libcfa/src/concurrency/kernel/fwd.hfa (modified) * libcfa/src/concurrency/kernel/startup.cfa (modified) * libcfa/src/concurrency/kernel_private.hfa (modified) * libcfa/src/concurrency/ready_queue.cfa (modified) * libcfa/src/concurrency/ready_subqueue.hfa (modified) * libcfa/src/concurrency/stats.cfa (modified) * libcfa/src/concurrency/stats.hfa (modified) * libcfa/src/containers/list.hfa (modified) * libcfa/src/exception.c (modified) * libcfa/src/heap.cfa (modified) * libcfa/src/iostream.cfa (modified) * libcfa/src/iostream.hfa (modified) * libcfa/src/parseargs.cfa (moved) * libcfa/src/parseargs.hfa (moved) * libcfa/src/stdlib.hfa (modified) * src/AST/Attribute.hpp (modified) * src/AST/CVQualifiers.hpp (modified) * src/AST/Convert.cpp (modified) * src/AST/Copy.hpp (added) * src/AST/Decl.cpp (modified) * src/AST/Decl.hpp (modified) * src/AST/Eval.hpp (added) * src/AST/Expr.cpp (modified) * src/AST/Expr.hpp (modified) * src/AST/ForallSubstitutionTable.cpp (added) * src/AST/ForallSubstitutionTable.hpp (added) * src/AST/ForallSubstitutor.hpp (added) * src/AST/Fwd.hpp (modified) * src/AST/GenericSubstitution.cpp (modified) * src/AST/Init.hpp (modified) * src/AST/Node.cpp (modified) * src/AST/Node.hpp (modified) * src/AST/Pass.hpp (modified) * src/AST/Pass.impl.hpp (modified) * src/AST/Pass.proto.hpp (modified) * src/AST/Print.cpp (modified) * src/AST/Stmt.hpp (modified) * src/AST/Type.cpp (modified) * src/AST/Type.hpp (modified) * src/AST/TypeEnvironment.cpp (modified) * src/AST/TypeEnvironment.hpp (modified) * src/AST/TypeSubstitution.cpp (modified) * src/AST/TypeSubstitution.hpp (modified) * src/AST/module.mk (modified) * src/AST/porting.md (modified) * src/Common/Eval.cc (modified) * src/Common/ScopedMap.h (modified) * src/Common/Stats/Heap.cc (modified) * src/Common/Stats/Heap.h (modified) * src/CompilationState.cc (modified) * src/CompilationState.h (modified) * src/InitTweak/InitTweak.cc (modified) * src/Parser/ExpressionNode.cc (modified) * src/ResolvExpr/AdjustExprType.cc (modified) * src/ResolvExpr/Candidate.hpp (modified) * src/ResolvExpr/CandidateFinder.cpp (modified) * src/ResolvExpr/CandidateFinder.hpp (modified) * src/ResolvExpr/CastCost.cc (modified) * src/ResolvExpr/CommonType.cc (modified) * src/ResolvExpr/ConversionCost.cc (modified) * src/ResolvExpr/ConversionCost.h (modified) * src/ResolvExpr/CurrentObject.cc (modified) * src/ResolvExpr/PolyCost.cc (modified) * src/ResolvExpr/PtrsAssignable.cc (modified) * src/ResolvExpr/PtrsCastable.cc (modified) * src/ResolvExpr/RenameVars.cc (modified) * src/ResolvExpr/ResolveTypeof.cc (modified) * src/ResolvExpr/Resolver.cc (modified) * src/ResolvExpr/SatisfyAssertions.cpp (modified) * src/ResolvExpr/SatisfyAssertions.hpp (modified) * src/ResolvExpr/SpecCost.cc (modified) * src/ResolvExpr/Unify.cc (modified) * src/ResolvExpr/typeops.h (modified) * src/SymTab/Autogen.h (modified) * src/SymTab/FixFunction.cc (modified) * src/SymTab/Mangler.cc (modified) * src/SynTree/ApplicationExpr.cc (modified) * src/SynTree/Expression.cc (modified) * src/SynTree/Statement.h (modified) * src/Tuples/Explode.cc (modified) * src/Tuples/Explode.h (modified) * src/Tuples/TupleAssignment.cc (modified) * src/Tuples/TupleExpansion.cc (modified) * src/Tuples/Tuples.cc (modified) * src/config.h.in (modified) * src/main.cc (modified) * tests/.expect/alloc-ERROR.txt (modified) * tests/.expect/castError.txt (modified) * tests/.expect/declarationSpecifier.x64.txt (modified) * tests/.expect/declarationSpecifier.x86.txt (modified) * tests/.expect/gccExtensions.x64.txt (modified) * tests/.expect/gccExtensions.x86.txt (modified) * tests/.expect/init1.txt (modified) * tests/.expect/minmax.txt (modified) * tests/Makefile.am (modified) * tests/alloc.cfa (modified) * tests/errors/.expect/completeType.x64.txt (modified) * tests/errors/.expect/completeType.x86.txt (modified) * tests/exceptions/.expect/conditional-threads.txt (added) * tests/exceptions/.expect/defaults-threads.txt (added) * tests/exceptions/.expect/finally-threads.txt (added) * tests/exceptions/.expect/resume-threads.txt (added) * tests/exceptions/.expect/terminate-threads.txt (added) * tests/exceptions/.expect/trash.txt (added) * tests/exceptions/terminate.cfa (modified) * tests/exceptions/trash.cfa (added) * tests/exceptions/with-threads.hfa (added) * tests/heap.cfa (modified) * tests/linking/.expect/exception-nothreads.txt (added) * tests/linking/.expect/exception-withthreads.txt (added) * tests/linking/exception-nothreads.cfa (added) * tests/linking/exception-withthreads.cfa (added) * tests/linking/withthreads.cfa (modified) * tests/literals.cfa (modified) * tests/minmax.cfa (modified) * tests/pybin/tools.py (modified) * tests/raii/.expect/ctor-autogen-ERR1.txt (modified) * tests/resolutionErrors.cfa (added) * tests/warnings/.expect/self-assignment.txt (modified) fix conflicts Fri, 21 Aug 2020 03:39:01 GMT Peter A. Buhr [88cafe7] * libcfa/src/concurrency/kernel/startup.cfa (modified) add CtxGet routine for ARM 64-bit Fri, 21 Aug 2020 03:10:38 GMT Peter A. Buhr [442b624] * libcfa/src/concurrency/kernel/fwd.hfa (modified) temporarily disable ARM disable/enable_global_interrupts() Tue, 18 Aug 2020 17:58:59 GMT Thierry Delisle [f2384c9a] * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/concurrency/kernel/fwd.hfa (modified) * libcfa/src/concurrency/kernel/startup.cfa (modified) Added forward/reverse rng for later use in the ready queue Thu, 13 Aug 2020 17:19:20 GMT Thierry Delisle [62502cc4] * libcfa/src/concurrency/kernel/startup.cfa (modified) * libcfa/src/concurrency/ready_queue.cfa (modified) Fixed deadlock where threads could acquire the central scheduler lock ... Mon, 10 Aug 2020 18:43:02 GMT Thierry Delisle [1eb239e4] * libcfa/src/concurrency/alarm.hfa (modified) * libcfa/src/concurrency/io/setup.cfa (modified) * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/concurrency/kernel.hfa (modified) * libcfa/src/concurrency/kernel/startup.cfa (modified) * libcfa/src/concurrency/kernel_private.hfa (modified) * libcfa/src/concurrency/ready_queue.cfa (modified) Removed snzi and replaced it with a fast/slow path Mon, 03 Aug 2020 17:59:13 GMT Thierry Delisle [3e2b9c9] * libcfa/src/Makefile.am (modified) * libcfa/src/bits/debug.hfa (modified) * libcfa/src/concurrency/invoke.h (modified) * libcfa/src/concurrency/io.cfa (modified) * libcfa/src/concurrency/io/setup.cfa (added) * libcfa/src/concurrency/io/types.hfa (added) * libcfa/src/concurrency/iocall.cfa (modified) * libcfa/src/concurrency/kernel.hfa (modified) * libcfa/src/concurrency/kernel/fwd.hfa (modified) * libcfa/src/concurrency/kernel/startup.cfa (modified) * libcfa/src/concurrency/kernel_private.hfa (modified) * libcfa/src/concurrency/preemption.cfa (modified) * libcfa/src/concurrency/thread.hfa (modified) More restructuring of translation units Unclear if it improves ... Fri, 31 Jul 2020 20:02:04 GMT Thierry Delisle [e660761] * libcfa/src/bits/defs.hfa (modified) * libcfa/src/concurrency/alarm.cfa (modified) * libcfa/src/concurrency/io.cfa (modified) * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/concurrency/kernel.hfa (modified) * libcfa/src/concurrency/kernel/fwd.hfa (added) * libcfa/src/concurrency/kernel/startup.cfa (added) * libcfa/src/concurrency/kernel_private.hfa (modified) * libcfa/src/concurrency/preemption.cfa (modified) * libcfa/src/concurrency/preemption.hfa (modified) First attempt at reducing complation time by restructuring the code. ...