nsf.c

Clone Tools
  • last updated 7 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
nsf.c: - new cmd for debugging: nsf::__db_show_obj - added MethodDupInternalRep() and FlagDupInternalRep() since they appear to be required in Tcl 8.6b2.

  1. … 6 more files in changeset.
nsf.c: - moved methodEpochCounters from global vars to the interp state to improve resue in multi threaded apps - separated objectMethodEpoch and instanceMethodEpoch - bump version number to 2.0a2

  1. … 4 more files in changeset.
- minor cleanup

- experimentation version of unknown handler for non-pos args - extending regression test

  1. … 6 more files in changeset.
nsf.c: - reform of method lookup. new code uses NsfInstanceMethodObjType and NsfObjectMethodObjType to reuse earlier lookup results. Improved speed for for methods with primitive bodies (over version before argument parse reform: 10%-43%. - additional compile-time option: METHOD_OBJECT_TRACE

  1. … 4 more files in changeset.
- nsf.c - added experimental parameter option noleadingdash - additionalal regression test file method-parameter.test - provide selective error messages for unknown nonpos args

  1. … 11 more files in changeset.
- provide more hints for gcc

  1. … 2 more files in changeset.
- reform of argument parse. new parser uses NsfFlagObjType to reuse earlier parse resuslts. Improved speed for for methods with primitive bodies: 5%-25%.

  1. … 7 more files in changeset.
- nsf.c: make ":" a full equivalent vor nsf::my (i.e. support -local, -system and -intrinsic) - extend regression test

  1. … 4 more files in changeset.
- nsf.c: * allowed to call ":" like "my" or "self"

Object create o

o public method bar2 {} {return bar2-[: foo]}

o public method bar5 {} {return [self]::bar5}

o public method bar6 {} {return [:]::bar6}

* extended regression test

  1. … 2 more files in changeset.
- added configure option: enable-assertions (default on)

  1. … 8 more files in changeset.
nsf.c: improve iPtr cleanup for memcount debugging

  1. … 1 more file in changeset.
nsf.c: * provide an intermediary fix for the final memcount problem of elements in on the iPtr->errorStack

  1. … 1 more file in changeset.
build-environment: * make configure.in Makefile.in more in line with the TEA sample app (removing leftovers from prior versions of TEA) * remove GNU-Makefile-isms from Makefile.in

  1. … 5 more files in changeset.
- further cleanup and extend regression test

  1. … 1 more file in changeset.
nsf.c: * fixed recration of object alias with a alias to a different cmd

  1. … 3 more files in changeset.
- nsf.c: * minor cleanup * added regression tests

  1. … 2 more files in changeset.
- fixed small memory leak in error case

  1. … 1 more file in changeset.
- generic/nsf.c: A tentative patch for two (related) misbehaviors of alias methods binding objects (4 MEM_COUNT scores in contains.test). The in-code comments include synthetic examples and some hints. While the first case (repetitive alias registrations of identical objects) is rather obvious, the second turned out tricky: When aliasing a nested (!) object, NSDeleteChild() won't clean up the alias object references properly. The current patch requires a thorough review ... for now, the patch closes the leaks.

- generic/nsf.c: Fixing a small leak in SuperclassAdd(), only showing for an error condition specifically tested in contains.test. This accounted for 1 MEM_COUNT score (out of 5).

- fix inclusion of google profiler

  1. … 1 more file in changeset.
- nsf.c: * reduce eagerness of methodName computation in ResolveMethodName() and GetRegObject() * reduce eagerness of DString computation in ResolveMethodName() * use conditional assignments in ResolveMethodName() * make use of Tcl_Obj type in ResolveMethodName() to reduce number of string operations

  1. … 1 more file in changeset.
- nsf.c: * added permissable value "private" to flag "-callprotection" for "info lookup method" and "info methods". * extended regression test

  1. … 5 more files in changeset.
- small performance improvements

- minor optimizations

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

  1. … 1 more file in changeset.
- renamed "nsf::method::dispatch" to "nsf::directdispatch" - renamed "nsf::object::dispatch" to "nsf::dispatch"

  1. … 16 more files in changeset.
- 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.