nsfInt.h

Clone Tools
  • last updated 11 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- reduce implicit conversions - wite body of if-statements as blocks - whitespace changes - prefer boolean expressions - add likely/unlikely hints

  1. … 2 more files in changeset.
- prefer boolean expressions - reduce implicit conversions - wite body of if-statements as blocks - whitespace changes - update licenses

  1. … 8 more files in changeset.
- removed NsfParamDefs.slotObj (and single occurance for memory-management) since it is not used for the time being

  1. … 2 more files in changeset.
- write body-blocks of if on separate lines - change variable name "validCscPtr" to "isValidCsc", since it is a boolean and not a ptr (tcl coding guidelines) - prefer explicit comparisons

  1. … 2 more files in changeset.
- fix compilation when compiled without --enable-profile

Improve profiling support - added profile support for undispatched methods (i.e. implemented via CallDirectly) - new function for controlling profile trace nsf:__profile_trace -enable /bool/ ?-verbose /bool/?

C-code generator:

- allow type boolean for non-positional arguments

  1. … 7 more files in changeset.
Silence varargs warning (-Wgnu-zero-variadic-macro-arguments) under clang --std=c99 -pedantic, tested under gcc, clang 3.6, and MSVC; added tests

  1. … 2 more files in changeset.
- changed trace facility to append to a variable to minimize interactions for results and return codes, which happen via nsf::log. - added more convenient function for adding to DStrings: Nsf_DStringPrintf - renamed NsfDStringPrintf to NsfDStringVPrintf - replaced complex macros for tracing by functions

  1. … 8 more files in changeset.
- added experimental "nsf::configure trace" feature, which can be enabled when compiled with profile support. trace turns on automatically profile

  1. … 4 more files in changeset.
- add const declarations - improve compilation with --std=c99 -pedantic

  1. … 3 more files in changeset.
- make compilation clean with clang 3.6

  1. … 2 more files in changeset.
- get rid of getstubs

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

  1. … 3 more files in changeset.
- keep an internal list of Tcl_Objs of type mixinrefs for classes used as mixins. This list is used for avoiding stale entries in cases the mixin class is destroyed.

  1. … 2 more files in changeset.
- remove redundant and different prototype

  1. … 1 more file in changeset.
Done revising license statements in generic/*

  1. … 26 more files in changeset.
Correct and unify licensing statements in header files

  1. … 3 more files in changeset.
- fix final refcounting bug: it was possible that classes contained in Tcl_Objs of type mixinreg were not freed, although their reference-counter became 0; now all test cases free all tcl_objs and referenced data structures allocated from nsf

  1. … 3 more files in changeset.
- don't put macro arguments between parens when these are used for concatenation

- avoid old-style prototypes

  1. … 2 more files in changeset.
nsf.c: - make types for bit operations unsigned (mostly flags)

  1. … 7 more files in changeset.
nsf.c: - implement a new approach to error reporting in ensembles: instead of trying to find the "right" place to report the best "error", compute the longest valid ensemble prefix from all the stack frames.

  1. … 4 more files in changeset.
- improve safety of macro arguments

  1. … 2 more files in changeset.
- revise sanity check for tcl _objs in 8.6 once one: length field might be garbage

- add alternative test for sanity checking of tcl_objs: when bytes not NULL, length must be 0 or higher

nsf.h - In Tcl 8.6.1 it might be that a Tcl_Obj has length > 0 but bytes == NULL. We have to relax out tcl_obj-sanity test for this case to avoid false-positives from assertions()

- remove duplicate entry for returns_nonnull

nsf.c: - allow abbreaviated nonpos args - change name of relationslot "superclass" to "superclasses". (part of a planned change to use plural for setvalued parameters, "info superclasses" and similar changes for mixins/filters will probably follow)

  1. … 7 more files in changeset.
nsf.c: - define means to protect "undefined" internally-directly called methods __alloc and __dealloc in nx. This is achieved mostly via a an additional value in a method declaration in ::nsf::objectsystem::create. Example: -class.dealloc {__dealloc ::nsf::methods::class::dealloc 1} - extend regression test

  1. … 9 more files in changeset.
nsf.c: parameter passing reform - don't pass full argument list for filteing methods calle further methods from C (such as new/create/... ) to allow processing of e.g. "--" in "new" to separate arguments to "new" cleanly from arguments passed to "create". Now we can use e.g. "C new -- -childof 123" in case class C has a property "childof". - extend c-generator to accept option "-objv0" to pass the original "objv[0]" to the called command. Since we had previously "allargs", we have to pass the objv[0] now differently - more thorough checking ISOBJ(someObj) macro for asserts (use "assert(ISOBJ(someObj))" instead of just "assert(someObj)") - extend regression test

  1. … 11 more files in changeset.