Visualizations of memory layouts in software programs

US2016124645A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2016124645-A1
Application numberUS-201414533948-A
CountryUS
Kind codeA1
Filing dateNov 5, 2014
Priority dateNov 5, 2014
Publication dateMay 5, 2016
Grant date

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

The disclosed embodiments provide a system that facilitates the execution of a software program. During operation, the system obtains a memory layout for an object instance in a software program, wherein the memory layout includes a set of offsets and a set of allocated sizes of a set of components associated with the object instance. Next, the system uses the memory layout to determine a first memory space occupied by data in the object instance and a second memory space occupied by padding in the object instance. The system then displays a visualization of the memory layout on the computer system, wherein the visualization includes a first graphical distinction between the first memory space and the second memory space.

First claim

Opening claim text (preview).

What is claimed is: 1 . A method, comprising: obtaining a memory layout for an object instance in a software program, wherein the memory layout comprises a set of offsets and a set of allocated sizes of a set of components associated with the object instance; using the memory layout to determine, by a computer system: a first memory space occupied by data in the object instance; and a second memory space occupied by padding in the object instance; and displaying a visualization of the memory layout on the computer system, wherein the visualization comprises a first graphical distinction between the first memory space and the second memory space. 2 . The method of claim 1 , further comprising: displaying a memory consumption and a padding size of the object instance on the computer system. 3 . The method of claim 1 , further comprising: using the memory layout to determine, by the computer system: a first field associated with a first level of an inheritance hierarchy of the object instance; and a second field associated with a second level of the inheritance hierarchy; and including a second graphical distinction between the first and second fields in the visualization. 4 . The computer-implemented method of claim 1 , wherein the first graphical distinction comprises a difference in transparency between the first and second memory spaces. 5 . The computer-implemented method of claim 1 , wherein the graphical distinction comprises a difference in color between the first and second memory spaces. 6 . The computer-implemented method of claim 1 , wherein the first memory space comprises: a header; metadata; and one or more fields. 7 . The computer-implemented method of claim 1 , wherein providing the visualization of the memory layout to the user comprises: displaying the first and second memory spaces in a grid based on the set of offsets and the set of allocated sizes. 8 . The computer-implemented method of claim 1 , wherein the memory layout is associated with an execution context for the software program. 9 . A method, comprising: obtaining a memory layout for an object instance in a software program, wherein the memory layout comprises a set of offsets and a set of allocated sizes of a set of components associated with the object instance; using the memory layout to determine, by a computer system: a first field associated with a first level of an inheritance hierarchy of the object instance; and a second field associated with a second level of the inheritance hierarchy; and displaying a visualization of the memory layout on the computer system, wherein the visualization comprises a first graphical distinction between the first and second fields. 10 . The method of claim 9 , further comprising: using the memory layout to determine, by the computer system: a first memory space occupied by data in the object instance; and a second memory space occupied by padding in the object instance; and including a second graphical distinction between the first and second memory spaces in the visualization. 11 . The method of claim 9 , wherein the first graphical distinction comprises a difference in transparency between the first and second memory spaces. 12 . The method of claim 9 , wherein the graphical distinction comprises a difference in color between the first and second memory spaces. 13 . The method of claim 9 , wherein providing the visualization of the memory layout to the user comprises: displaying the first and second fields in a grid based on the set of offsets and the set of allocated sizes. 14 . The method of claim 9 , wherein the first field is owned by a first class in the inheritance hierarchy and the second field is owned by a second class that is a superclass of the first class in the inheritance hierarchy. 15 . The method of claim 9 , wherein the memory layout is associated with an execution context for the software program. 16 . A non-transitory computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method, the method comprising: obtaining a memory layout for an object instance in a software program, wherein the memory layout comprises a set of offsets and a set of allocated sizes of a set of components associated with the object instance; determining, from the memory layout: a first memory space occupied by data in the object instance; and a second memory space occupied by padding in the object instance; and providing a visualization of the memory layout to a user, wherein the visualization comprises a first graphical distinction between the first memory space and the second memory space. 17 . The non-transitory computer-readable storage medium of claim 16 , the method further comprising: determining, from the memory layout: a first field associated with a first level of an inheritance hierarchy of the object instance; and a second field associated with a second level of the inheritance hierarchy; and including a second graphical distinction between the first and second fields in the visualization. 18 . The non-transitory computer-readable storage medium of claim 16 , the method further comprising: identifying, from the memory layout, an inefficiently used portion of the first memory space; and including a third graphical distinction between the inefficiently used portion and a remainder of the first memory space in the visualization. 19 . The non-transitory computer-readable storage medium of claim 16 , wherein the first graphical distinction comprises a difference in transparency between the first and second memory spaces. 20 . The non-transitory computer-readable storage medium of claim 16 , wherein the graphical distinction comprises a difference in color between the first and second memory spaces.

Assignees

Inventors

Classifications

  • Performance evaluation by tracing or monitoring · CPC title

  • Visualisation of programs or trace data · CPC title

  • Allocation of resources, e.g. of the central processing unit [CPU] · CPC title

  • G06F3/0604Primary

    Improving or facilitating administration, e.g. storage management · CPC title

  • Monitoring storage devices or systems · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US2016124645A1 cover?
The disclosed embodiments provide a system that facilitates the execution of a software program. During operation, the system obtains a memory layout for an object instance in a software program, wherein the memory layout includes a set of offsets and a set of allocated sizes of a set of components associated with the object instance. Next, the system uses the memory layout to determine a first…
Who is the assignee on this patent?
Oracle Int Corp
What technology area does this patent fall under?
Primary CPC classification G06F3/0604. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu May 05 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).