nsf.c

Clone Tools
  • last updated 4 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- cleanup

  1. … 3 more files in changeset.
- nsf.c: experimental implementation of ::nsf::method::dispatch

  1. … 8 more files in changeset.
- nsf.c: small performance improvements

  1. … 1 more file in changeset.
- nsf.c: * removed warning about resetting cmd to 0 for private method invocations.

  1. … 2 more files in changeset.
- minor optimizations

- nsf.c: * "private" implies now "protected". This means, setting "private" sets as well "protected", unsetting "protected" unsets "private" * make sure the "... method definition" of private methods is returned as "private" * extended regression test

  1. … 3 more files in changeset.
- nsf.c * implemented NsfObjDispatchNRE and NsfObjDispatch * this fixed all issues of tcl8.6 and interp.test (xocomm still hangs in tcl 8.6)

  1. … 3 more files in changeset.
- nsf.c: * factored out CmdIsNsfObject() for NRE handling with slave interpreters. * added flag ZSE_NRE_PROC for using nreProc instead of objProc

  1. … 2 more files in changeset.
* removed "-local", "-system" and "-intrinsic" from plain dispatch (like e.g. "o1 -system method") * removed flag "-local" from nsf::object::dispatch

  1. … 5 more files in changeset.
* added support for calling private methods via -local and filters * extended regression test for private + filters

  1. … 6 more files in changeset.
- nsf.c: * allow protected and private methods to be used as filters * added regression tests * some cleanup in regression tests

  1. … 2 more files in changeset.
- remove interp from MEM_COUNT implementation

  1. … 3 more files in changeset.
* added transparency for per-object private methods * extended regression test

  1. … 2 more files in changeset.
- generic/nsf.c: Fixed the source of valgrind-reported mem leak: A pointer-reassignment situation in NsfAddParameterProc() orphaned the mem-block of a bare Tcl_Obj.

* per-thread MEM_COUNT tested with aolserver/naviserver * removed INTERP macros for MEM_COUNT (since we use now per-thread tables instead of per-interp tables as in the first implementation)

  1. … 5 more files in changeset.
- nsf.c: * simplified permission handling * made private/protected mutual exclusive * extended regression test for private methods

  1. … 4 more files in changeset.
- fix mutual exclusive tests for -intrinsic, -local, and -system - fix ref-counting

Merge branch '2.0.0-develop' of ssh://alice.wu-wien.ac.at/usr/local/src/git-repo/xotcl into 2.0.0-develop

- don't allow options "-intrinsic", "-local" and "-system" used in parallel

- generic/nsfAPI.h: Renamed the [::nsf::current next] subcommand to [::nsf::current nextmethod] - library/xotcl/library/xotcl2.tcl: Accordingly, the xotcl::self emulation maps [self next] to [current nextmethod] - tests/disposition.test, tests/methods.test, tests/submethods.test, tests/tcloo.test: Changed the few occurrences of [current next] to [current nextmethod] - tests/introspection.test: Added some basic tests on the expected behaviour of [::nsf::current nextmethod]

  1. … 8 more files in changeset.
- generic/nsf.c: Provided a documentation block for CmdListRemoveDeleted()

- generic/nsf.c: For "tolerating" hidden objects, I verified the various occurrences of conitional branching based on the cmd's epoch counter. While most occurrences are not concerned (cmds of nested objects, or simply non-object commands), I identified three relevant spots: a) In NsfProcAliasMethod(), invalidating and rebinding the alias target command (including hidden objects as alias pointers) is based on the epoch counter; b) in MixinSearchProc() the lookup of mixed-in methods is affected; c) using CmdListRemoveEpoched() (as the name says), "deleted" commands are identified by looking at the cmd epoch and sorted out from mixin lists computed for precedence lists. I corrected cases b) and c), with the fixes being covered by accompanying tests; a) turned out to be consistent with alias rebinding behaviour for [rename]. While we could correct a) for hidden cmd awareness, this would have to be done for the likeminded alias + [rename] as well. - generic/nsf.c: Renamed CmdListRemoveEpoched() to CmdListRemoveDeleted() - tests/interp.test: Added tests on b) and c), as well as hiding globally namespaced procs and objects as alias targets (merely for documenting the behaviour).

  1. … 1 more file in changeset.
- nsf.c: * added "/obj/ -intrinsic ..." similar to "/obj/ -system ..." * added "nsf::my /obj/ -intrinsic ..." similar to "/obj/ -intrinsic ..." * added "nsf::object::dispatch /obj/ -intrinsic ..." similar to "/obj/ -intrinsic ..." * extended regression test

  1. … 4 more files in changeset.
- provide error message for "/obj/ -system"

  1. … 3 more files in changeset.
- reduce verbosity

- reduce verbosity

- minor cleanup

  1. … 2 more files in changeset.
Merge branch '2.0.0-develop' of ssh://alice.wu-wien.ac.at/usr/local/src/git-repo/xotcl into 2.0.0-develop

Conflicts:

library/lib/test.tcl

  1. … 1 more file in changeset.
- nsf.c: * integrated "-local" and fully qualified handling with ObjectDispatch to ensure proper behavior of mixins/next etc. * added "/obj/ -local ..." similar to "/obj/ -system ..." * added "nsf::object::disapatch /obj/ -local ..." similar to "/obj/ -local ..." * extended regression test (next from -local, fully qualified names, private methods, "...dispatch -local")

  1. … 8 more files in changeset.
- generic/nsf.c: [current calledclass] used to return a literal "NULL" for cases of no active callstacked class. I fixed this, with [current calledclass] now reporting an empty string in these cases. - library/lib/test.tcl: Adjusted the explanations along the exit/return fix - tests/introspection.test: Added some basic testing of [current calledclass]

  1. … 3 more files in changeset.