U.S. patents available from 1976 to present.
U.S. patent applications available from 2005 to present.

Determination of local variable type and precision in the presence of subroutines

Patent 6442751 Issued on August 27, 2002. Estimated Expiration Date: Icon_subject December 14, 2018. Estimated Expiration Date is calculated based on simple USPTO term provisions. It does not account for terminal disclaimers, term adjustments, failure to pay maintenance fees, or other factors which might affect the term of a patent.

Patent References

Computer method and system for conservative-stack and generational heap garbage collection
Patent #: 5652883
Issued on: 07/29/1997
Inventor: Adcock

Garbage collection system for improved use of memory by removal of reference conflicts
Patent #: 6047125
Issued on: 04/04/2000
Inventor: Agesen, et al.

Unified compiler framework for control and data speculation with recovery code
Patent #: 6260190
Issued on: 07/10/2001
Inventor: Ju

Method and apparatus for finding bugs related to garbage collection in a virtual machine Patent #: 6327701
Issued on: 12/04/2001
Inventor: Ungar

Inventors

Application

No. 211388 filed on 12/14/1998

US Classes:

717/133, Using procedure or function call graph707/205, File allocation707/206, Garbage collection717/132, Using program flow graph717/154, Including analysis of program717/155, Data flow analysis717/156, Using flow graph717/157Using procedure or function call graph

Examiners

Primary: Morse, Gregory
Assistant: Vo, Tuyet T.

Attorney, Agent or Firm

International Class

G06F 009/45

Abstract

A method is provided for tracking the type of at least one local variable after calling a subroutine. The exemplary method associates each one of a plurality of branch instructions calling the subroutine with a first information, which indicates the type of value stored in the local variable when each one of the plurality of branch instructions is executed. The exemplary method associates at least one execution point-of-interest within the subroutine with a second information. The execution point-of-interest is any point within the subroutine where it may be necessary to ascertain the type of each local variable. The second information is a data structure indicating a change in type made to the local variable after entering the subroutine and before the execution point-of-interest. The exemplary method associates the execution point-of-interest with a return address for the subroutine. This return address enables the method to identify the point in the calling program from which the current subroutine was called. When a request is received to identify the type of the local variable at the execution point-of-interest in the subroutine, the exemplary method obtains a second map from the second information using the execution point-of-interest. The second map indicates the change in type of the local variable made within the subroutine. The method also obtains the return address associated with the execution point-of-interest, and obtains a first map from the first information using the return address. The first map indicates the type of value stored in the local variable when one of the branch instructions is executed to call the subroutine. Given the first and second maps, the exemplary method merges the first map with the second map to identify a current type for the local variable. In performing this merge, the method combines the type status of the local variable as modified by the subroutine with the type status of the local variable as it stood before calling the subroutine.

Other References

  • Goldberg, "Tag-free garbage collection for strongly typed programming languages", ACM, pp. 165-176, Jun. 1991.
  • Tolmach, "Tag-free garbage collection using explicit type parameters", ACM, pp. 1-11, Jun. 1994.
  • Ali-Reza Adl-Tabatabai et al., "Fast, Effective Code Generation in a Just-In-Time Java Compiler", SIGPLAN '98, Montreal, Canada, pp. 280-290, Apr. 1998
  • Ole Agesen et al., "Garbage Collection and Local Variable Type-Precision and Liveness in Java.RTM. Virtual Machines", SIGPLAN '98, Montreal, Canada, pp. 269-279, Apr. 199
PatentsPlus Images
Enhanced PDF formats
loading...
PatentsPlus: add to cart
PatentsPlus: add to cartSearch-enhanced full patent PDF image
$9.95more info
PatentsPlus: add to cart
PatentsPlus: add to cartIntelligent turbocharged patent PDFs with marked up images
$16.95more info
 
Sign InRegister
Username  
Password   
forgot password?