nsf.c

Clone Tools
  • last updated 14 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
nsf.c (ObjectCmdMethodDispatch): Enable private checking on ensembles

  1. … 1 more file in changeset.
move GetObj() after tests of non-null asserts

Cleanup: Don't shadow variable names.

Merge branch 'master' of ssh://alice.wu-wien.ac.at/usr/local/src/git-repo/nsf

* nsf.c (NsfMethodForwardCmd): Provide correct scoping condition when requesting a method handle for a submethod forwarder. Added basic tests.

  1. … 1 more file in changeset.
Merge branch 'master' of ssh://alice.wu-wien.ac.at/usr/local/src/git-repo/nsf

* nsf.c, nsfStack.c: Bump copyright years.

  1. … 1 more file in changeset.
* nsf.c (ObjectCmdMethodDispatch), protected.test: For ensemble (submethod) dispatches, since ever, call protection had not been enforced at all. This commit enables call protection (protected) for ensembles and adds basic tests. * nsfStack.c (GetSelfObj): To allow one to resolve the self reference at arbitrary callstack levels, separate GetSelfObj into GetSelfObj (macro) for the topmost self and GetSelfObj2.

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

fix typo

* nsf.c (NsfCCreateMethod): During a shutdown, in a filter setting, objv is not necessarily populated. Prior to this fix, the following crashes on exit for "ObjStr(objv[1])":

nx::Class create Klass

Klass public object method expand args {

return [[self] new {*}$args]

}

Klass object filters add expand

Along the way, rendered the print-out more informative.

Add likely/unlikely for NSF_DURING_DELETE checks

Code cleanup

- remove calls to deprecated function Tcl_DStringTrunc

- prefer boolean expressions to avoid signed conversions

- add default statement to switch to ease life of static checkers

  1. … 2 more files in changeset.
Add Valgrind/callgrind support

  1. … 4 more files in changeset.
Improve performance of ObjectSystemsCheckSystemMethod() by over 20%

  1. … 1 more file in changeset.
Optimization for aliases

Optimized AliasAdd() and AliasGet() by avoiding the usage of

Tcl_SetVar2Ex() and Tcl_GetVar2Ex(). This change improves the

performance of AliasAdd() by ~20% and AliasGet() by 10%.

Strangely, Tcl does not provide an interface to the

Tcl_Obj-based TclObjUnsetVar2(), which is used internally

by Tcl_UnsetVar2()), such we could also avoid the latter.

minor cleanup and optimizations

  1. … 1 more file in changeset.
Various Performance Improvements: - Add cache for compiled locals starting with a colon to avoid repeated linear searches - Reduce number of string comparisons in ParamOptionParse() - Factor out ProcContextRequire() - Extend regression test

  1. … 1 more file in changeset.
Minor cleanup

  1. … 1 more file in changeset.
Remove first argument of MethodDispatch, which is apparently not needed

Avoid mixed declarations and code

Merge branch 'master' of ssh://alice.wu-wien.ac.at/usr/local/src/git-repo/nsf

Added experimental definition of NSF_CONSTANT_COMPILED_LOCAL_LOOKUP

  1. … 1 more file in changeset.
* nsf.c (FindNextMethod): Provide revised, streamlined implementation of FindSelfNext as FindNextMethod. FindSelfNext is maintained, but unused for the time being.

Cleanup and Optimization

- align code with documentation

- remove dead code

- minor optimization

  1. … 1 more file in changeset.
Whitespace changes, typos

  1. … 2 more files in changeset.
Remove dead assignment

Merge branch 'master' of ssh://alice.wu-wien.ac.at/usr/local/src/git-repo/nsf

* nsf.c (NsfCurrentCmd), nsfStack.c (CallStackNextFrameOfType): Render [current isnextcall] aware of ensembles. Extended submethods.test to cover [current isnextcall] within ensembles.

  1. … 2 more files in changeset.
nsf.c (FindSelfNext): Render [current nextmethod] aware of ensembles. Added basic tests.

  1. … 1 more file in changeset.