-
公开(公告)号:US20050177822A1
公开(公告)日:2005-08-11
申请号:US11069232
申请日:2005-02-28
Applicant: Gerald Kuch , Brian Beckman , Jason Zander
Inventor: Gerald Kuch , Brian Beckman , Jason Zander
CPC classification number: G06F9/44557 , G06F9/445 , G06F9/4488
Abstract: Data layout optimization arranges data members within memory to enhance software performance. Profiling data is consulted to determine how to group data members for an object class into groups. One technique groups the data members based on how frequently the data members are referenced in memory. Another technique groups the data members based on their affinities for one another in time as determined by observing when references to the data members take place. A variety of options when collecting the profiling data and grouping the data members is supported. The data member grouping is recorded in metadata associated with a definition of the object class. At runtime, a class loader places the data members of an object in memory according to the metadata. Data members of different groups can be placed in separately-loadable units of memory in the memory system. Subsequently, when the data members are referenced in memory, more frequently referenced data members, including those that tend to be referenced at times close to each other, reside at neighboring locations in the memory system.
-
公开(公告)号:US20050172278A1
公开(公告)日:2005-08-04
申请号:US10987408
申请日:2004-11-12
Applicant: Gerald Kuch , Brian Beckman , Jason Zander
Inventor: Gerald Kuch , Brian Beckman , Jason Zander
CPC classification number: G06F9/44557 , G06F9/445 , G06F9/4488
Abstract: Data layout optimization arranges data members within memory to enhance software performance. Profiling data is consulted to determine how to group data members for an object class into groups. One technique groups the data members based on how frequently the data members are referenced in memory. Another technique groups the data members based on their affinities for one another in time as determined by observing when references to the data members take place. A variety of options when collecting the profiling data and grouping the data members is supported. The data member grouping is recorded in metadata associated with a definition of the object class. At runtime, a class loader places the data members of an object in memory according to the metadata. Data members of different groups can be placed in separately-loadable units of memory in the memory system. Subsequently, when the data members are referenced in memory, more frequently referenced data members, including those that tend to be referenced at times close to each other, reside at neighboring locations in the memory system.
Abstract translation: 数据布局优化将数据成员安排在内存中以增强软件性能。 查询分析数据以确定如何将对象类的数据成员分组。 一种技术根据数据成员在内存中引用的频率来对数据成员进行分组。 另一种方法是根据数据成员的相关性在时间上对数据成员进行分组,通过观察对数据成员的引用进行确定。 支持收集分析数据和分组数据成员时的各种选项。 数据成员分组被记录在与对象类的定义相关联的元数据中。 在运行时,类加载器根据元数据将对象的数据成员放置在内存中。 不同组的数据成员可以被放置在存储器系统中的可分离的存储单元中。 随后,当在存储器中引用数据成员时,更频繁地引用的数据成员(包括倾向于在彼此接近的时间被引用的数据成员)驻留在存储器系统中的相邻位置处。
-
公开(公告)号:US20050034109A1
公开(公告)日:2005-02-10
申请号:US10896610
申请日:2004-07-21
Applicant: Jennifer Hamilton , Michael Magruder , James Hogg , William Evans , Vance Morrison , Lawrence Sullivan , Sean Trowbridge , Jason Zander , Ian Carmichael , Patrick Dussud , John Hamby , John Rivard , Li Zhang , Mario Chenier , Douglas Rosen , Steven Steiner , Peter Hallam , Brian Crawford , James Miller , Sam Spencer , Habib Heydarian
Inventor: Jennifer Hamilton , Michael Magruder , James Hogg , William Evans , Vance Morrison , Lawrence Sullivan , Sean Trowbridge , Jason Zander , Ian Carmichael , Patrick Dussud , John Hamby , John Rivard , Li Zhang , Mario Chenier , Douglas Rosen , Steven Steiner , Peter Hallam , Brian Crawford , James Miller , Sam Spencer , Habib Heydarian
CPC classification number: G06F11/3664 , G06F8/34 , G06F8/48 , G06F9/455 , Y10S707/99944
Abstract: A system and method of providing edit and continue support in a software program debugging environment. “Edit and continue” support allows a user (e.g., programmer and/or developer) to update the code and/or data structure(s) of an executing program while it is running. After the user has finished editing their code and resumes execution, an integrated development environment (IDE) propagates the edit(s) into a common language runtime (CLR) environment before continuing. Therefore, from the CLR environment's perspective, an edit is a block of intermediate language code (IL) and/or metadata that is inserted into a running process. The IDE can facilitate: determining “legality” of an edit; building the edit; sending the edit to the CLR environment; and/or, facilitating the CLR environment switch execution to the edited code.
Abstract translation: 在软件程序调试环境中提供编辑和继续支持的系统和方法。 “编辑和继续”支持允许用户(例如,程序员和/或开发者)在运行程序时更新执行程序的代码和/或数据结构。 用户完成编辑代码并恢复执行后,集成开发环境(IDE)将编辑传播到公共语言运行时(CLR)环境中,然后再继续。 因此,从CLR环境的角度来看,编辑是插入到正在运行的进程中的中间语言代码(IL)和/或元数据块。 IDE可以方便:确定编辑的“合法性”; 编辑编辑; 将编辑发送到CLR环境; 和/或促进CLR环境切换到编辑代码的执行。
-
公开(公告)号:US20050028137A1
公开(公告)日:2005-02-03
申请号:US10925515
申请日:2004-08-25
Applicant: William Evans , Jennifer Hamilton , Michael Magruder , Vance Morrison , Lawrence Sullivan , Sean Trowbridge , Jason Zander
Inventor: William Evans , Jennifer Hamilton , Michael Magruder , Vance Morrison , Lawrence Sullivan , Sean Trowbridge , Jason Zander
CPC classification number: G06F11/3664 , G06F8/48
Abstract: A method and system are disclosed for editing a software program in a common language runtime environment, wherein the software program has a source code component, an intermediate language component, and a native code component. The method comprises executing a first portion of the native code component, suspending execution of the native code component at a first point, and allowing a user to edit the source code component to create an edited source code component. The edited source code component is compiled using a source compiler to create an edited intermediate language component, and the edited intermediate language component is compiled using an intermediate language compiler to create an edited native code component. The edited native code component is then executed beginning at the point where execution was previously suspended.
Abstract translation: 公开了用于在公共语言运行时环境中编辑软件程序的方法和系统,其中软件程序具有源代码组件,中间语言组件和本地代码组件。 该方法包括执行本地代码组件的第一部分,在第一点暂停本机代码组件的执行,并且允许用户编辑源代码组件以创建编辑的源代码组件。 使用源编译器编辑编辑的源代码组件以创建编辑的中间语言组件,并且使用中间语言编译器编译编辑的中间语言组件以创建编辑的本地代码组件。 然后从执行先前暂停的点开始执行编辑的本机代码组件。
-
-
-