CN103064720B - 简档导向的jit代码生成 - Google Patents
简档导向的jit代码生成 Download PDFInfo
- Publication number
- CN103064720B CN103064720B CN201210330925.3A CN201210330925A CN103064720B CN 103064720 B CN103064720 B CN 103064720B CN 201210330925 A CN201210330925 A CN 201210330925A CN 103064720 B CN103064720 B CN 103064720B
- Authority
- CN
- China
- Prior art keywords
- bytecode
- profile information
- source code
- compiled
- situation
- 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.)
- Active
Links
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3604—Software analysis for verifying properties of programs
- G06F11/3612—Software analysis for verifying properties of programs by runtime analysis
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
Description
Claims (11)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/229,594 US8819649B2 (en) | 2011-09-09 | 2011-09-09 | Profile guided just-in-time (JIT) compiler and byte code generation |
US13/229,594 | 2011-09-09 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103064720A CN103064720A (zh) | 2013-04-24 |
CN103064720B true CN103064720B (zh) | 2016-07-06 |
Family
ID=47831035
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210330925.3A Active CN103064720B (zh) | 2011-09-09 | 2012-09-07 | 简档导向的jit代码生成 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8819649B2 (zh) |
EP (1) | EP2754044A4 (zh) |
CN (1) | CN103064720B (zh) |
HK (1) | HK1182484A1 (zh) |
WO (1) | WO2013036703A2 (zh) |
Families Citing this family (62)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10466989B2 (en) | 2011-09-02 | 2019-11-05 | Microsoft Technology Licensing, Llc. | Fast presentation of markup content having script code |
US9027075B2 (en) * | 2011-09-29 | 2015-05-05 | Oracle International Corporation | Enforcing security rules at runtime |
US9183113B2 (en) | 2011-09-29 | 2015-11-10 | Oracle International Corporation | Debugging analysis in running multi-user systems |
US20130185626A1 (en) * | 2012-01-13 | 2013-07-18 | Obigo Inc. | METHOD, TERMINAL AND COMPUTER-READABLE RECORDING MEDIUM FOR COMPILING JAVASCRIPT INCLUDED IN WEB APPLICATION USING Ahead-Of-Time (AOT) |
US20130227388A1 (en) * | 2012-02-28 | 2013-08-29 | Microsoft Corporation | Persistent Storage of Profile Data for Script Compilation |
US9256410B2 (en) * | 2012-08-09 | 2016-02-09 | Apple Inc. | Failure profiling for continued code optimization |
CN103678340B (zh) * | 2012-09-07 | 2016-09-14 | 腾讯科技(深圳)有限公司 | 浏览器引擎的运行方法、装置、浏览器及终端 |
US8959495B2 (en) * | 2012-09-14 | 2015-02-17 | Oracle International Corporation | Unifying static and dynamic compiler optimizations in source-code bases |
JP2014063285A (ja) * | 2012-09-20 | 2014-04-10 | International Business Maschines Corporation | ガベージ・コレクションのためのコード変換方法、プログラム及びシステム |
US9122794B2 (en) | 2012-10-30 | 2015-09-01 | Oracle International Corporation | System and method for debugging domain specific languages |
US9569342B2 (en) * | 2012-12-20 | 2017-02-14 | Microsoft Technology Licensing, Llc | Test strategy for profile-guided code execution optimizers |
US8954939B2 (en) * | 2012-12-31 | 2015-02-10 | Microsoft Corporation | Extending a development environment |
US8930920B2 (en) * | 2012-12-31 | 2015-01-06 | Oracle International Corporation | Self-optimizing interpreter and snapshot compilation |
US9552195B2 (en) * | 2013-03-08 | 2017-01-24 | Facebook, Inc. | Enlarging control regions to optimize script code compilation |
US9110758B2 (en) * | 2013-03-15 | 2015-08-18 | Western Digital Technologies, Inc. | Cross-platform software framework for embedded systems on data storage device |
US9256398B2 (en) * | 2013-03-15 | 2016-02-09 | Fujitsu Limited | Device and method of increasing dynamically-typed software efficiency |
US9274925B2 (en) * | 2013-04-30 | 2016-03-01 | Fujitsu Limited | Programmable symbolic execution based dynamic checker |
US20160210135A1 (en) * | 2013-07-31 | 2016-07-21 | Smiths Detection Inc. | Dynamic sensor driver loading over a wireless network |
US9146834B2 (en) | 2013-08-22 | 2015-09-29 | Oracle International Corporation | Targeted cloud-based debugging |
US9251071B2 (en) | 2013-08-30 | 2016-02-02 | Apple Inc. | Concurrent inline cache optimization in accessing dynamically typed objects |
US9104434B2 (en) | 2013-12-20 | 2015-08-11 | Microsoft Technology Licensing, Llc | Property accesses in dynamically typed programming languages |
US9207914B2 (en) * | 2013-12-20 | 2015-12-08 | Microsoft Technology Licensing, Llc | Execution guards in dynamic programming |
US9201635B2 (en) * | 2013-12-30 | 2015-12-01 | Unisys Corporation | Just-in-time dynamic translation for translation, compilation, and execution of non-native instructions |
US9286089B2 (en) | 2014-01-24 | 2016-03-15 | International Business Machines Corporation | Just-in time expensive compilation hints |
US9853956B2 (en) | 2014-02-11 | 2017-12-26 | Texas Instruments Incorporated | JSON encryption and hashing with indication added to key-value |
GB2525435A (en) * | 2014-04-25 | 2015-10-28 | Ibm | Augmenting profile data with information gathered from a JIT complier |
US9639382B2 (en) * | 2014-05-15 | 2017-05-02 | Microsoft Technology Licensing, Llc. | Interactive viewer of intermediate representations of client side code |
US9612809B2 (en) | 2014-05-30 | 2017-04-04 | Microsoft Technology Licensing, Llc. | Multiphased profile guided optimization |
GB2527567A (en) * | 2014-06-26 | 2015-12-30 | Ibm | Optimising software code |
US9348567B2 (en) | 2014-07-03 | 2016-05-24 | Microsoft Technology Licensing, Llc. | Profile guided optimization in the presence of stale profile data |
WO2016026145A1 (zh) * | 2014-08-22 | 2016-02-25 | 华为技术有限公司 | 标识配置方法、终端管理服务器及基础节点 |
CN104461506A (zh) * | 2014-11-06 | 2015-03-25 | 国云科技股份有限公司 | 一种解决JavaScript中无限循环小数的算法 |
GB2533575A (en) * | 2014-12-22 | 2016-06-29 | Ibm | Elapsed time indications for source code in development environment |
CN104572194B (zh) * | 2014-12-30 | 2019-03-08 | 北京奇虎科技有限公司 | 一种模块加载方法和装置 |
EP3104273A1 (en) * | 2015-06-12 | 2016-12-14 | Alcatel Lucent | Method for processing a computer application by a computing device and related devices |
US10559977B2 (en) | 2015-07-10 | 2020-02-11 | United Technologies Corporation | Intra-microgrid communication architecture |
KR102414250B1 (ko) | 2015-07-30 | 2022-06-29 | 삼성전자주식회사 | 전자 장치, 컴파일링 방법 및 컴퓨터 판독가능 기록매체 |
JP6555981B2 (ja) * | 2015-08-24 | 2019-08-07 | キヤノン株式会社 | 情報処理装置及びその制御方法 |
US10001979B2 (en) | 2015-11-25 | 2018-06-19 | International Business Machines Corporation | Avoiding guard test invalidation for virtual and interface calls |
KR102492871B1 (ko) * | 2015-12-15 | 2023-01-30 | 삼성전자주식회사 | 사용자 단말장치, 서버, 및 그 어플리케이션 실행 방법 |
US10360022B2 (en) * | 2016-01-13 | 2019-07-23 | International Business Machines Corporation | Software discovery scan optimization based on product priorities |
CN105739981B (zh) * | 2016-01-28 | 2020-03-06 | 厦门飞信网络科技有限公司 | 一种代码补全实现方法、装置和计算设备 |
US10452428B2 (en) | 2016-03-14 | 2019-10-22 | International Business Machines Corporation | Application execution with optimized code for use profiles |
JP6358323B2 (ja) * | 2016-12-28 | 2018-07-18 | 日本電気株式会社 | 情報処理装置、情報処理方法、およびプログラム |
US10481876B2 (en) | 2017-01-11 | 2019-11-19 | Microsoft Technology Licensing, Llc | Methods and systems for application rendering |
US10534691B2 (en) * | 2017-01-27 | 2020-01-14 | Fujitsu Limited | Apparatus and method to improve accuracy of performance measurement for loop processing in a program code |
CN109542443A (zh) * | 2017-07-27 | 2019-03-29 | 阿里巴巴集团控股有限公司 | 应用程序的编译方法及装置、计算机终端、数据处理方法 |
US10706164B2 (en) * | 2017-09-29 | 2020-07-07 | Intel Corporation | Crypto-enforced capabilities for isolation |
US10853044B2 (en) | 2017-10-06 | 2020-12-01 | Nvidia Corporation | Device profiling in GPU accelerators by using host-device coordination |
US10289395B2 (en) | 2017-10-17 | 2019-05-14 | International Business Machines Corporation | Performing a compiler optimization pass as a transaction |
US10613844B2 (en) | 2017-11-10 | 2020-04-07 | International Business Machines Corporation | Using comments of a program to provide optimizations |
US10565014B2 (en) * | 2017-12-05 | 2020-02-18 | Western Digital Technologies, Inc. | Data processing offload using in-storage code execution |
US10552185B2 (en) | 2018-05-24 | 2020-02-04 | International Business Machines Corporation | Lightweight and precise value profiling |
US20200186623A1 (en) * | 2018-12-11 | 2020-06-11 | Microsoft Technology Licensing, Llc | Performant retrieval and presentation of content |
US11301539B2 (en) | 2019-02-21 | 2022-04-12 | Bank Of America Corporation | Just-in-time front end template generation using logical document object models |
CN118519638A (zh) * | 2019-04-25 | 2024-08-20 | 阿里巴巴(中国)有限公司 | 代码生成方法及装置 |
WO2021068102A1 (en) * | 2019-10-08 | 2021-04-15 | Intel Corporation | Reducing compiler type check costs through thread speculation and hardware transactional memory |
WO2021140568A1 (ja) * | 2020-01-07 | 2021-07-15 | 富士通株式会社 | 関数生成プログラム、関数生成方法、及び情報処理装置 |
US11200038B1 (en) * | 2020-06-25 | 2021-12-14 | Paypal, Inc. | Fast compiling source code without dependencies |
US11487565B2 (en) * | 2020-10-29 | 2022-11-01 | Hewlett Packard Enterprise Development Lp | Instances of just-in-time (JIT) compilation of code using different compilation settings |
CN113076108B (zh) * | 2021-06-04 | 2021-08-20 | 华控清交信息科技(北京)有限公司 | 一种代码执行方法、装置和用于代码执行的装置 |
CN116795378B (zh) * | 2023-08-18 | 2023-11-21 | 宁波数益工联科技有限公司 | 基于代码动态编译的流程编排执行方法及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102016799A (zh) * | 2008-04-21 | 2011-04-13 | 微软公司 | 提前编译 |
Family Cites Families (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69911104T2 (de) | 1998-03-24 | 2004-07-08 | Sun Microsystems, Inc., Palo Alto | Statische Bindung von dynamisch abgesendeten Anrufen in Anwesenheit von dynamischer Verknüpfung und Ladung |
US6735761B1 (en) * | 1998-05-15 | 2004-05-11 | International Business Machines Corporation | Compile method frame detection method and device code discarding method and computer |
US6760907B2 (en) | 1998-06-30 | 2004-07-06 | Sun Microsystems, Inc. | Code generation for a bytecode compiler |
US6256784B1 (en) * | 1998-08-14 | 2001-07-03 | Ati International Srl | Interpreter with reduced memory access and improved jump-through-register handling |
JP4573189B2 (ja) * | 1998-10-10 | 2010-11-04 | インターナショナル・ビジネス・マシーンズ・コーポレーション | プログラムコード変換方法 |
GB9825102D0 (en) * | 1998-11-16 | 1999-01-13 | Insignia Solutions Plc | Computer system |
US6530075B1 (en) * | 1998-12-03 | 2003-03-04 | International Business Machines Corporation | JIT/compiler Java language extensions to enable field performance and serviceability |
US6324687B1 (en) | 1998-12-03 | 2001-11-27 | International Business Machines Corporation | Method and apparatus to selectively control processing of a method in a java virtual machine |
US7225436B1 (en) * | 1998-12-08 | 2007-05-29 | Nazomi Communications Inc. | Java hardware accelerator using microcode engine |
US6332215B1 (en) * | 1998-12-08 | 2001-12-18 | Nazomi Communications, Inc. | Java virtual machine hardware for RISC and CISC processors |
US6481006B1 (en) * | 1999-05-06 | 2002-11-12 | International Business Machines Corporation | Method and apparatus for efficient invocation of Java methods from native codes |
US6851109B1 (en) * | 1999-05-06 | 2005-02-01 | International Business Machines Corporation | Process and system for dynamically compiling a partially interpreted method |
JP3356742B2 (ja) | 1999-11-17 | 2002-12-16 | インターナショナル・ビジネス・マシーンズ・コーポレーション | プログラム実行方法 |
US6578020B1 (en) * | 1999-12-07 | 2003-06-10 | International Business Machines Corporation | Method and system for converting code to executable code using neural networks implemented in a very large scale integration (VLSI) integrated circuit |
US6708169B1 (en) * | 2000-07-10 | 2004-03-16 | International Business Machines Corporation | Apparatus and method for generating a merged symbol file for verifying symbolic data |
US6704926B1 (en) * | 2000-09-28 | 2004-03-09 | International Business Machines Corporation | Bimodal Java just-in-time complier |
US6883165B1 (en) * | 2000-09-28 | 2005-04-19 | International Business Machines Corporation | Apparatus and method for avoiding deadlocks in a multithreaded environment |
KR100441115B1 (ko) * | 2001-06-27 | 2004-07-19 | 주식회사 인터와이즈 | 정보 단말기의 자바 프로그램 처리 속도 향상을 위한 자바컴파일 온 디멘드 서비스 시스템 및 그 방법 |
US6996814B2 (en) | 2001-11-14 | 2006-02-07 | Sun Microsystems, Inc. | Method and apparatus for dynamically compiling byte codes into native code |
JP4443100B2 (ja) | 2002-07-31 | 2010-03-31 | インターナショナル・ビジネス・マシーンズ・コーポレーション | プログラム変換方法、これを用いたデータ処理装置及びプログラム |
US7146607B2 (en) | 2002-09-17 | 2006-12-05 | International Business Machines Corporation | Method and system for transparent dynamic optimization in a multiprocessing environment |
US7290254B2 (en) | 2003-03-25 | 2007-10-30 | Intel Corporation | Combining compilation and instruction set translation |
US7219330B2 (en) * | 2003-06-26 | 2007-05-15 | Microsoft Corporation | Extensible metadata |
US7530059B2 (en) * | 2005-02-18 | 2009-05-05 | International Business Machines Corporation | Method for inlining native functions into compiled java code |
US7844960B2 (en) | 2005-09-14 | 2010-11-30 | International Business Machines Corporation | Optimizing software program execution during class loading phase |
US7475214B2 (en) * | 2006-08-16 | 2009-01-06 | International Business Machines Corporation | Method and system to optimize java virtual machine performance |
US8683453B2 (en) * | 2006-11-30 | 2014-03-25 | Motorola Mobility Llc | System for overriding interpreted byte-code with native code |
US8370818B2 (en) * | 2006-12-02 | 2013-02-05 | Time Warner Cable Inc. | Methods and apparatus for analyzing software interface usage |
US8341609B2 (en) * | 2007-01-26 | 2012-12-25 | Oracle International Corporation | Code generation in the presence of paged memory |
US8276131B2 (en) * | 2007-08-30 | 2012-09-25 | International Business Machines Corporation | Method and system for dynamic loop transfer by populating split variables |
KR100936401B1 (ko) * | 2007-10-17 | 2010-01-12 | 주식회사 에이디칩스 | 자바 바이트코드 변환방법 |
US8561040B2 (en) | 2009-03-10 | 2013-10-15 | Oracle America, Inc. | One-pass compilation of virtual instructions |
US10698708B2 (en) | 2009-08-04 | 2020-06-30 | International Business Machines Corporation | Optimizing just-in-time compilation in a network of nodes |
US8269745B2 (en) * | 2010-01-13 | 2012-09-18 | Texas Instruments Incorporated | 5-wire resistive touch screen pressure measurement circuit and method |
US8522222B2 (en) * | 2010-06-21 | 2013-08-27 | Microsoft Corporation | Tracing just-in-time compilation with pointers to local variables |
US8359496B1 (en) | 2010-08-31 | 2013-01-22 | Google Inc. | Fault-resistant just-in-time compiler |
-
2011
- 2011-09-09 US US13/229,594 patent/US8819649B2/en active Active
-
2012
- 2012-09-07 CN CN201210330925.3A patent/CN103064720B/zh active Active
- 2012-09-07 EP EP12829994.8A patent/EP2754044A4/en not_active Ceased
- 2012-09-07 WO PCT/US2012/054044 patent/WO2013036703A2/en unknown
-
2013
- 2013-08-21 HK HK13109781.9A patent/HK1182484A1/zh unknown
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102016799A (zh) * | 2008-04-21 | 2011-04-13 | 微软公司 | 提前编译 |
Non-Patent Citations (2)
Title |
---|
Portable Just-in-Time Specialization of Dynamically Typed Scripting Languages;KEVIN WILLIAMS等;《SPINGER BERLIN HELDELBERG,HELDELBERG》;20091010;摘要,第1节第3段,第2节第1段,第2.2节,第4.3节,第5.1节 * |
Trace-based just-in-time type specialization for dynamic languages;Andreas Gal等;《Proceedings of the 2009 ACM sigplan conference on prigramming languages design and inplementation》;20090620;全文 * |
Also Published As
Publication number | Publication date |
---|---|
EP2754044A2 (en) | 2014-07-16 |
EP2754044A4 (en) | 2015-03-04 |
HK1182484A1 (zh) | 2013-11-29 |
US20130067441A1 (en) | 2013-03-14 |
WO2013036703A2 (en) | 2013-03-14 |
CN103064720A (zh) | 2013-04-24 |
WO2013036703A3 (en) | 2013-05-02 |
US8819649B2 (en) | 2014-08-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103064720B (zh) | 简档导向的jit代码生成 | |
US9569342B2 (en) | Test strategy for profile-guided code execution optimizers | |
CN108139891B (zh) | 用于生成建议以纠正未定义标记错误的方法和系统 | |
JP5415557B2 (ja) | デバッギングのためのユーザ・スクリプト・コードの変換 | |
US8707263B2 (en) | Using a DSL for calling APIS to test software | |
US10521205B2 (en) | Hostable compiler utilizing type information from a host application | |
AU2014275115B2 (en) | Debugging native code by transitioning from execution in native mode to execution in interpreted mode | |
US9645912B2 (en) | In-place function modification | |
US9256401B2 (en) | Editor visualization of symbolic relationships | |
US20070044066A1 (en) | Embedded multi-language programming | |
US9152731B2 (en) | Detecting a broken point in a web application automatic test case | |
CN110704063B (zh) | 编译和执行智能合约的方法及装置 | |
US8533672B2 (en) | Extending the functionality of a host programming language | |
CN110673837B (zh) | 代码修复方法及装置、电子设备、计算机可读存储介质 | |
US20090241091A1 (en) | Language-Level Integration of Programming Models | |
US9678856B2 (en) | Annotated test interfaces | |
US10983771B1 (en) | Quality checking inferred types in a set of code | |
Keiser et al. | On‐demand JSON: A better way to parse documents? | |
US20140359579A1 (en) | Combined data and instruction test content | |
US9697021B2 (en) | Modifiable high-level intermediate representation of source code | |
US20080141218A1 (en) | Module facility for java script language | |
US8949774B2 (en) | Generated object model for test automation | |
Kim et al. | Static dalvik bytecode optimization for Android applications | |
Choi et al. | Typed js: A lightweight typed javascript engine for mobile devices | |
CN116737234A (zh) | 代码迁移方法、系统、计算设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1182484 Country of ref document: HK |
|
ASS | Succession or assignment of patent right |
Owner name: MICROSOFT TECHNOLOGY LICENSING LLC Free format text: FORMER OWNER: MICROSOFT CORP. Effective date: 20150727 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20150727 Address after: Washington State Applicant after: Micro soft technique license Co., Ltd Address before: Washington State Applicant before: Microsoft Corp. |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: GR Ref document number: 1182484 Country of ref document: HK |