diff -r 1e671fc16439 -r c941b3a72553 CompiledCode.st --- a/CompiledCode.st Fri Jan 29 16:44:41 1999 +0100 +++ b/CompiledCode.st Sat Jan 30 14:57:36 1999 +0100 @@ -255,6 +255,19 @@ "Modified: 4.7.1996 / 11:12:39 / cg" ! +decompiledSource + "reconstruct some synthetic source by decompiling by byteCode" + + |s| + + s := '' writeStream. + self decompileTo:s. + ^ s contents + + "Modified: / 30.1.1999 / 14:53:30 / cg" + "Created: / 30.1.1999 / 14:54:09 / cg" +! + decompiler ^ Decompiler @@ -270,9 +283,13 @@ ! flags + "return the flags (number of method variables, stacksize etc.). + Dont depend on the values in the flag field - its interpretations + may change without notice." + ^ flags - "Created: / 16.10.1998 / 01:28:48 / cg" + "Modified: / 30.1.1999 / 14:51:59 / cg" ! literals @@ -379,6 +396,28 @@ "Created: 19.6.1997 / 16:27:34 / cg" ! +numberOfMethodArgs + "return the number of arguments, the method expects. + This method is left for backward compatibility - use #numArgs." + + "/ self obsoleteMethodWarning:'use numArgs'. + ^ self numArgs + + "Modified: / 30.1.1999 / 14:55:27 / cg" + "Created: / 30.1.1999 / 14:55:47 / cg" +! + +numberOfMethodVars + "return the number of method local variables. + This method is left for backward compatibility - use #numVars." + + "/ self obsoleteMethodWarning:'use numVars'. + ^ self numVars + + "Modified: / 30.1.1999 / 14:55:42 / cg" + "Created: / 30.1.1999 / 14:55:51 / cg" +! + refersToLiteral:aLiteral "return true if the receiver or recursively any array element in the receiver referes to aLiteral" @@ -410,6 +449,179 @@ "Created: 7.6.1996 / 12:45:50 / stefan" ! ! +!CompiledCode methodsFor:'debugging'! + +breakPointInProcess:aProcess + "arrange for a breakpoint-debugger to be opened when this method + is invoked from withn aProcess." + + MessageTracer trapMethod:self inProcess:aProcess. + + "Modified: / 12.1.1998 / 18:22:39 / cg" + "Created: / 30.1.1999 / 14:50:01 / cg" +! + +clearBreakPoint + "remove any break/trace-point on this method" + + MessageTracer unwrapMethod:self. + + "Modified: / 12.1.1998 / 18:22:14 / cg" + "Created: / 30.1.1999 / 14:49:53 / cg" +! + +isCounted + "obsolete - replaced by isCountinMemoryUsage" + + ^ MessageTracer notNil + and:[MessageTracer isCountingMemoryUsage:self] + + "Modified: / 27.7.1998 / 11:05:36 / cg" + "Created: / 30.1.1999 / 14:48:57 / cg" +! + +isCounting + "return true, if invokations of this method are counted" + + ^ MessageTracer notNil + and:[MessageTracer isCounting:self] + + "Modified: / 27.7.1998 / 11:06:00 / cg" + "Created: / 30.1.1999 / 14:49:19 / cg" +! + +isCountingMemoryUsage + "return true, if memory allocations done by this method (and callees) + are counted" + + ^ MessageTracer notNil + and:[MessageTracer isCountingMemoryUsage:self] + + "Modified: / 27.7.1998 / 11:06:23 / cg" + "Created: / 30.1.1999 / 14:49:26 / cg" +! + +resetCountingStatistics + "reset count statistics of the receiver" + + MessageTracer resetCountOfMethod:self + + "Modified: / 12.1.1998 / 18:24:30 / cg" + "Created: / 30.1.1999 / 14:50:19 / cg" +! + +resetMemoryUsageStatistics + "reset count statistics of the receiver" + + MessageTracer resetMemoryUsageOfMethod:self + + "Modified: / 12.1.1998 / 18:24:30 / cg" + "Created: / 30.1.1999 / 14:50:22 / cg" +! + +resetTimingStatistics + "reset timing statistics of the receiver" + + MessageTracer resetExecutionTimesOfMethod:self + + "Modified: / 12.1.1998 / 18:24:30 / cg" + "Created: / 30.1.1999 / 14:50:25 / cg" +! + +setBreakPoint + "arrange for a breakpoint-debugger to be opened when this method + is invoked." + + MessageTracer trapMethod:self. + + "Modified: / 12.1.1998 / 18:22:36 / cg" + "Created: / 30.1.1999 / 14:50:27 / cg" +! + +setTraceFullPoint + "arrange for a full-backtrace to be sent to the standard-error stream + when this method is invoked." + + MessageTracer traceMethodFull:self on:Transcript + + "Modified: / 12.1.1998 / 18:23:11 / cg" + "Created: / 30.1.1999 / 14:50:30 / cg" +! + +setTracePoint + "arrange for a trace-message to be sent to the standard-error stream + when this method is invoked." + + MessageTracer traceMethod:self on:Transcript + + "Modified: / 12.1.1998 / 18:23:23 / cg" + "Created: / 30.1.1999 / 14:50:33 / cg" +! + +setTraceSenderPoint + "arrange for a sender-trace-message to be sent to the standard-error stream + when this method is invoked." + + MessageTracer traceMethodSender:self on:Transcript + + "Modified: / 12.1.1998 / 18:23:31 / cg" + "Created: / 30.1.1999 / 14:50:36 / cg" +! + +startCounting + "start counting invokations of the receiver" + + MessageTracer countMethod:self + + "Modified: / 12.1.1998 / 18:23:45 / cg" + "Created: / 30.1.1999 / 14:50:38 / cg" +! + +startCountingMemoryUsage + "start counting memory usage of the receiver (and every callee)" + + MessageTracer countMemoryUsageOfMethod:self + + "Modified: / 27.7.1998 / 11:06:55 / cg" + "Created: / 30.1.1999 / 14:50:41 / cg" +! + +startTiming + "start timing the receiver" + + MessageTracer timeMethod:self + + "Modified: / 12.1.1998 / 18:24:05 / cg" + "Created: / 30.1.1999 / 14:50:44 / cg" +! + +stopCounting + "stop counting calls of the receiver" + + MessageTracer stopCountingMethod:self + + "Modified: / 12.1.1998 / 18:24:15 / cg" + "Created: / 30.1.1999 / 14:50:47 / cg" +! + +stopCountingMemoryUsage + "stop counting memory usage of the receiver" + + MessageTracer stopCountingMemoryUsageOfMethod:self + + "Modified: / 12.1.1998 / 18:24:22 / cg" + "Created: / 30.1.1999 / 14:50:51 / cg" +! + +stopTiming + "stop timing of the receiver" + + MessageTracer stopTimingMethod:self + + "Modified: / 12.1.1998 / 18:24:30 / cg" + "Created: / 30.1.1999 / 14:50:54 / cg" +! ! + !CompiledCode methodsFor:'error handling'! badArgumentArray @@ -1290,6 +1502,6 @@ !CompiledCode class methodsFor:'documentation'! version - ^ '$Header: /cvs/stx/stx/libbasic/CompiledCode.st,v 1.67 1998-11-14 17:41:22 cg Exp $' + ^ '$Header: /cvs/stx/stx/libbasic/CompiledCode.st,v 1.68 1999-01-30 13:57:36 cg Exp $' ! ! CompiledCode initialize!