Method for enabling comprehensive profiling of garbage-collected memory systems
First Claim
Patent Images
1. A method for allowing a profiler to communicate with a virtual machine without regard to a specific implementation of the virtual machine, the method comprising the steps of:
- creating one or more heap arenas in a heap; and
using at least one event to dynamically manage storage allocation and storage deallocation in the heap, wherein said at least one event is independent of any algorithm for dynamically managing storage allocation and storage deallocation in the heap.
0 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for profiling a heap. According to the method, a flexible and comprehensive general-purpose profiling interface that uniformly accommodates a wide variety of memory allocation and garbage collection methods is used. The profiling interface, among other things, employs a set of virtual machine profiling interface events that support all known types of garbage collection methods.
-
Citations
38 Claims
-
1. A method for allowing a profiler to communicate with a virtual machine without regard to a specific implementation of the virtual machine, the method comprising the steps of:
-
creating one or more heap arenas in a heap; and
using at least one event to dynamically manage storage allocation and storage deallocation in the heap, wherein said at least one event is independent of any algorithm for dynamically managing storage allocation and storage deallocation in the heap. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method for interfacing a profiler to a virtual machine, the method comprising the steps of:
-
receiving from a profiler agent of the profiler at least one of either a request for specific types of events and information or an enablement of notification of specific types of events and information; and
registering the specific types of events and information in which the profiler is interested.
-
-
11. A computer-readable medium carrying one or more sequences of one or more instructions for allowing a profiler to communicate with a virtual machine without regard to a specific implementation of the virtual machine, the one or more sequences of one or more instructions including instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of:
-
creating one or more heap arenas in a heap; and
using at least one event to dynamically manage storage allocation and storage deallocation in the heap, wherein said at least one event is independent of any algorithm for dynamically managing storage allocation and storage deallocation in the heap. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A computer-readable medium carrying one or more sequences of one or more instructions for interfacing a profiler to a virtual machine, the one or more sequences of one or more instructions including instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of:
-
receiving from a profiler agent of the profiler at least one of either a request for specific types of events and information or an enablement of notification of specific types of events and information; and
registering the specific types of events and information in which the profiler is interested.
-
-
21. A system for profiling a heap, the system comprising:
-
a memory;
one or more processors coupled to the memory; and
at least one processor configured to;
create one or more heap arenas in a heap; and
use at least one event to dynamically manage storage allocation and storage deallocation in the heap, wherein said at least one event is independent of any algorithm for dynamically managing storage allocation and storage deallocation in the heap. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29)
-
-
30. A system for profiling a heap, the system comprising:
-
a memory;
one or more processors coupled to the memory; and
at least one processor configured to;
receive from a profiler agent of a profiler at least one of either a request for specific types of events and information or an enablement of notification of specific types of events and information; and
register the specific types of events and information in which the profiler is interested.
-
-
31. A system for profiling a heap, the system comprising:
-
a storage medium; and
a profiler front-end, wherein the profiler front-end is communicatively coupled to a profiler agent and is on a machine process separate and distinct from the machine process of the profiler agent; and
a profiler agent communicatively coupled to the storage medium, wherein the profiler agent is configured to submit at least one of either a request for specific types of events and information or an enablement of notification of specific types of events and information.
-
-
32. A virtual machine comprising a process for creating a plurality of arenas within a heap.
- 33. A virtual machine having a standard profiler interface accommodating two or more profilers.
Specification