nsf.h

Clone Tools
  • last updated 1 hour ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- 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.
- added configure option: enable-assertions (default on)

  1. … 8 more files in changeset.
- configure options: * improved and extended configure options to reduce necessity to switch features on and off in the nsf.h. Optional Features: --enable-profile build nsf with profile support (default disabled) --enable-memcount=yes|trace build nsf with memcount debug support (default disabled) --enable-development build nsf with development support (assertion checking, etc.; default disabled) Optional Packages: --with-dtrace build nsf with dtrace (default: without)

  1. … 3 more files in changeset.
- gentclAPI.tcl: * added option handling for every cmd/method/... * added option "-nxdoc" for outputting an index to ease maintenance in nxdoc

  1. … 3 more files in changeset.
- fix inclusion of google profiler

  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.
- 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.
* added support for calling private methods via -local and filters * extended regression test for private + filters

  1. … 6 more files in changeset.
nsf.c: * provide debug-refcounts for "class.activationCount" * provide debug-refcounts for "object.activationCount" * deactivated CHECK_ACTIVATION_COUNTS oer default * tested refcounts with Tcl 8.6b2, found bug in Tcl 8.6b2 and submitted patch to sourceforge

  1. … 3 more files in changeset.
- nsf.c: * refined refcounting debugging * fixed various refcounting bugs, especially in error cases. * added explicit INCR_REF_COUNTs on Tcl_Objs with 0-refCount to ease debugging

  1. … 9 more files in changeset.
- reduce debugging in the commited version

- nsf.c: * improved INCR_REF_COUNT/DECR_REF_COUNT for easier tracking of potential refcount errors * added macros DECR_REF_COUNT2() and INCR_REF_COUNT2() for easing the association of refcounts to locations in the code by providing names for refcounts. * fixed a refcount bug for valueObjs in non-NRE-enabled versions in the argument vector of scripted methods (found via INCR_REF_COUNT2/DECR_REF_COUNT2)

  1. … 3 more files in changeset.
- nsf.c: * fixing compliation with NSF_MEM_COUNT * New function DeleteProcsAndVars() to trigger deletion of ParamDefs (fixes a small mmemory leak); * improved comments

  1. … 5 more files in changeset.
- C-code generator: * additional parameter swith "-withObj" to allow passing of internal representation and the according TclObj * * c-implemented methods: report types in "info parameter" for more builtin types. * use "-withObj" in mongodb interface * adapted regression test

  1. … 9 more files in changeset.
- nsf.c: * new file nsfPointer.c * generic new value checker ConvertToPointer to handle c-level conversions (which can be registed from nsf extensions) * extern defined interface for the pointer converter: Nsf_PointerTypeLookup(), Nsf_PointerTypeRegister(), Nsf_PointerAdd(), Nsf_PointerDelete(), Nsf_PointerInit(), Nsf_PointerExit(). - library mongodb * changed mongoAPI to pointer converter interface

  1. … 12 more files in changeset.
- added value checker type int32 (similar to "string is integer") and changed value checker "integer" to accept all integers

  1. … 5 more files in changeset.
- removed warning about strict-aliasing rules

  1. … 3 more files in changeset.
- moved mixin reg type converter to a new file (nsfObj.c)

  1. … 8 more files in changeset.
- nsf.c: generalized disposition handling (forward, alias, initcmd) for object parameter * disposition is now an option for object parameters rather than than an own type. Therefore, one can check the arguments passed to the disposition cases * changed specification of name of method from arg= to method= * this way "type" info in "info parameter syntax" is handled automatically

  1. … 12 more files in changeset.
- nsf.c: * added NsfClassListNoDup() to allow just single inserts * added NsfClassListPrint() for debugging * info heritage returns no duplicates * added prototype for NsfNoCurrentObjectError() * report "no current object" when no object is passed to a method. * code cleanup - extended regression test

  1. … 6 more files in changeset.
- nsf.c: made potentially unknown clientData more safe (error message, when something is passed via clientData to a method expecting an object/class as clientData). - renamed NsfNoDispatchObjectError() to NsfDispatchClientDataError(), extended interface - Makefile.in: fixed name methods.test

  1. … 8 more files in changeset.
- nsf.c: added nsf::var::unset (provided so far just var::set)

  1. … 4 more files in changeset.
- nsf:c: fix dispatch of setter without current method - extended regression tests

  1. … 6 more files in changeset.
* nx: added flag ?-type ...? to "info lookup slots" * nsf: made all useful converters external symbols

  1. … 6 more files in changeset.
- gentclAPI.tcl: * renamed "nsfCmd" to simply "cmd", since the code can generate arbitrary tcl commands * allow type "int" in the .decls files - nsf.c * move several functions from "static" to "external" to make the code generator usable for submodules as well

  1. … 7 more files in changeset.
* The newest trunk version of Tcl in fossil has TclStackFree() and TclStackAlloc() removed We had to substitute this functions. Unfortunately, the lifetime of the strack structures has changed, so we had shuffle some interals around.

  1. … 4 more files in changeset.
DTrace: * add probes for object creation and freeing * add sample d-script for object bookkeeping

  1. … 5 more files in changeset.
DTrace: * added "nsf::configure dtrace on|off" for skipping package initialization (to be handled in D script) * make compliation clean

  1. … 7 more files in changeset.
- dtrace improvements: * track objects in method invocations * trace result codes in method-return * add some dtrace sample scripts

  1. … 10 more files in changeset.
- first steps towards DTRACE support

  1. … 5 more files in changeset.