generic

Clone Tools
  • last updated 21 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- removed XOTclCallStack definition and datastructures, when compiled with TCL85STACK

- CallStackPop(): when compiled with TCL85STACK,

the function just initializes a given call stack content;

allocation based on C-Stack

- some function cleanup and minor optimizations

- added option withRootClass to ComputePrecedenceList(); - exclude rootClass in search for defaults (for the time being) - implemented cmd ::xotcl::instvar

- get rid of fakeNS - minor simplification in XOTcl_PopFrame()

- Removed currentFramePtr (the pointer from the xotcl stack to the tcl stack) from the call stack content. Now, all access to the call stack content happens via the tcl85stack.

- For the time being, the xotcl stack is purely an allocation stack

(we still have to evaluate, where we should store the call stack content efficiently:

some options: via alloca, on the c-stack, on the tcl stack, on an allocation stack)

- new method CallStackPopAll() for making ExitHandler() independent from call stack structures

- implemented doCleanup() independent from stack structures - some variable renaming

- renamed UndestroyObj() to CallStackMarkUndestroyed() and implemented it for tcl85stack

- get rid of CallStackIsDestroyed()

- move tcl85showStack(), nonXotclObjectProcFrame() and nextFrameOfType() to xotclStack*.c

- get rid of GetSelfProc() - implemented XOTclNextMethod() for tcl85stack

- implemented XOTclForwardMethod () for tcl85stack

- return Tcl frame pointer as last arguments in CallStackGetFrame() and CallStackGetTopFrame() - pass call stack content to GetSelfProc() - some simplifications to avoid multipe stack searches - implemented XOTclSelfSubCommand () for tcl85stack

- implemented FilterActiveOnObj() for tcl85stack

- pass conditionally XOTclCallStackContent to GuardCall() due to different stack lifetime - CallStackPush() returns now callstack content - implemented CallStackFindActiveFilter() for tcl85stack

  1. … 1 more file in changeset.
- implemented computeLevelObj() for tcl85stack

- implemented CallStackUseActiveFrames() for tcl85stack - nonXotclObjectProcFrame returns now only active frames

  1. … 1 more file in changeset.
- implemented XOTclCallStackFindActiveFrame() for tcl85stack

- defined new (3rd) frame type FRAME_IS_XOTCL_CMETHOD for calling c-implemented methods (the same as FRAME_IS_XOTCL_OBJECT, except that it uses csc as clientData instead of only the xotcl object - implemented XOTclCallStackFindLastInvocation() for tcl85stack

  1. … 1 more file in changeset.
- pass call stack content explicitly to canonicalNonpositionalArgs to obtain active class or object - fix two more regression test entries with canonical args (info body, order in info locals) - canonical args passes now regression test (also in connection with tcl85stack)

  1. … 1 more file in changeset.
- pass call stack content explicityl to XOTclNextMethod, which is used on one occurance outside the tcl callstack scope, such that CallStackGetTopFrame() gets the previous stack entry - implemented CallStackGetTopFrame() for tcl85stack - implemented CallStackGetObjectFrame() for tcl85stack

- new function CallStackDestroyObject() to factor out xotcl stack access Since tcl-stack-entries have a lightly different life-time (pop is managed by tcl), we have as well slightly different life-times of objects. One test in the test suite is deactivated for now, we will see, if this turs out to become a problem as we proceed.

  1. … 1 more file in changeset.
- new function CallStackClearCmdReferences() to factor out xotcl stack access

- moved stack procs into new files xotclStack.c and xotclStack85.c - based CallStackGetFrame() in addition to GetSelfObj() to new stack structure, when TCL86STACK is defined - fixed error and warning message for failed assertions to avoid access to the xotcl stack

  1. … 1 more file in changeset.
- follow naming conventions for defines TCL85STACK_TRACE - deactivate CANONICAL_ARGS for the time being

- Stefan implementation for args with canonical args - canonicalNonpositionalArgs() receives explicit current xotcl object

- rename variable "ns" (namespace pointer) to "nsPtr" for tcl naming compliance

- simplified callingNameSpace() significantly (works with and without TCL85STACK the same way) - simplified GuardCall (removed argument push) - removed unneeded functions, reduced tracing

- snapshot 3 - first version passing regression test again

  1. … 1 more file in changeset.
more trace

- snapshot #2

  1. … 1 more file in changeset.