CN105393217A - 用于编译器优化的方法和系统 - Google Patents
用于编译器优化的方法和系统 Download PDFInfo
- Publication number
- CN105393217A CN105393217A CN201480041050.2A CN201480041050A CN105393217A CN 105393217 A CN105393217 A CN 105393217A CN 201480041050 A CN201480041050 A CN 201480041050A CN 105393217 A CN105393217 A CN 105393217A
- Authority
- CN
- China
- Prior art keywords
- instruction
- code
- register
- loop
- compiling
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/443—Optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/441—Register allocation; Assignment of physical memory space to logical memory space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45516—Runtime code conversion or optimisation
- G06F9/4552—Involving translation to a different instruction set architecture, e.g. just-in-time translation in a JVM
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
Description
Claims (24)
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361857952P | 2013-07-24 | 2013-07-24 | |
US61/857,952 | 2013-07-24 | ||
PCT/IB2014/002374 WO2015011567A2 (en) | 2013-07-24 | 2014-07-23 | Method and system for compiler optimization |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105393217A true CN105393217A (zh) | 2016-03-09 |
CN105393217B CN105393217B (zh) | 2019-04-19 |
Family
ID=51945939
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480041050.2A Expired - Fee Related CN105393217B (zh) | 2013-07-24 | 2014-07-23 | 用于编译器优化的方法和系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9323508B2 (zh) |
EP (1) | EP3025228A2 (zh) |
CN (1) | CN105393217B (zh) |
WO (1) | WO2015011567A2 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108153530A (zh) * | 2017-12-26 | 2018-06-12 | 网易(杭州)网络有限公司 | 字节码的优化方法、装置、存储介质、处理器及终端 |
CN109086049A (zh) * | 2018-07-25 | 2018-12-25 | 北京金和网络股份有限公司 | 遍历用户在线状态数据的方法 |
CN109240699A (zh) * | 2018-04-13 | 2019-01-18 | 广州中国科学院软件应用技术研究所 | 一种减少细粒度随机化安全优化带来的寄存器溢出方法 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9323508B2 (en) * | 2013-07-24 | 2016-04-26 | Marvell World Trade Ltd. | Method and system for compiler optimization |
US11061575B2 (en) * | 2017-09-19 | 2021-07-13 | International Business Machines Corporation | Read-only table of contents register |
US10705973B2 (en) | 2017-09-19 | 2020-07-07 | International Business Machines Corporation | Initializing a data structure for use in predicting table of contents pointer values |
US10620955B2 (en) | 2017-09-19 | 2020-04-14 | International Business Machines Corporation | Predicting a table of contents pointer value responsive to branching to a subroutine |
US10896030B2 (en) | 2017-09-19 | 2021-01-19 | International Business Machines Corporation | Code generation relating to providing table of contents pointer values |
US10713050B2 (en) | 2017-09-19 | 2020-07-14 | International Business Machines Corporation | Replacing Table of Contents (TOC)-setting instructions in code with TOC predicting instructions |
US10884929B2 (en) | 2017-09-19 | 2021-01-05 | International Business Machines Corporation | Set table of contents (TOC) register instruction |
US10725918B2 (en) | 2017-09-19 | 2020-07-28 | International Business Machines Corporation | Table of contents cache entry having a pointer for a range of addresses |
CN115577017B (zh) * | 2022-11-21 | 2023-02-28 | 四川蜀天信息技术有限公司 | 一种基于序列化和反序列化检索数据的方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5854933A (en) * | 1996-08-20 | 1998-12-29 | Intel Corporation | Method for optimizing a computer program by moving certain load and store instructions out of a loop |
CN102231118A (zh) * | 2011-07-25 | 2011-11-02 | 中国科学技术大学 | 一种基于龙芯3a向量访存的编译优化方法 |
CN102236575A (zh) * | 2011-07-20 | 2011-11-09 | 复旦大学 | 一种基于寄存器映射的动态编译方法 |
US20130111453A1 (en) * | 2011-10-31 | 2013-05-02 | Oracle International Corporation | Throughput-aware software pipelining for highly multi-threaded systems |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5367684A (en) * | 1992-11-30 | 1994-11-22 | Intel Corporation | Register allocation using an improved register candidate usage matrix |
US6009272A (en) * | 1997-06-30 | 1999-12-28 | Sun Microsystems, Inc. | Register allocation via selective spilling |
US6374403B1 (en) * | 1999-08-20 | 2002-04-16 | Hewlett-Packard Company | Programmatic method for reducing cost of control in parallel processes |
US7725885B1 (en) * | 2000-05-09 | 2010-05-25 | Hewlett-Packard Development Company, L.P. | Method and apparatus for trace based adaptive run time compiler |
US6907601B1 (en) * | 2000-06-30 | 2005-06-14 | Intel Corporation | Method and apparatus for inserting more than one allocation instruction within a routine |
US20030079210A1 (en) * | 2001-10-19 | 2003-04-24 | Peter Markstein | Integrated register allocator in a compiler |
US7308682B2 (en) * | 2003-04-25 | 2007-12-11 | Intel Corporation | Method and apparatus for recovering data values in dynamic runtime systems |
WO2005106682A1 (en) * | 2004-04-30 | 2005-11-10 | Intel Corporation | Caching run-time variables in optimized code |
US8516465B2 (en) * | 2009-12-04 | 2013-08-20 | Oracle America, Inc. | Register prespill phase in a compiler |
US9323508B2 (en) * | 2013-07-24 | 2016-04-26 | Marvell World Trade Ltd. | Method and system for compiler optimization |
-
2014
- 2014-07-23 US US14/338,450 patent/US9323508B2/en active Active
- 2014-07-23 WO PCT/IB2014/002374 patent/WO2015011567A2/en active Application Filing
- 2014-07-23 CN CN201480041050.2A patent/CN105393217B/zh not_active Expired - Fee Related
- 2014-07-23 EP EP14802139.7A patent/EP3025228A2/en not_active Withdrawn
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5854933A (en) * | 1996-08-20 | 1998-12-29 | Intel Corporation | Method for optimizing a computer program by moving certain load and store instructions out of a loop |
CN102236575A (zh) * | 2011-07-20 | 2011-11-09 | 复旦大学 | 一种基于寄存器映射的动态编译方法 |
CN102231118A (zh) * | 2011-07-25 | 2011-11-02 | 中国科学技术大学 | 一种基于龙芯3a向量访存的编译优化方法 |
US20130111453A1 (en) * | 2011-10-31 | 2013-05-02 | Oracle International Corporation | Throughput-aware software pipelining for highly multi-threaded systems |
Non-Patent Citations (1)
Title |
---|
YUAN ZHANG 等: "Swift: A Register-based JIT Compiler for Embedded JVMs", 《2012 ACM VEE"12》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108153530A (zh) * | 2017-12-26 | 2018-06-12 | 网易(杭州)网络有限公司 | 字节码的优化方法、装置、存储介质、处理器及终端 |
CN109240699A (zh) * | 2018-04-13 | 2019-01-18 | 广州中国科学院软件应用技术研究所 | 一种减少细粒度随机化安全优化带来的寄存器溢出方法 |
CN109240699B (zh) * | 2018-04-13 | 2022-01-04 | 广州中国科学院软件应用技术研究所 | 一种减少细粒度随机化安全优化带来的寄存器溢出方法 |
CN109086049A (zh) * | 2018-07-25 | 2018-12-25 | 北京金和网络股份有限公司 | 遍历用户在线状态数据的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105393217B (zh) | 2019-04-19 |
WO2015011567A2 (en) | 2015-01-29 |
WO2015011567A3 (en) | 2015-04-23 |
US9323508B2 (en) | 2016-04-26 |
US20150033214A1 (en) | 2015-01-29 |
EP3025228A2 (en) | 2016-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105393217A (zh) | 用于编译器优化的方法和系统 | |
KR101381274B1 (ko) | 효율적인 동적 이진 변환을 위한 레지스터 매핑 방법, 시스템 및 컴퓨터 판독가능 저장 매체 | |
US10705972B2 (en) | Dynamic adaptation of memory page management policy | |
US9329867B2 (en) | Register allocation for vectors | |
US9304749B2 (en) | Method and system for instruction scheduling | |
US10740152B2 (en) | Technologies for dynamic acceleration of general-purpose code using binary translation targeted to hardware accelerators with runtime execution offload | |
US8621443B2 (en) | Processor emulation using speculative forward translation | |
US20040073894A1 (en) | Optimization of n-base typed arithmetic expressions | |
US8887127B2 (en) | Web browsing apparatus and method through storing and optimizing JAVASCRIPT® code | |
US9971703B2 (en) | Technologies for position-independent persistent memory pointers | |
US9569234B2 (en) | Dynamic bit-width modification of internal pointers of a virtual machine | |
US20170228315A1 (en) | Execution using multiple page tables | |
US8984231B2 (en) | Methods and apparatus to perform adaptive pre-fetch operations in managed runtime environments | |
CN114610394B (zh) | 指令调度的方法、处理电路和电子设备 | |
WO2018125408A1 (en) | Automatic identification and generation of non-temporal store and load operations in a dynamic optimization environment | |
CN114218152B (zh) | 流处理方法、处理电路和电子设备 | |
US10176112B2 (en) | Information processing device, method, and non-transitory computer-readable recording medium storing information processing program for loading code into reconfigurable integrated circuit | |
CN112783823A (zh) | 共享代码的系统与代码共享方法 | |
US9747146B2 (en) | Method and system for memory access protection | |
Ramanan | JIT through the ages Evolution of just-in-time compilation from theoretical performance improvements to smartphone runtime and browser optimizations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20200515 Address after: Singapore City Patentee after: Marvell Asia Pte. Ltd. Address before: Ford street, Grand Cayman, Cayman Islands Patentee before: Kaiwei international Co. Effective date of registration: 20200515 Address after: Ford street, Grand Cayman, Cayman Islands Patentee after: Kaiwei international Co. Address before: Hamilton, Bermuda Patentee before: Marvell International Ltd. Effective date of registration: 20200515 Address after: Hamilton, Bermuda Patentee after: Marvell International Ltd. Address before: Babado J San Mega Le Patentee before: MARVELL WORLD TRADE Ltd. |
|
TR01 | Transfer of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20190419 Termination date: 20200723 |
|
CF01 | Termination of patent right due to non-payment of annual fee |