nsf

Clone Tools
  • last updated 11 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- generated interface for ::xotcl::XOTclInstvarCmd - define objects with cmdName of tcl obj type "cmd"

- no need to call objvparser in stub code, when just "allargs" are specified in a method

- generated interface for ::xotcl::createobjectsystem and ::xotcl::finalize

- added c functions for handling nonposargs in XOTclProcContext: getNonposArgs(), addNonposArgs() - provide convenient means to get Proc *: getObjectProc() getClassProc() - removed old hashtables and managing functions for nonposargs - reduced size of XOTclObject and XOTclClass structures

- XOTclProcContext and XOTclProcDeleteProc(): hooks for storing method information in command structures - added nonpos args lookup via XOTclProcContext

- minor cleanup

- split callProcCheck() into invokeProcMethod() and invokeCmdMethod() - renamed DoCallProcCheck() into InvokeMethod()

- 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

- implemented computeLevelObj() for tcl85stack

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

- 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

- 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)

- 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.

- 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

    • -0
    • +33
    /generic/xotclStack.c
    • -0
    • +55
    /generic/xotclStack85.c