Jeffrey C. Robbins - Seattle WA David G. Bradlee - Seattle WA Timothy L. Paterson - Redmond WA
Assignee:
Microsoft Corporation - Redmond WA
International Classification:
G06F 9445
US Classification:
395705
Abstract:
A call template builder constructs call templates for interfacing between two blocks of code that utilize different calling conventions. Each call template is built to perform calling convention translation for a call from a source code block to a particular function in a target code block. The call template is formed as a linear block of code having computer code instructions for moving each argument of the function call between locations in memory and registers of the computer complying with a calling convention of the source code block to locations complying with a calling convention of the target code block. Call templates can be constructed for any arbitrary calling convention by providing a definition to the call template builder of the calling convention indicative of the locations for passing arguments and transferring control to the function in compliance with that calling convention.
A test coverage analyzer (computer program) for monitoring the execution of a target program to determine which target program instructions have been executed. The analyzer first executes a portion of the target program in step mode, in which target program instruction are executed one at a time. In step mode, the analyzer maintains data indicating which target program instructions have been executed. When a branch is encountered, the analyzer inserts breakpoints in the target program at the first instructions of the branches that are not taken. When the analyzer determines that the target program instruction being executed has already been executed, it switches to run mode, so that the target program begins executing at its normal running speed. This continues until one of the inserted breakpoints is encountered, at which point the analyzer removes the breakpoint and switches back to step mode.
Method And System For Expanding A Buried Stack Frame
Timothy L. Paterson - Redmond WA Alan W. Carter - Bellevue WA
Assignee:
Microsoft Corporation - Redmond WA
International Classification:
G06F 900
US Classification:
709108
Abstract:
A method and system for growing stack frames is described. According to the invention, actual growth of a stack frame buried below the top of the stack is delayed until such time as the frame is returned to the top of the stack. The invention can be applied, for example, in a source code debugger to provide an improved Edit and Continue capability. In one aspect, the invention is implemented in a computer system that includes a processor (CPU), a stack of frames accessible to the processor, and a program for execution by the processor. The program is composed of a set of procedures. The processor begins executing a procedure of the set and places a stack frame associated with the execution of the procedure on top of the stack. This first stack frame includes a reserved location that can be used later to record an amount or increment by which to grow the frame. The processor begins executing another procedure (or another instance of the same procedure) and places a second stack frame associated with this second procedure execution at the top of the stack above the first frame.
St. Elizabeth School Granite City IL 1966-1968, Lincoln Elementary School Oak Park IL 1969-1970, Maryland Elementary School Phoenix AZ 1971-1972, Joseph City High School Joseph City AZ 1974-1978
Community:
Glen Mortensen, Leighann Holiday, Mary Rice, Michael Fenimore
Timothy Paterson (1965-1969), Ron Perry (1965-1974), Ron Filippi (1966-1969), James Presswood (1971-1976), John Slavik (1966-1972), Diane York (1957-1964)