Method for protecting user-managed memory using an exception
First Claim
Patent Images
1. A method for providing safe user-managed memory, comprising the steps of:
- performing memory allocation in constant time;
performing memory de-allocation in constant time;
performing memory access overhead for safety checking in constant time;
using the memory allocation, memory de-allocation and memory access overhead to protect at least one memory access, user-specified allocation and de-allocation with at least one exception for said user-managed memory; and
using at least one pointer to an exception-protected heap, wherein the at least one pointer is encoded to carry at least one object version bit and at least one offset bit into a protected heap.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques for providing safe user-managed memory are provided. The techniques include performing memory allocation in constant time, performing memory de-allocation in constant time, performing memory access overhead for safety checking in constant time, and using the memory allocation, memory de-allocation and memory access overhead to protect at least one memory access, user-specified allocation and de-allocation with at least one exception for said user-managed memory.
-
Citations
17 Claims
-
1. A method for providing safe user-managed memory, comprising the steps of:
-
performing memory allocation in constant time; performing memory de-allocation in constant time; performing memory access overhead for safety checking in constant time; using the memory allocation, memory de-allocation and memory access overhead to protect at least one memory access, user-specified allocation and de-allocation with at least one exception for said user-managed memory; and using at least one pointer to an exception-protected heap, wherein the at least one pointer is encoded to carry at least one object version bit and at least one offset bit into a protected heap.
-
-
2. An exception protection system for user-specified memory management, wherein the system comprises:
-
a memory; and at least one processor coupled to said memory; a mechanism for memory allocation executing on the processor; a mechanism for memory de-allocation executing on the processor; a mechanism for memory access overhead executing on the processor; a mechanism for using the memory allocation, memory de-allocation and memory access overhead executing on the processor to protect one or more memory accesses and user-specified allocation and de-allocation with at least one exception for said user-specified memory; and at least one pointer to an exception-protected heap, wherein the at least one pointer is encoded to carry at least one object version bit and at least one offset bit into a protected heap. - View Dependent Claims (3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A computer program product comprising a non-transitory computer readable recordable storage medium having computer readable program code for providing safe user-managed memory, said computer program product including:
-
computer readable program code for performing memory allocation in constant time; computer readable program code for performing memory de-allocation in constant time; computer readable program code for performing memory access overhead for safety checking in constant time; computer readable program code for using the memory allocation, memory de-allocation and memory access overhead to protect at least one memory access, user-specified allocation and de-allocation with at least one exception for said user-managed memory; and computer readable program code for using at least one pointer to an exception-protected heap, wherein the at least one pointer is encoded to carry at least one object version bit and at least one offset bit into a protected heap.
-
Specification