xotcl.c

Clone Tools
  • last updated 9 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- block call-stack deletes during XOTCL_EXITHANDLER_ON_SOFT_DESTROY; however, this seems to create a small leak during exit (revant for threads); so currently, debug still turned on

  1. … 1 more file in changeset.
- replace all CanInvokeDirectly() by InvokeMethodObj()

- remove some more obsolete RCS Ids - call Tcl_Objs "Obj", not "Object"

  1. … 11 more files in changeset.
- remove filter deactivation to a later point in time (should finally be before freeAllXOTclObjectsAndClasses())

- deactivate filters in finialize - new method InvokeMethodObj() to replace finally CanInvokeDirectly()

  1. … 2 more files in changeset.
- call all truely essential methods directly if possible (Object.destroy, Class.alloc, Class.dealloc, Class.create) The basics of XOTcl can work now also in cases, when these are not defined as methods.

- reduce verbosity

- make XOTcl_FrameDecls transparent (use variable declarations in place instead of the macro) - fix variable shadowing bug in error handling (could cause crashes when initcmd lead to errors)

  1. … 1 more file in changeset.
- define RecreateObject() for internal call via diect invocation - doCleanup is just called by recreate; merge it into XOTclCRecreateMethod. Is method cleanup necessary? is recreate not sufficient?

- call c-implemented methods directly for XOTE_RECREATE as well (otherwise, create is faster than recreate)

  1. … 1 more file in changeset.
- call c-implemented methods directly, when this is safe (implemented for XOTE_ALLOC, XOTE_CLEANUP, XOTE_CONFIGURE, XOTE_CREATE, XOTE_DEALLOC); this improves create/destroy speed by up to 15% - allocate namespaces for objects less eager - make nameing more consistent (change newObj into newObject when variable is an xotcl object)

  1. … 1 more file in changeset.
- fixing "-parameter" with empty content - more variable naming cleanup - fix line breaking in serializer for "exportedObjects"

  1. … 4 more files in changeset.
- fixed wrong name for per-object filter in RelationSlot - fixed condition in filter-incovation to top-level frames - added frametype to information returned by "info frame"

  1. … 4 more files in changeset.
- remove dependency from xotcl1 in handling of forwarders in method "copy" - further cleanup using "CONST char *", improving on naming conventions

  1. … 5 more files in changeset.
- further cleanup using "CONST char *"

  1. … 3 more files in changeset.
- use "CONST char *" in generated interface and below

  1. … 5 more files in changeset.
- defined "xotcl::current" as synonym for "::xotcl::self" - new options for ::xotcl::current current object == current current method == current proc current callingmethod == current callingproc - "self proc" and friends are for backward compatibility for xotcl1, "current method" and friends are for xotcl2 - namespace exported "::xotcl::current"

  1. … 4 more files in changeset.
- minor cleanup (varresolution test and comment)

  1. … 1 more file in changeset.
- enable compilation with assertion turned on (via NDEBUG) - fix potentially uninitialized flags for ArgumentCheck() - some further cleanup, tested with 32 bit under Mac OS X 10.6

  1. … 4 more files in changeset.
- keep variables defined from an CMETHOD frame local to this frame (e.g. initcmd, -nonleaf option, ...); previously variables without xotcl resolver prefix were defined globally - fix regression test according to previous item - generalize nonXotclObjectProcFrame() and rename it to activeProcFrame()^

  1. … 5 more files in changeset.
- working towards KEEP_VARS_IN_CMETHOD_FRAME

  1. … 3 more files in changeset.
- requireNameSpace: * fix potental crash in requireNameSpace in objscoped methods by swapping all vartable references in objscopes on stack to the vartable in the namespace, when it is created - extending regression test

  1. … 3 more files in changeset.
- renaming of instance variable specific primitiva for more constistency with ::xotcl::importvar:

::xotcl::exists -> ::xotcl::existsvar

::xotcl::setinstvar -> ::xotcl::setvar

  1. … 10 more files in changeset.
- removed XOTclCreateClass() and XOTclDeleteClass(); both are identical with XOTclCreateObject() and XOTclDeleteObject()

  1. … 3 more files in changeset.
- removed obsolete ::xotcl::configure option "cacheinterface"

  1. … 3 more files in changeset.
- added option "-nonleaf" for method alias - added introspection (for "info method definition") for "alias ... -nonleaf ..."

  1. … 3 more files in changeset.
- further naming cleanup

  1. … 1 more file in changeset.
- cleanup in stack handlers (naming, arguments)

  1. … 1 more file in changeset.
- initcmd: use for initcmds CMETHOD frames instead of OBJECT stack frames - initcmd: skip parent-stack frame's objscope for initcmd - changed hash-based lookup of children into a cmd-based lookup - extended regression test

  1. … 5 more files in changeset.
- fixed namespace handling on stack for objects with namespaces (before, it was possible that a variable was created in an object's namespace without -objscope) - as a consequence, ListChildren() had to be adjused, since it depended on the previous namespace handling on the stack - fixed object sesolving in NsDotVarResolver() (before, it was possible that NsDotVarResolver could create variables in the wrong namespace) - simplified NsDotVarResolver() - more cleanup in name resolver * USE_DOT is gone * XOTclDotDotCmd() removed * improved performance of InterpCompiledDotVarResolver() * made LookupVarFromTable() obsolete and removed it * renamed DotVarResolver() and friends to ColonVarResolver() etc. - extended regression test

  1. … 10 more files in changeset.