The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.

The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.

Date of Patent:
Jul. 11, 2023

Filed:

Mar. 25, 2021
Applicant:

Temper Systems, Inc., Denver, CO (US);

Inventors:

Michael Vincent Samuel, Princeton, NJ (US);

Jasvir Nagra, Redwood City, CA (US);

Assignee:

Temper Systems, Inc., Denver, CO (US);

Attorney:
Primary Examiner:
Int. Cl.
CPC ...
G06F 8/41 (2018.01); G06F 16/901 (2019.01);
U.S. Cl.
CPC ...
G06F 8/437 (2013.01); G06F 16/9024 (2019.01);
Abstract

Computer-implemented techniques for preventing garbage object accumulation on minimal runtimes. The techniques include checking whether source code written in a source programming language that does not require the programmer to explicitly program when deallocation happens can run within a runtime that provides little or no support for implicit deallocation. At the same time, the techniques ensure that objects in minimal runtimes are deallocated in a timely manner. In one aspect, the techniques encompass generating a compile-time alert (e.g., an error or warning message) to a programmer of source code or halting compilation of the source code upon detecting a data type definition in the source code with the potential for reference cycles. With the techniques, the programmer is provided with an implicit deallocation experience while producing program fragments that interoperate with minimal runtimes that provide no or only minimal support for implicit deallocation (e.g., provide only reference counting).


Find Patent Forward Citations

Loading…